Modularization of XHTML in XML Schema (original) (raw)

D. XHTML Schema Module Implementations

Contents

This appendix is normative.

This appendix contains implementations of the modules defined in XHTML Abstract Modules via XML Schema[XMLSCHEMA] when the XML Schema becomes a W3C approved recommendation.

D.1. XHTML Abstract Modules and XML Schema

The DTD modularization framework specification speaks at length on the subject of abstract modules. In brief, an "abstract" module is simply a set of objects, in this case objects within an ordered hierarchy of content objects, which encapsulates all of the features of the objects and assembles them into a coherent set. This set of objects and their properties is independent of its machine representation, and so is the same whether written in DTD module form, as a Schema module, or as a Java class.

The abstract modules described in XHTML-MOD are composed in a functional manner, and each "abstract module" contains data structures that are generally functionally similar. (There is no requirement that modules be created along functional lines; any other method that suits the author's purpose may be used instead.)

The framework described here makes use of the same abstract modules as in XHTML-MOD with few exceptions. In the case of the schema module representation, the relationship between the "abstract" modules and the schema modules is quite close. In each case there is a one-to-one relationship between the abstract and concrete modules (with one exception for the changes to the legacy module) and they share essentially the same names and data structures.

D.2. XHTML Schema Modules

D.2.1. XHTML Hub Document

This is the base schema document that includes all the other modules to create the complete schema.

The hub document included here intends to approximate XHTML 1.1 subject to the requirements given in Requirements. This schema should be fully equivalent to the DTD version except for schema-specific additions and changes. Any document instance considered valid using the XHTML 1.1 DTD must also be valid according to this schema.

<annotation>
    <documentation>

/**

/** *

/**

/** *

/ /*

/**

/**

/**

/**

D.3. XHTML SCHEMA Modular Framework

In order to take advantage of the XHTML Schema Modules, Schema authors need to define the content model for their language. XHTML provides a variety of tools to ease this effort. They are defined in a set of support modules, instantiated by a main Framework module:

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1">

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

/**

/**

/**

/**

/**

/**

Note that the module above references a content model module. This module is defined on a per-document type basis in addition to the document type driver file. The Modular framework also relies upon the following component modules:

D.3.1. XHTML Notations

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

<xsd:documentation source="xhtml-copyright-1.txt"/>

 <xsd:documentation>

/**

D.3.2. XHTML Datatypes

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.w3.org/1999/xhtml"
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.3.3. XHTML Common Attribute Definitions

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.3.4. XHTML Character Entities

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/** Character Entities for XHTML

 This module declares the set of character entities for XHTML,
 including the Latin 1, Symbol and Special character collections.

*/

<xsd:documentation source="xhtml-copyright-1.txt"/>

<!-- These are the entity sets for ISO Latin 1 characters for the XHTML -->
<xsd:notation name="XHTMLLatin1" 
                  id="xhtml-lat1" 
                  public="-//W3C//ENTITIES Latin 1 for XHTML//EN" 
                  system="http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"/>
<!-- These are the entity sets for special characters for the XHTML -->
<xsd:notation name="XHTMLSpecial" 
                  id="xhtml-special" 
                  public="-//W3C//ENTITIES Special for XHTML//EN" 
                  system="http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"/>
<!-- These are the entity sets for symbol characters for the XHTML -->
<xsd:notation name="XHTMLSymbol" 
                  id="xhtml-symbol" 
                  public="-//W3C//ENTITIES Symbols for XHTML//EN" 
                  system="http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"/>

D.4. XHTML Module Implementations

This section contains the formal definition of each of the XHTML Abstract Modules as a DTD module.

D.4.1. XHTML Core Modules

D.4.1.1. Structure

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

</xsd:annotation>

<!-- title: Document Title  -->
<!-- 
    The title element is not considered part of the flow of text.
    It should be displayed, for example as the page header or
    window title. Exactly one title is required per document.
-->
<xsd:attributeGroup name="title.attlist">
    <xsd:attributeGroup ref="I18n.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="title.type" mixed="true">
    <xsd:attributeGroup ref="title.attlist"/>
</xsd:complexType>
<xsd:element name="title" type="title.type"/>
<!-- head: Document Head -->
<xsd:group name="head.content">
    <xsd:sequence>
        <xsd:group ref="HeadOpts.mix"/>
        <xsd:element ref="title" minOccurs="1"/>
        <xsd:group ref="HeadOpts.mix"/>
    </xsd:sequence>
</xsd:group>
<xsd:attributeGroup name="head.attlist">
    <xsd:attribute name="profile" type="URI"/>
    <xsd:attributeGroup ref="I18n.attrib"/>
</xsd:attributeGroup>
<xsd:complexType name="head.type">
    <xsd:group ref="head.content"/>
    <xsd:attributeGroup ref="head.attlist"/>
</xsd:complexType>
<xsd:element name="head" type="head.type"/>
<!-- body: Document Body  -->
<xsd:attributeGroup name="body.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="body.type" mixed="true">
    <xsd:group ref="Block.mix" minOccurs="1"/>
    <xsd:attributeGroup ref="body.attlist"/>
</xsd:complexType>
<xsd:element name="body" type="body.type"/>
<!-- html: XHTML Document Element  -->
<!-- check value -->
<xsd:attributeGroup name="html.attlist">
    <xsd:attribute name="version" type="FPI" value="XHTML1.1"/>
    <xsd:attributeGroup ref="I18n.attrib"/>
</xsd:attributeGroup>
<xsd:complexType name="html.type">
    <xsd:sequence>
        <xsd:element ref="head"/>
        <xsd:element ref="body"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="html.attlist"/>
</xsd:complexType>
<xsd:element name="html" type="html.type"/>

D.4.1.2. Text

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

xsd:annotation xsd:documentation /**

*/ <xsd:include schemaLocation="text/xhtml-blkphras-1.xsd"/>

<xsd:annotation>
    <xsd:documentation>

/**

*/ <xsd:include schemaLocation="text/xhtml-blkstruct-1.xsd"/>

<xsd:annotation>
    <xsd:documentation>

/**

*/ <xsd:include schemaLocation="text/xhtml-inlphras-1.xsd"/>

<xsd:annotation>
    <xsd:documentation>

/**

*/ <xsd:include schemaLocation="text/xhtml-inlstruct-1.xsd"/>

D.4.1.3. Hypertext

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/** *

<xsd:documentation source="xhtml-copyright-1.txt"/>

</xsd:annotation>

<!-- a -->
<xsd:attributeGroup name="a.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:attribute name="href" type="URI"/>
    <xsd:attribute name="charset" type="Charset"/>
    <xsd:attribute name="type" type="ContentType"/>
    <xsd:attribute name="hreflang" type="LanguageCode"/>
    <xsd:attribute name="rel" type="LinkTypes"/>
    <xsd:attribute name="rev" type="LinkTypes"/>
    <xsd:attribute name="accesskey" type="Character"/>
    <xsd:attribute name="tabindex" type="Number"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="a.type" mixed="true">
    <xsd:group ref="InlNoAnchor.mix"/>
    <xsd:attributeGroup ref="a.attlist"/>
</xsd:complexType>
<xsd:element name="a" type="a.type"/>

D.4.1.4. Lists

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<!-- definition lists -->
<!-- dt: Definition Term  -->
<xsd:attributeGroup name="dt.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="dt.type" mixed="true">
    <xsd:group ref="Inline.mix"/>
    <xsd:attributeGroup ref="dt.attlist"/>
</xsd:complexType>

<xsd:element name="dt" type="dt.type"/>

<!-- dd: Definition Description  -->
<xsd:attributeGroup name="dd.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="dd.type" mixed="true">
    <xsd:group ref="Flow.mix"/>
    <xsd:attributeGroup ref="dd.attlist"/>
</xsd:complexType>

<xsd:element name="dd" type="dd.type"/>

<!-- dl: Definition List  --> 
<xsd:attributeGroup name="dl.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<!-- content model? -->
<xsd:group name="dl.content">
    <xsd:sequence minOccurs="1" maxOccurs="unbounded">
        <xsd:element ref="dt"/>
        <xsd:element ref="dd"/>
    </xsd:sequence>
</xsd:group>

<xsd:complexType name="dl.type" mixed="true">
    <xsd:group ref="dl.content"/>
    <xsd:attributeGroup ref="dl.attlist"/>
</xsd:complexType>

<xsd:element name="dl" type="dl.type"/>

<!-- li: List Item -->
<xsd:attributeGroup name="li.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="li.type" mixed="true">
    <xsd:group ref="Flow.mix"/>
    <xsd:attributeGroup ref="li.attlist"/>
</xsd:complexType>

<xsd:element name="li" type="li.type"/>

<!-- ol: Ordered List (numbered styles) -->
<xsd:attributeGroup name="ol.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="ol.type">
    <xsd:sequence minOccurs="1">
        <xsd:element ref="li"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="ol.attlist"/>
</xsd:complexType>

<xsd:element name="ol" type="ol.type"/>

<!-- ul: Unordered List -->
<xsd:attributeGroup name="ul.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="ul.type">
    <xsd:sequence minOccurs="1">
        <xsd:element ref="li"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="ul.attlist"/>
</xsd:complexType>

<xsd:element name="ul" type="ul.type"/>

D.4.2. Text Modules

D.4.2.1. Presentation

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

<xsd:documentation source="xhtml-copyright-1.txt"/>

    <xsd:documentation>

/**

*Elements defined here:

/**

*/ <xsd:include schemaLocation="pres/xhtml-blkpres-1.xsd"/>

<xsd:annotation>
    <xsd:documentation>

/**

*/ <xsd:include schemaLocation="pres/xhtml-inlpres-1.xsd"/>

D.4.2.2. Edit

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

/**

D.4.2.3. Bi-directional Text

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.4.3. Forms

D.4.3.1. Basic Forms

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<xsd:group name="BlkNoForm.mix"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:group ref="Heading.class"/> <xsd:group ref="List.class"/> <xsd:group ref="BlkStruct.class"/> <xsd:group ref="BlkPhras.class"/> <xsd:group ref="BlkPres.class"/> <xsd:group ref="Table.class"/> <xsd:group ref="Block.extra"/> <xsd:group ref="Misc.class"/> <xsd:attributeGroup name="form.attlist"> <xsd:attributeGroup ref="Common.attrib"/> <xsd:attribute name="action" type="URI"/> <xsd:attribute name="method" use="default" value="get"> xsd:simpleType <xsd:restriction base="NMTOKEN"> <xsd:enumeration value="get"/> <xsd:enumeration value="post"/> <xsd:attribute name="enctype" type="ContentType" use="fixed" value="application/x-www-form-urlencoded"/> <xsd:anyAttribute namespace="##other"/> <xsd:complexType name="form.type"> <xsd:group ref="BlkNoForm.mix"/> <xsd:attributeGroup ref="form.attlist"/> <xsd:element name="form" type="form.type"/> <xsd:group name="label.content"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="input"/> <xsd:element ref="select"/> <xsd:element ref="textarea"/> <xsd:group ref="InlStruct.class.class"/> <xsd:group ref="InlPhras.class"/> <xsd:group ref="I18n.class"/> <xsd:group ref="InlPres.class"/> <xsd:group ref="InlSpecial.class"/> <xsd:group ref="Misc.class"/> <xsd:attributeGroup name="label.attlist"> <xsd:attributeGroup ref="Common.attrib"/> <xsd:attribute name="for" type="Text"/> <xsd:attribute name="accesskey" type="Character"/> <xsd:anyAttribute namespace="##other"/> <xsd:complexType name="label.type" mixed="true"> <xsd:group ref="label.content"/> <xsd:attributeGroup ref="label.attlist"/> <xsd:element name="label" type="label.type"/> <xsd:attribute name="type" use="default" value="text"> xsd:simpleType <xsd:restriction base="NMTOKEN"> <xsd:enumeration value="text"/> <xsd:enumeration value="password"/> <xsd:enumeration value="checkbox"/> <xsd:enumeration value="radio"/> <xsd:enumeration value="submit"/> <xsd:enumeration value="reset"/> <xsd:enumeration value="hidden"/> <xsd:attributeGroup name="input.attlist"> <xsd:attributeGroup ref="Common.attrib"/> <xsd:attribute ref="type"/> <xsd:attribute name="name" type="Text"/> <xsd:attribute name="value" type="Text"/> <xsd:attribute name="checked" type="Text"/> <xsd:attribute name="size" type="Number"/> <xsd:attribute name="maxlength" type="Number"/> <xsd:attribute name="src" type="URI"/> <xsd:attribute name="accesskey" type="Character"/> <xsd:anyAttribute namespace="##other"/> <xsd:complexType name="input.type"> <xsd:attributeGroup ref="input.attlist"/> <xsd:element name="input" type="input.type"/> <xsd:attributeGroup name="select.attlist"> <xsd:attributeGroup ref="Common.attrib"/> <xsd:attribute name="name" type="Text"/> <xsd:attribute name="size" type="Number"/> <xsd:attribute name="multiple" type="Text"/> <xsd:anyAttribute namespace="##other"/> <xsd:complexType name="select.type"> <xsd:sequence minOccurs="1" maxOccurs="unbounded"> <xsd:element ref="option"/> <xsd:attributeGroup ref="select.attlist"/> <xsd:element name="select" type="select.type"/> <xsd:attributeGroup name="option.attlist"> <xsd:attributeGroup ref="Common.attrib"/> <xsd:attribute name="selected" type="Text"/> <xsd:attribute name="value" type="Text"/> <xsd:anyAttribute namespace="##other"/> <xsd:complexType name="option.type" mixed="true"> <xsd:attributeGroup ref="option.attlist"/> <xsd:element name="option" type="option.type"/> <xsd:attributeGroup name="textarea.attlist"> <xsd:attributeGroup ref="Common.attrib"/> <xsd:attribute name="name" type="Text"/> <xsd:attribute name="rows" type="Number"/> <xsd:attribute name="cols" type="Number"/> <xsd:attribute name="accesskey" type="Character"/> <xsd:anyAttribute namespace="##other"/> <xsd:complexType name="textarea.type" mixed="true"> <xsd:attributeGroup ref="textarea.attlist"/> <xsd:element name="textarea" type="textarea.type"/>

D.4.3.2. Forms

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.4.4. Tables

D.4.4.1. Basic Tables

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<!-- 
    horizontal alignment attributes for cell contents
-->

<xsd:attributeGroup name="CellHAlign.attrib">
    <xsd:attribute name="align">
        <xsd:simpleType>
            <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="left"/>
                <xsd:enumeration value="center"/>
                <xsd:enumeration value="right"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:attribute>
</xsd:attributeGroup>

<!-- 
    vertical alignment attributes for cell contents
-->

<xsd:attributeGroup name="CellVAlign.attrib">
    <xsd:attribute name="align">
        <xsd:simpleType>
            <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="top"/>
                <xsd:enumeration value="middle"/>
                <xsd:enumeration value="bottom"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:attribute>
</xsd:attributeGroup>

<!-- 
    scope is simpler than axes attribute for common tables
-->

<xsd:attributeGroup name="scope.attrib">
    <xsd:attribute name="align">
        <xsd:simpleType>
            <xsd:restriction base="xsd:NMTOKEN">
                <xsd:enumeration value="row"/>
                <xsd:enumeration value="col"/>
            </xsd:restriction>
        </xsd:simpleType>
    </xsd:attribute>
</xsd:attributeGroup>

<!-- table: Table Element  -->

<!-- table: Table Element  -->
<xsd:attributeGroup name="table.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:attribute name="summary" type="Text"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:group name="table.content">
    <xsd:sequence>
        <xsd:element ref="caption" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="tr" minOccurs="1" maxOccurs="unbounded" />
    </xsd:sequence>
</xsd:group>

<xsd:complexType name="table.type" >
    <xsd:group ref="table.content"/>
    <xsd:attributeGroup ref="table.attlist"/>
</xsd:complexType>
<xsd:element name="table" type="table.type"/>

<!-- caption: Table Caption -->

<xsd:attributeGroup name="caption.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:attribute name="summary" type="Text"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="caption.type" mixed="true" >
    <xsd:group ref="Inline.mix"/>
    <xsd:attributeGroup ref="caption.attlist"/>
</xsd:complexType>

<xsd:element name="caption" type="caption.type"/>

<!-- tr: Table Row  -->

<xsd:attributeGroup name="tr.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:attributeGroup ref="CellHAlign.attrib"/>
    <xsd:attributeGroup ref="CellVAlign.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:group name="tr.content">
    <xsd:choice maxOccurs="unbounded">
        <xsd:element ref="th"/>
        <xsd:element ref="td"/>
    </xsd:choice>
</xsd:group>
<xsd:complexType name="tr.type">
    <xsd:group ref="tr.content"/>
    <xsd:attributeGroup ref="tr.attlist"/>
</xsd:complexType>
<xsd:element name="tr" type="tr.type"/>

<!-- th: Table Header Cell  -->
<!-- 
    th is for header cells, td for data,
    but for cells acting as both use td
-->
<xsd:attributeGroup name="th.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:attribute name="abbr" type="Text"/>
    <xsd:attribute name="axis" type="Text"/>
    <xsd:attribute name="headers" type="xsd:IDREFS"/>
    <xsd:attributeGroup ref="scope.attrib"/>
    <xsd:attribute name="rowspan" type="Number" use="default" value="1"/>
    <xsd:attribute name="colspan" type="Number" use="default" value="1"/>
    <xsd:attributeGroup ref="CellHAlign.attrib"/>
    <xsd:attributeGroup ref="CellVAlign.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="th.type" mixed="true">
    <xsd:group ref="FlowNoTable.mix"/>
    <xsd:attributeGroup ref="th.attlist"/>
</xsd:complexType>
<xsd:element name="th" type="th.type"/>

<!-- td: Table Data Cell ... -->

<!-- td: Table Data Cell -->
<xsd:attributeGroup name="td.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:attribute name="abbr" type="Text"/>
    <xsd:attribute name="axis" type="Text"/>
    <xsd:attribute name="headers" type="xsd:IDREFS"/>
    <xsd:attributeGroup ref="scope.attrib"/>
    <xsd:attribute name="rowspan" type="Number" use="default" value="1"/>
    <xsd:attribute name="colspan" type="Number" use="default" value="1"/>
    <xsd:attributeGroup ref="CellHAlign.attrib"/>
    <xsd:attributeGroup ref="CellVAlign.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="td.type" mixed="true">
    <xsd:group ref="FlowNoTable.mix"/>
    <xsd:attributeGroup ref="td.attlist"/>
</xsd:complexType>
<xsd:element name="td" type="td.type"/>

D.4.4.2. Tables

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.4.5. Image

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<!-- 
    To avoid problems with text-only UAs as well as to make
    image content understandable and navigable to users of
    non-visual UAs, you need to provide a description with
    the 'alt' attribute, and avoid server-side image maps.
-->
<xsd:attributeGroup name="image.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:attribute name="src" type="URI" use="required"/>
    <xsd:attribute name="alt" type="Text" use="required"/>
    <xsd:attribute name="longdesc" type="URI"/>
    <xsd:attribute name="height" type="Length"/>
    <xsd:attribute name="width" type="Length"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<!-- img is EMPTY -->
<xsd:complexType name="image.type">
    <xsd:attributeGroup ref="image.attlist"/>
</xsd:complexType>

<xsd:element name="img" type="image.type"/>

D.4.6. Client-side Image Map

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.4.7. Server-side Image Map

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

<xsd:documentation source="xhtml-copyright-1.txt"/> xsd:documentation /**

D.4.8. Applet

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

</xsd:annotation>

<xsd:attributeGroup name="applet.attlist">
    <xsd:attributeGroup ref="Core.attrib"/>
    <xsd:attribute name="alt" type="Text"/>
    <xsd:attribute name="archive" type="URI"/>
    <xsd:attribute name="code" type="URI"/>
    <xsd:attribute name="codebase" type="URI"/>
    <xsd:attribute name="object" type="URI"/>
    <xsd:attribute name="width" type="Length"/>
    <xsd:attribute name="height" type="Length"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:group name="applet.content">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
        <xsd:element ref="param"/>
        <xsd:group ref="Flow.mix"/>
    </xsd:choice>
</xsd:group>

<xsd:complexType name="applet.type">
    <xsd:group ref="applet.content"/>
    <xsd:attributeGroup ref="applet.attlist"/>
</xsd:complexType>

<xsd:element name="applet" type="applet.type"/>

D.4.9. Object

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<xsd:attributeGroup name="object.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:attribute name="declare" type="Text"/>
    <xsd:attribute name="classid" type="URI"/>
    <xsd:attribute name="codebase" type="URI"/>
    <xsd:attribute name="data" type="URI"/>
    <xsd:attribute name="type" type="ContentType"/>
    <xsd:attribute name="codetype" type="ContentType"/>
    <xsd:attribute name="archive" type="URIs"/>
    <xsd:attribute name="standby" type="Text"/>
    <xsd:attribute name="height" type="Length"/>
    <xsd:attribute name="width" type="Length"/>
    <xsd:attribute name="name" type="Text"/>
    <xsd:attribute name="tabindex" type="Number"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>


<xsd:group name="object.content">
    <xsd:choice minOccurs="0" maxOccurs="unbounded">
        <xsd:group ref="Flow.mix"/>
        <xsd:element ref="param"/>
    </xsd:choice>
</xsd:group>

<xsd:complexType name="object.type" mixed="true">
    <xsd:group ref="object.content" />
    <xsd:attributeGroup ref="object.attlist"/>
</xsd:complexType>

<xsd:element name="object" type="object.type"/>

D.4.10. Frames

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"> xsd:annotation xsd:documentation /**

/** *

/**

D.4.11. Target

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.4.12. Iframe

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.4.13. Intrinsic Events

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

D.4.14. Metainformation

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.4.15. Scripting

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.4.16. Stylesheet

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.4.17. Style Attribute

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

<xsd:documentation source="xhtml-copyright-1.txt"/> <xsd:attributeGroup name="style.inline.attlist"> <xsd:attribute name="style" type="Text" /> <xsd:redefine schemaLocation="../../req/core/xhtml-attrib-1.xsd"> <xsd:attributeGroup name="Core.extra.attrib">

    <xsd:extension base="object.attlist">
    
        <xsd:attributeGroup ref="style.inline.attlist" />
        
    </xsd:extension>
    
</xsd:attributeGroup>

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<!-- link: Media-Independent Link -->
<xsd:attributeGroup name="link.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:attribute name="charset" type="Charset"/>
    <xsd:attribute name="href" type="URI"/>
    <xsd:attribute name="hreflang" type="LanguageCode"/>
    <xsd:attribute name="type" type="ContentType"/>
    <xsd:attribute name="rel" type="LinkTypes"/>
    <xsd:attribute name="rev" type="LinkTypes"/>
    <xsd:attribute name="media" type="MediaDesc"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<!-- link is EMPTY -->
<xsd:complexType name="link.type">
    <xsd:attributeGroup ref="link.attlist"/>
</xsd:complexType>
<xsd:element name="link" type="link.type"/>

D.4.19. Base

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<xsd:attributeGroup name="base.attlist">
    <xsd:attribute name="href" type="URI" use="required" />
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="base.type">
    <xsd:attributeGroup ref="base.attlist"/>
</xsd:complexType>

<xsd:element name="base" type="base.type"/>

D.4.20. Name Identification

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<xsd:attributeGroup name="form.name.attlist">
    <xsd:attribute name="name" type="Text"/>
</xsd:attributeGroup>

<xsd:attributeGroup name="img.name.attlist">
    <xsd:attribute name="name" type="Text"/>
</xsd:attributeGroup>

<xsd:attributeGroup name="a.name.attlist">
    <xsd:attribute name="name" type="Text"/>
</xsd:attributeGroup>

<xsd:attributeGroup name="map.name.attlist">
    <xsd:attribute name="name" type="Text"/>
</xsd:attributeGroup>

<xsd:attributeGroup name="applet.name.attlist">
    <xsd:attribute name="name" type="Text"/>
</xsd:attributeGroup>

<xsd:attributeGroup name="frame.name.attlist">
    <xsd:attribute name="name" type="Text"/>
</xsd:attributeGroup>

<xsd:attributeGroup name="iframe.name.attlist">
    <xsd:attribute name="name" type="Text"/>
</xsd:attributeGroup>

D.4.21. Legacy

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/> xsd:annotation xsd:documentation /**

/**

*/ <xsd:include schemaLocation="misc/xhtml-misc-1.xsd"/>

D.4.22. Ruby

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

</xsd:annotation>

<!-- Fragments for the content model of the ruby element -->

<xsd:group name="Ruby.content.simple.fallback" >
    <xsd:sequence>
        <xsd:element ref="rb"  />
        <xsd:element ref="rp" minOccurs="0" maxOccurs="1" />
        <xsd:element ref="rt" />
        <xsd:element ref="rp" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
</xsd:group>

<xsd:group name="Ruby.content.simple" >
    <xsd:sequence>
        <xsd:element ref="rb"  />
        <xsd:element ref="rt" />
    </xsd:sequence>
</xsd:group>

<xsd:group name="Ruby.content.group" >
    <xsd:sequence>
        <xsd:element ref="rbc"  />
        <xsd:element ref="rtc" />
        <xsd:element ref="rtc" minOccurs="0" maxOccurs="1"  />
    </xsd:sequence>
</xsd:group>

<!-- 
    Content models of the rb and the rt elements are intended to
     allow other inline-level elements of its parent markup language,
     but it should not include ruby descendent elements. The following
     parameter entity Noruby.content can be used to redefine
     those content models with minimum effort.  It's defined as
     '( #PCDATA )' by default.
-->

<xsd:complexType name="Noruby.content" mixed="true">

<!-- ruby element  -->
<!-- 
    Ruby Common Attributes

     The following optional ATTLIST declarations provide an easy way
     to define common attributes for ruby elements.  These declarations
     are ignored by default.

     Ruby elements are intended to have common attributes of its
     parent markup language.  
-->

<xsd:attributeGroup name="Ruby.common.attrib">
</xsd:attributeGroup>

<!-- common attributes for ruby  -->

<xsd:attributeGroup name="Ruby.common.attlist">
    <xsd:attributeGroup ref="Ruby.common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:group name="Ruby.content">
    <xsd:sequence>
        <xsd:group ref="Ruby.content.simple"  />
        <xsd:group ref="Ruby.content.group"  />
    </xsd:sequence>
</xsd:group>

<xsd:complexType name="Ruby.type" >
    <xsd:group ref="Ruby.content"  />
    <xsd:attributeGroup ref="Ruby.common.attlist"/>
</xsd:complexType>

<xsd:element name="ruby" type="Ruby.type" />

<!-- rbc (ruby base component) element -->

<!-- common attributes for rbc  -->

<xsd:attributeGroup name="Rbc.common.attlist">
    <xsd:attributeGroup ref="Ruby.common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="Rbc.type" >
    <xsd:sequence minOccurs="1" maxOccurs="unbounded" >
        <xsd:element ref="rb" />
    </xsd:sequence>
    <xsd:attributeGroup ref="Rbc.common.attlist"/>
</xsd:complexType>

<xsd:element name="rbc" type="Rbc.type" />

<!-- rtc (ruby text component) element  -->

<!-- common attributes for rtc  -->

<xsd:attributeGroup name="Rtc.common.attlist">
    <xsd:attributeGroup ref="Ruby.common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="Rtc.type" >
    <xsd:sequence minOccurs="1" maxOccurs="unbounded" >
        <xsd:element ref="rt" />
    </xsd:sequence>
    <xsd:attributeGroup ref="Rtc.common.attlist"/>
</xsd:complexType>

<xsd:element name="rtc" type="Rtc.type" />

<!-- rb (ruby base) element -->

<!-- common attributes for rb -->
<xsd:attributeGroup name="Rb.common.attlist">
    <xsd:attributeGroup ref="Ruby.common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="Rb.type" mixed="true">
    <xsd:attributeGroup ref="Rb.common.attlist"/>
</xsd:complexType>

<xsd:element name="rb" type="Rb.type" />

<!-- rt (ruby text) element  -->

<!-- 
     Rt.content; uses Noruby.content; as its content model,
     which is '( #PCDATA )' by default. It may be overridden
     by other modules to allow other inline-level elements
     of its parent markup language, but it should not include
     ruby descendent elements.
-->

<!-- common attributes for rt  -->

<!-- rbspan attribute is used for group ruby only .. -->
<xsd:attributeGroup name="Rt.common.attlist">
    <xsd:attribute name="rbspan" use="fixed" value="1" />
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="Rt.type" mixed="true">
    <xsd:attributeGroup ref="Rt.common.attlist"/>
</xsd:complexType>

<xsd:element name="rt" type="Rt.type" />

<!-- rp (ruby parenthesis) element  -->

<!-- common attributes for rp  -->
<xsd:attributeGroup name="Rp.common.attlist">
    <xsd:attributeGroup ref="Ruby.common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>

<xsd:complexType name="Rp.type" mixed="true" >
    <xsd:attributeGroup ref="Rp.common.attlist"/>
</xsd:complexType>

<xsd:element name="rp" type="Rp.type" />

D.5. XHTML Schema Support Modules

The modules in this section are elements of the XHTML DTD implementation that, while hidden from casual users, are important to understand when creating derivative markup languages using the Modularization architecture.

D.5.1. Block Phrasal

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/** *Block Phrasal *

D.5.2. Block Presentational

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<!-- hr is EMPTY -->
<xsd:attributeGroup name="hr.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="hr.type">
    <xsd:attributeGroup ref="hr.attlist"/>
</xsd:complexType>
<xsd:element name="hr" type="hr.type"/>

D.5.3. Block Structural

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.5.4. Inline Phrasal

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

xsd:annotation xsd:documentation /**

D.5.5. Inline Presentational

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

xsd:annotation xsd:documentation /**

D.5.6. Inline Structural

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

xsd:annotation xsd:documentation /** *

<xsd:documentation source="xhtml-copyright-1.txt"/>

<!-- br is EMPTY -->
<xsd:attributeGroup name="br.attlist">
    <xsd:attributeGroup ref="Core.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="br.type">
    <xsd:attributeGroup ref="br.attlist"/>
</xsd:complexType>
<xsd:element name="br" type="br.type"/>
<!-- span -->
<xsd:attributeGroup name="span.attlist">
    <xsd:attributeGroup ref="Common.attrib"/>
    <xsd:anyAttribute namespace="##other"/>
</xsd:attributeGroup>
<xsd:complexType name="span.type" mixed="true">
    <xsd:group ref="Inline.mix"/>
    <xsd:attributeGroup ref="span.attlist"/>
</xsd:complexType>
<xsd:element name="span" type="span.type"/>

D.5.7. Param

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.5.8. Miscellaneous Legacy

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

D.5.9. Legacy Frames

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

<xsd:documentation source="xhtml-copyright-1.txt"/>

<xsd:annotation>
    <xsd:documentation>

/**

/**

*/ <xsd:include schemaLocation="frames/xhtml-target-1.xsd"/>

<xsd:annotation>
    <xsd:documentation>

/**

*/ <xsd:include schemaLocation="frames/xhtml-iframe-1.xsd"/>

D.5.10. Optional Module Hub

<schema targetNamespace="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/2000/10/XMLSchema" elementFormDefault="unqualified" version="1.1"

<annotation>
    <documentation>

/**

/** *

./**

/**

/**

/**

/ /*

/ /*

/ /*

/ /*

/ /*

/**

/ /*

/ /*

/ /*

*/

/** * Nameident module * Attributes defined here: * name (for retro browsers) * */ /** * Legacy module * Elements defined here: * font, basefont, center, s, strike, u, dir, menu, isindex * frame, frameset, noframes, iframe * (plus additional datatypes and attributes) * */ /** * Basic modules for forms and tables * * Note that to use these modules you must comment out * the XHTML Forms and Tables modules. * */ /** * Basic Forms module * * Note that this module is not used in XHTML. It is designed * for use with XHTML-Basic. * *Elements defined here: * form, label, input, select, option, textarea * */ /** * Basic Tables module * * Note that this module is not used in XHTML. It is designed * for use with XHTML-Basic. * *Elements defined here: * form, label, input, select, option, textarea * */

D.5.11. Core Hub Module

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

xsd:annotation xsd:documentation /**

/** *

/**

/**

*/ <xsd:include schemaLocation="core/xhtml-text-1.xsd"/>

<xsd:annotation>
    <xsd:documentation>

/**

*/ <xsd:include schemaLocation="core/xhtml-hypertext-1.xsd"/>

<xsd:annotation>
    <xsd:documentation>

/**

*/ <xsd:include schemaLocation="core/xhtml-list-1.xsd"/>

<xsd:annotation>
    <xsd:documentation>

/**

*/ <xsd:include schemaLocation="core/xhtml-ruby-1.xsd"/>

<xsd:annotation>
    <xsd:documentation>

/**

D.5.12. XHTML 1.1 Content Model

<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2000/10/XMLSchema http://www.w3.org/2000/10/XMLSchema.xsd" elementFormDefault="unqualified" version="1.1"

<xsd:annotation>
    <xsd:documentation>

/**

/** *

/**

/**