C. XHTML Schema Module Implementations

Contents

This appendix is normative.

This appendix contains implementations of the modules defined in XHTML Abstract Modules via XML Schemas. These module implementations can be used by XHTML Family Document Types. There are direct links to the various files, and the files are also contained in the "Gzip'd TAR" and "Zip" archives linked to at the top of this document. Please note that the files targeted by the "latest version" links may change slowly over time. See the W3C XHTML2 Working Group home page for more information.

C.1. Character Entities

XML Schema uses DTDs to support character entities. The DTD implementation of XHTML Modularization [XHTMLMOD] defines the required character entities for XHTML. The schema implementation includes the set of character entities for XHTML, including the Latin 1, Symbol and Special character collections defined as part the DTD implementation of XHTML Modularization [XHTMLMOD].

Even though the named character entities are defined using DTDs and included in the Schema Modularization Framework, schema processors typically do not expand the named character entities in an XML document instance. The html DOCTYPE declaration must still be present if one wishes to use named entities defined by this Framework module

C.2. XHTML Schema Modular Framework

The Framework modules instantiates a set of support model that define the common Datatypes, Notations, Common attribute definitions and character entities. These are defined in a set of support modules, instantiated by a main Framework module:

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-framework-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-framework-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
 elementFormDefault="qualified"
>
    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Modular Framework support module for XHTML
      $Id: xhtml-framework-1.xsd,v 1.5 2005/09/26 23:37:47 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      XHTML Modular Framework
      This required module instantiates the necessary modules
      needed to support the XHTML modularization framework.

      The Schema modules instantiated are:
        +  notations
        +  datatypes
        +  common attributes
        +  character entities
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_commonatts"/>
    </xs:annotation>
    <!-- xs:include schemaLocation="xhtml-notations-1.xsd">
        <xs:annotation>
            <xs:documentation>
         Notations module
         Declares XHTML notations for Attribute data types
      </xs:documentation>
        </xs:annotation>
    </xs:include -->
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd">
        <xs:annotation>
            <xs:documentation>
        This module defines XHTML Attribute DataTypes
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstraction.html#s_common_attrtypes"/>
        </xs:annotation>
    </xs:import>
    <xs:include schemaLocation="xhtml-attribs-1.xsd">
        <xs:annotation>
            <xs:documentation>
        This module defines Common attributes for XHTML
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_commonatts"/>
        </xs:annotation>
    </xs:include>
    <!-- xs:include schemaLocation="xhtml-charent-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Character entities module
        Note: Entities are not supported in XML Schema
        The Schema Module uses DTDs to define Entities

        This module defines
          + XHTML Latin 1 Character Entities
          + XHTML Special Characters
          + XHTML Mathematical, Greek, and Symbolic Characters
    </xs:documentation>
        </xs:annotation>
    </xs:include -->
</xs:schema>

The Modular Schema framework also relies upon the following component modules:

C.2.1. XHTML Notations

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-notations-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-notations-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      Notations module
      This is the XML Schema module for data type notations for XHTML
      $Id: xhtml-notations-1.xsd,v 1.5 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Notations module
      Defines the XHTML notations, many of these imported from 
      other specifications and standards. When an existing FPI is
      known, it is incorporated here.            
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstraction.html#s_common_attrtypes"/>
    </xs:annotation>
    <!-- W3C XML 1.0 Recommendation -->
    <xs:notation name="w3c-xml" public="ISO 8879//NOTATION Extensible Markup Language (XML) 1.0//EN"/>
    <!-- XML 1.0 CDATA -->
    <xs:notation name="cdata" public="-//W3C//NOTATION XML 1.0: CDATA//EN"/>
    <!-- SGML Formal Public Identifiers -->
    <xs:notation name="fpi" public="ISO 8879:1986//NOTATION Formal Public Identifier//EN"/>
    <!-- XHTML Notations ... -->
    <!-- Length defined for cellpadding/cellspacing -->
    <!-- nn for pixels or nn% for percentage length -->
    <!-- a single character, as per section 2.2 of [XML] -->
    <xs:notation name="character" public="-//W3C//NOTATION XHTML Datatype: Character//EN"/>
    <!-- a character encoding, as per [RFC2045] -->
    <xs:notation name="charset" public="-//W3C//NOTATION XHTML Datatype: Charset//EN"/>
    <!-- a space separated list of character encodings, as per [RFC2045] -->
    <xs:notation name="charsets" public="-//W3C//NOTATION XHTML Datatype: Charsets//EN"/>
    <!-- media type, as per [RFC2045] -->
    <xs:notation name="contentType" public="-//W3C//NOTATION XHTML Datatype: ContentType//EN"/>
    <!-- comma-separated list of media types, as per [RFC2045] -->
    <xs:notation name="contentTypes" public="-//W3C//NOTATION XHTML Datatype: ContentTypes//EN"/>
    <!-- date and time information. ISO date format -->
    <xs:notation name="datetime" public="-//W3C//NOTATION XHTML Datatype: Datetime//EN"/>
    <!-- a language code, as per [RFC3066] -->
    <xs:notation name="languageCode" public="-//W3C//NOTATION XHTML Datatype: LanguageCode//EN"/>
    <!-- nn for pixels or nn% for percentage length -->
    <xs:notation name="length" public="-//W3C//NOTATION XHTML Datatype: Length//EN"/>
    <!-- space-separated list of link types -->
    <xs:notation name="linkTypes" public="-//W3C//NOTATION XHTML Datatype: LinkTypes//EN"/>
    <!-- single or comma-separated list of media descriptors -->
    <xs:notation name="mediaDesc" public="-//W3C//NOTATION XHTML Datatype: MediaDesc//EN"/>
    <!-- pixel, percentage, or relative -->
    <xs:notation name="multiLength" public="-//W3C//NOTATION XHTML Datatype: MultiLength//EN"/>
    <!-- one or more digits (NUMBER) -->
    <xs:notation name="number" public="-//W3C//NOTATION XHTML Datatype: Number//EN"/>
    <!-- one or more digits (NUMBER) -->
    <xs:notation name="pixels" public="-//W3C//NOTATION XHTML Datatype: Pixels//EN"/>
    <!-- script expression -->
    <xs:notation name="script" public="-//W3C//NOTATION XHTML Datatype: Script//EN"/>
    <!-- textual content -->
    <xs:notation name="text" public="-//W3C//NOTATION XHTML Datatype: Text//EN"/>
    <!-- a Uniform Resource Identifier, see [URI] -->
    <xs:notation name="uri" public="-//W3C//NOTATION XHTML Datatype: URI//EN"/>
    <!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
    <xs:notation name="uris" public="-//W3C//NOTATION XHTML Datatype: URIs//EN"/>
</xs:schema>

C.2.2. XHTML Datatypes

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-datatypes-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-datatypes-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns="http://www.w3.org/1999/xhtml/datatypes/"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
 targetNamespace="http://www.w3.org/1999/xhtml/datatypes/"
 elementFormDefault="qualified"
>
    <xs:annotation>
        <xs:documentation>
          XHTML Datatypes
          This is the XML Schema datatypes module for XHTML
          
          Defines containers for the XHTML datatypes, many of
          these imported from other specifications and standards.
          
          $Id: xhtml-datatypes-1.xsd,v 1.12 2009/09/30 15:12:48 ahby Exp $
        </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstraction.html#s_common_attrtypes"/>
    </xs:annotation>

    <!-- nn for pixels or nn% for percentage length -->
    <xs:simpleType name="Length">
        <xs:union memberTypes="xs:nonNegativeInteger">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <xs:pattern value="\d+[%]|\d*\.\d+[%]"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <!-- space-separated list of link types -->
    <xs:simpleType name="LinkTypes">
        <xs:list itemType="xs:NMTOKEN"/>
    </xs:simpleType>
    <!-- single or comma-separated list of media descriptors -->
    <xs:simpleType name="MediaDesc">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <!-- pixel, percentage, or relative -->
    <xs:simpleType name="MultiLength">
        <xs:union memberTypes="xh11d:Length">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <xs:pattern value="\d*\*"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <!-- one or more digits (NUMBER) -->
    <xs:simpleType name="Number">
        <xs:restriction base="xs:nonNegativeInteger"/>
    </xs:simpleType>
    <!-- integer representing length in pixels -->
    <xs:simpleType name="Pixels">
        <xs:restriction base="xs:nonNegativeInteger"/>
    </xs:simpleType>
    <!-- script expression -->
    <xs:simpleType name="Script">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <!-- sixteen color names or RGB color expression-->
    <xs:simpleType name="Color">
        <xs:union memberTypes="xs:NMTOKEN">
            <xs:simpleType>
                <xs:restriction base="xs:token">
                    <xs:pattern value="#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:union>
    </xs:simpleType>
    <!-- textual content -->
    <xs:simpleType name="Text">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <!-- Imported Datatypes  -->
    <!-- a single character, as per section 2.2 of [XML] -->
    <xs:simpleType name="Character">
        <xs:restriction base="xs:string">
            <xs:length value="1" fixed="true"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- a character encoding, as per [RFC2045] -->
    <xs:simpleType name="Charset">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <!-- a space separated list of character encodings, as per [RFC2045] -->
    <xs:simpleType name="Charsets">
        <xs:list itemType="Charset"/>
    </xs:simpleType>
    <!-- media type, as per [RFC2045] -->
    <xs:simpleType name="ContentType">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <!-- comma-separated list of media types, as per [RFC2045] -->
    <xs:simpleType name="ContentTypes">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <!-- date and time information. ISO date format -->
    <xs:simpleType name="Datetime">
        <xs:restriction base="xs:dateTime"/>
    </xs:simpleType>
    <!-- formal public identifier, as per [ISO8879] -->
    <xs:simpleType name="FPI">
        <xs:restriction base="xs:normalizedString"/>
    </xs:simpleType>

    <!-- a window name as used in the target attribute -->
    <xs:simpleType name="FrameTarget">
      <xs:union>
        <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="_blank"/>
            <xs:enumeration value="_self"/>
            <xs:enumeration value="_parent"/>
            <xs:enumeration value="_top"/>
          </xs:restriction>
        </xs:simpleType>
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:pattern value="[a-zA-Z].*"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:union>
    </xs:simpleType>
    
    <!-- a language code, as per [RFC3066] -->
    <xs:simpleType name="LanguageCode">
        <xs:restriction base="xs:language"/>
    </xs:simpleType>
    <!-- a comma separated list of language ranges -->
    <xs:simpleType name="LanguageCodes">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <!-- a Uniform Resource Identifier, see [URI] -->
    <xs:simpleType name="URI">
        <xs:restriction base="xs:anyURI"/>
    </xs:simpleType>
    <!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
    <xs:simpleType name="URIs">
        <xs:list itemType="xs:anyURI"/>
    </xs:simpleType>
    <!-- a relative URI reference to a fragment ID -->
    <xs:simpleType name="URIREF">
        <xs:restriction base="xs:string">
            <xs:pattern value="#\c*" />
            <xs:minLength value="1"/>
        </xs:restriction>
    </xs:simpleType> 
    <!-- comma-separated list of MultiLength -->
    <xs:simpleType name="MultiLengths">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <!-- character Data -->
    <xs:simpleType name="CDATA">
        <xs:restriction base="xs:string"/>
    </xs:simpleType>
    <!-- CURIE placeholder datatypes -->
    <xs:simpleType name="CURIE">
        <xs:restriction base="xs:string">
            <xs:pattern value="(([\i-[:]][\c-[:]]*)?:)?.+" />
            <xs:minLength value="1"/>
        </xs:restriction>
    </xs:simpleType> 
    <xs:simpleType name="CURIEs">
        <xs:list itemType="xh11d:CURIE"/>
    </xs:simpleType>
    <xs:simpleType name="SafeCURIE">
    <xs:restriction base="xs:string">
        <xs:pattern value="\[(([\i-[:]][\c-[:]]*)?:)?.+\]" />
        <xs:minLength value="3"/>
    </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="SafeCURIEs">
        <xs:list itemType="xh11d:SafeCURIE"/>
    </xs:simpleType>
    <xs:simpleType name="URIorSafeCURIE">
        <xs:union memberTypes="xs:anyURI xh11d:SafeCURIE" />
    </xs:simpleType>
    <xs:simpleType name="URIorSafeCURIEs">
        <xs:list itemType="xh11d:URIorSafeCURIE"/>
    </xs:simpleType>
</xs:schema>

C.2.3. XHTML Common Attribute Definitions

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-attribs-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-attribs-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
      This is the XML Schema common attributes module for XHTML
      $Id: xhtml-attribs-1.xsd,v 1.9 2009/11/18 17:59:51 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_commonatts"/>
    </xs:annotation>
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
             schemaLocation="http://www.w3.org/2001/xml.xsd">
        <xs:annotation>
            <xs:documentation>
        This import brings in the XML namespace attributes
        The module itself does not provide the schemaLocation
        and expects the driver schema to provide the
        actual SchemaLocation.
      </xs:documentation>
        </xs:annotation>
    </xs:import>
    <xs:attributeGroup name="xhtml.id">
        <xs:attribute name="id" type="xs:ID"/>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.class">
        <xs:attribute name="class" type="xs:string"/>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.title">
        <xs:attribute name="title" type="xs:string"/>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.Core.attrib">
        <xs:attribute ref="xml:space" fixed="preserve"/>
        <xs:attributeGroup ref="xhtml.id"/>
        <xs:attributeGroup ref="xhtml.class"/>
        <xs:attributeGroup ref="xhtml.title"/>
        <xs:attributeGroup ref="xhtml.Core.extra.attrib"/>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.I18n.attrib">
        <xs:attribute ref="xml:lang" />
        <xs:attributeGroup ref="xhtml.I18n.extra.attrib"/>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.Common.attrib">
        <xs:attributeGroup ref="xhtml.Core.attrib"/>
        <xs:attributeGroup ref="xhtml.I18n.attrib"/>
        <xs:attributeGroup ref="xhtml.Common.extra"/>
    </xs:attributeGroup>
    <!-- Global attributes -->
    <xs:attribute name="id" type="xs:ID"/>
    <xs:attribute name="class" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
    <xs:attributeGroup name="xhtml.Global.core.attrib">
        <xs:attribute ref="id"/>
        <xs:attribute ref="class"/>
        <xs:attribute ref="title"/>
        <xs:attributeGroup ref="xhtml.Global.core.extra.attrib" />
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.Global.i18n.attrib">
        <xs:attribute ref="xml:lang" />
        <xs:attributeGroup ref="xhtml.Global.I18n.extra.attrib"/>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.Global.common.attrib">
        <xs:attributeGroup ref="xhtml.Global.core.attrib"/>
        <xs:attributeGroup ref="xhtml.Global.i18n.attrib"/>
        <xs:attributeGroup ref="xhtml.Global.Common.extra"/>
    </xs:attributeGroup>
</xs:schema>

C.2.4. XHTML Character Entities

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-charent-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-charent-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<!--
  This schema module includes three named character entity files.
-->
<!DOCTYPE xs:schema [
    <!-- These are the entity sets for ISO Latin 1 characters for the XHTML -->
    <!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
   "http://www.w3.org/MarkUp/DTD/xhtml-lat1.ent">
    %HTMLlat1;
    <!-- These are the entity sets for special characters for the XHTML -->
    <!ENTITY % HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols for XHTML//EN"
   "http://www.w3.org/MarkUp/DTD/xhtml-symbol.ent">
    %HTMLsymbol;
    <!-- These are the entity sets for symbol characters for the XHTML -->
    <!ENTITY % HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special for XHTML//EN"
   "http://www.w3.org/MarkUp/DTD/xhtml-special.ent">
    %HTMLspecial;
]>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           elementFormDefault="qualified">
    <xs:annotation>
        <xs:documentation>
      Character Entities for XHTML    
      This is the XML Schema Character Entities module for XHTML

      This module declares the set of character entities for XHTML,
      including the Latin 1, Symbol and Special character collections.
      XML Schema does not support Entities, hence Entities are enable
      through an Internal DTD Subset.
      
      $Id: xhtml-charent-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
</xs:schema>

C.3. XHTML Module Implementations

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

C.3.1. XHTML Core Modules

C.3.1.1. Structure

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-struct-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-struct-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/">
    <xs:import
        namespace="http://www.w3.org/1999/xhtml/datatypes/"
        schemaLocation="xhtml-datatypes-1.xsd"/>
    <xs:annotation>
        <xs:documentation>
        This is the XML Schema Document Structure module for XHTML
        Document Structure
    
          * title, head, body, html
    
        The Structure Module defines the major structural elements and 
        their attributes.
        
        $Id: xhtml-struct-1.xsd,v 1.11 2009/09/30 14:13:35 ahby Exp $     
      </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_structuremodule"/>
    </xs:annotation>
    <xs:import namespace="http://www.w3.org/XML/1998/namespace"
        schemaLocation="http://www.w3.org/2001/xml.xsd">
        <xs:annotation>
            <xs:documentation>
                This import brings in the XML namespace attributes
                The module itself does not provide the schemaLocation
                and expects the driver schema to provide the
                actual SchemaLocation.
            </xs:documentation>
        </xs:annotation>
    </xs:import>
    <xs:attributeGroup
        name="xhtml.title.attlist">
        <xs:attributeGroup
            ref="xhtml.I18n.attrib"/>
        <xs:attributeGroup ref="xhtml.id"/>
        <xs:attribute ref="xml:space"/>
    </xs:attributeGroup>
    <xs:group
        name="xhtml.title.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType
        name="xhtml.title.type"
        mixed="true">
        <xs:group
            ref="xhtml.title.content"/>
        <xs:attributeGroup
            ref="xhtml.title.attlist"/>
    </xs:complexType>
    <xs:attributeGroup
        name="xhtml.profile.attrib">
        <xs:attribute
            name="profile"
            type="xh11d:URIs"/>
    </xs:attributeGroup>
    <xs:attributeGroup
        name="xhtml.head.attlist">
        <xs:attributeGroup
            ref="xhtml.profile.attrib"/>
        <xs:attributeGroup
            ref="xhtml.I18n.attrib"/>
        <xs:attributeGroup ref="xhtml.id"/>
        <xs:attribute ref="xml:space"/>
    </xs:attributeGroup>
    <xs:complexType
        name="xhtml.head.type">
        <xs:group
            ref="xhtml.head.content"/>
        <xs:attributeGroup
            ref="xhtml.head.attlist"/>
    </xs:complexType>
    <xs:attributeGroup
        name="xhtml.body.attlist">
        <xs:attributeGroup
            ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group
        name="xhtml.body.content">
        <xs:sequence>
            <xs:group
                ref="xhtml.Block.mix"
                minOccurs="0"
                maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType
        name="xhtml.body.type">
        <xs:group
            ref="xhtml.body.content"/>
        <xs:attributeGroup
            ref="xhtml.body.attlist"/>
    </xs:complexType>
    <xs:attributeGroup
        name="xhtml.version.attrib">
        <xs:attribute
            name="version"
            type="xh11d:CDATA"/>
    </xs:attributeGroup>
    <xs:attributeGroup
        name="xhtml.html.attlist">
        <xs:attributeGroup
            ref="xhtml.version.attrib"/>
        <xs:attributeGroup
            ref="xhtml.I18n.attrib"/>
        <xs:attributeGroup ref="xhtml.id"/>
        <xs:attribute ref="xml:space"/>
    </xs:attributeGroup>
    <xs:group
        name="xhtml.html.content">
        <xs:sequence>
            <xs:element
                name="head"
                type="xhtml.head.type"/>
            <xs:element
                name="body"
                type="xhtml.body.type"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType
        name="xhtml.html.type">
        <xs:group
            ref="xhtml.html.content"/>
        <xs:attributeGroup
            ref="xhtml.html.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.1.2. Text

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-text-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-text-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      Textual Content
      This is the XML Schema Text module for XHTML

      The Text module includes declarations for all core
      text container elements and their attributes.
    
        +  block phrasal
        +  block structural
        +  inline phrasal
        +  inline structural
      
      $Id: xhtml-text-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_textmodule"/>
    </xs:annotation>
    <xs:include schemaLocation="xhtml-blkphras-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Block Phrasal module
        Elements defined here:

          * address, blockquote, pre, h1, h2, h3, h4, h5, h6
    </xs:documentation>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-blkstruct-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Block Structural module 
        Elements defined here:

          * div, p
    </xs:documentation>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-inlphras-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Inline Phrasal module
        Elements defined here:

          * abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var
    </xs:documentation>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-inlstruct-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Inline Structural module 
        Elements defined here:

          * br,span
    </xs:documentation>
        </xs:annotation>
    </xs:include>
</xs:schema>

C.3.1.3. Hypertext

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-hypertext-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-hypertext-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
      Hypertext Module
      This is the XML Schema Hypertext module for XHTML
            
        * a
            
      This module declares the anchor ('a') element type, which
      defines the source of a hypertext link. The destination
      (or link 'target') is identified via its 'id' attribute 
      rather than the 'name' attribute as was used in HTML.

      $Id: xhtml-hypertext-1.xsd,v 1.4 2005/09/26 23:37:47 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_hypertextmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.a.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="href" type="xh11d:URI"/>
        <xs:attribute name="charset" type="xh11d:Charset"/>
        <xs:attribute name="type" type="xh11d:ContentType"/>
        <xs:attribute name="hreflang" type="xh11d:LanguageCode"/>
        <xs:attribute name="rel" type="xh11d:LinkTypes"/>
        <xs:attribute name="rev" type="xh11d:LinkTypes"/>
        <xs:attribute name="accesskey" type="xh11d:Character"/>
        <xs:attribute name="tabindex" type="xh11d:Number"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.a.content">
        <xs:sequence>
            <xs:group ref="xhtml.InlNoAnchor.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.a.type" mixed="true">
        <xs:group ref="xhtml.a.content"/>
        <xs:attributeGroup ref="xhtml.a.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.1.4. Lists

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-list-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-list-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      List Module
      This is the XML Schema Lists module for XHTML
      List Module Elements
    
        * dl, dt, dd, ol, ul, li
    
      This module declares the list-oriented element types
      and their attributes.
      $Id: xhtml-list-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $      
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_listmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.dt.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.dt.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.dt.type" mixed="true">
        <xs:group ref="xhtml.dt.content"/>
        <xs:attributeGroup ref="xhtml.dt.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.dd.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.dd.content">
        <xs:sequence>
            <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.dd.type" mixed="true">
        <xs:group ref="xhtml.dd.content"/>
        <xs:attributeGroup ref="xhtml.dd.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.dl.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.dl.content">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded">
                <xs:element name="dt" type="xhtml.dt.type"/>
                <xs:element name="dd" type="xhtml.dd.type"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.dl.type">
        <xs:group ref="xhtml.dl.content"/>
        <xs:attributeGroup ref="xhtml.dl.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.li.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.li.content">
        <xs:sequence>
            <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.li.type" mixed="true">
        <xs:group ref="xhtml.li.content"/>
        <xs:attributeGroup ref="xhtml.li.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.ol.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.ol.content">
        <xs:sequence>
            <xs:element name="li" type="xhtml.li.type" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.ol.type">
        <xs:group ref="xhtml.ol.content"/>
        <xs:attributeGroup ref="xhtml.ol.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.ul.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.ul.content">
        <xs:sequence>
            <xs:element name="li" type="xhtml.li.type" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.ul.type">
        <xs:group ref="xhtml.ul.content"/>
        <xs:attributeGroup ref="xhtml.ul.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.2. Applet

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-applet-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-applet-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd" />

  <xs:annotation>
    <xs:documentation>
      Java Applets
      This is the XML Schema module for Java Applets in XHTML
      
        * applet (param)
  
      This module declares the applet element type and its attributes, 
      used to provide support for Java applets. The 'alt' attribute 
      is now required (as it is on images). One of either code or 
      object attributes must be present. In the document, place param 
      elements before the object elements that require their content.
  
      Note that use of this module also instantiates of the 
      Param Element Module.

      $Id: xhtml-applet-1.xsd,v 1.3 2005/09/26 22:54:52 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
    <xs:documentation 
       source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_appletmodule"/>
  </xs:annotation>

  <xs:include schemaLocation="xhtml-param-1.xsd">
    <xs:annotation>
      <xs:documentation>
        Param module
        Include Param Module
      </xs:documentation>
    </xs:annotation>
  </xs:include>  

  <xs:attributeGroup name="xhtml.applet.attlist">
    <xs:attributeGroup ref="xhtml.Core.attrib"/>
    <xs:attribute name="alt" type="xh11d:Text" use="required"/>
    <xs:attribute name="archive" type="xh11d:CDATA"/>
    <xs:attribute name="code" type="xh11d:CDATA"/>
    <xs:attribute name="codebase" type="xh11d:URI"/>
    <xs:attribute name="object" type="xh11d:CDATA"/>
    <xs:attribute name="width" type="xh11d:Length" use="required"/>
    <xs:attribute name="height" type="xh11d:Length" use="required"/>
  </xs:attributeGroup>

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

  <xs:complexType name="xhtml.applet.type" mixed="true">
    <xs:group ref="xhtml.applet.content"/>
    <xs:attributeGroup ref="xhtml.applet.attlist"/>
  </xs:complexType>

</xs:schema>

C.3.3. Text Modules

C.3.3.1. Presentation

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-pres-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-pres-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Presentation module for XHTML
      This is a REQUIRED module.
      $Id: xhtml-pres-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Presentational Elements

      This module defines elements and their attributes for
      simple presentation-related markup.
 
      Elements defined here:

        * hr
        * b, big, i, small, sub, sup, tt
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_presentationmodule"/>
    </xs:annotation>
    <xs:include schemaLocation="xhtml-blkpres-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Block Presentational module
        Elements defined here:
 
         * hr
      </xs:documentation>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-inlpres-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Inline Presentational module
        Elements defined here:

          * b, big, i, small, sub, sup, tt
    </xs:documentation>
        </xs:annotation>
    </xs:include>
</xs:schema>

C.3.3.2. Edit

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-edit-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-edit-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
          Editing Elements
          This is the XML Schema Editing Markup module for XHTML

           * ins, del
  
         This module declares element types and attributes used to indicate
         inserted and deleted content while editing a document.

          $Id: xhtml-edit-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
        </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_editmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.edit.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="cite" type="xh11d:URI"/>
        <xs:attribute name="datetime" type="xh11d:Datetime"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.edit.content">
        <xs:sequence>
            <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.edit.type" mixed="true">
        <xs:group ref="xhtml.edit.content"/>
        <xs:attributeGroup ref="xhtml.edit.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.3.3. Bi-directional Text

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-bdo-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-bdo-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
          Bidirectional Override (bdo) Element
          This is the XML Schema BDO Element module for XHTML

          This modules declares the element 'bdo' and 'dir' attributes,
          Used to override the  Unicode bidirectional algorithm for selected
          fragments of text.
          Bidirectional text support includes both the bdo element and
          the 'dir' attribute.

          $Id: xhtml-bdo-1.xsd,v 1.6 2009/11/18 17:59:51 ahby Exp $
      </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_bdomodule"/>
    </xs:annotation>
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
             schemaLocation="http://www.w3.org/2001/xml.xsd">
        <xs:annotation>
            <xs:documentation>
           This import brings in the XML namespace attributes
           The module itself does not provide the schemaLocation
           and expects the driver schema to provide the
           actual SchemaLocation.
         </xs:documentation>
        </xs:annotation>
    </xs:import>
    <xs:attributeGroup name="xhtml.bdo.attlist">
        <xs:attributeGroup ref="xhtml.Core.attrib"/>
        <xs:attributeGroup ref="xhtml.I18n.extra.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.bdo.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.bdo.type" mixed="true">
        <xs:group ref="xhtml.bdo.content"/>
        <xs:attributeGroup ref="xhtml.bdo.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.dir.attrib">
        <xs:attribute name="dir">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="ltr"/>
                    <xs:enumeration value="rtl"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>
    <!-- Global dir attribute -->
    <xs:attribute name="dir">
        <xs:simpleType>
            <xs:restriction base="xs:NMTOKEN">
                <xs:enumeration value="ltr"/>
                <xs:enumeration value="rtl"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:attribute>
    <xs:attributeGroup name="xhtml.Global.bdo.attrib">
        <xs:attribute ref="dir"/>
    </xs:attributeGroup>
</xs:schema>

C.3.4. Forms

C.3.4.1. Basic Forms

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-basic-form-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-basic-form-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
  <xs:annotation>
    <xs:documentation>
      This is the XML Schema Basic Forms module for XHTML
      $Id: xhtml-basic-form-1.xsd,v 1.3 2009/09/30 15:22:38 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>    
      Basic Forms

      This forms module is based on the HTML 3.2 forms model, with
      the WAI-requested addition of the label element. While this 
      module essentially mimics the content model and attributes of 
      HTML 3.2 forms, the element types declared herein also include
      all HTML 4 common attributes.

      Elements defined here:

        * form, label, input, select, option, textarea
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
    <xs:documentation 
         source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_sformsmodule"/>
  </xs:annotation>

  <xs:attributeGroup name="xhtml.form.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="action" type="xh11d:URI" use="required"/>
    <xs:attribute name="method" use="optional" default="get">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="get"/>
          <xs:enumeration value="post"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="name" type="xh11d:CDATA"/>
    <xs:attribute name="enctype" type="xh11d:ContentType" default="application/x-www-form-urlencoded"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.form.content">
    <xs:sequence>
      <xs:group ref="xhtml.BlkNoForm.mix" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>

  <xs:complexType name="xhtml.form.type">
    <xs:group ref="xhtml.form.content"/>
    <xs:attributeGroup ref="xhtml.form.attlist"/>
  </xs:complexType>

  <xs:group name="xhtml.label.content">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element type="xhtml.input.type" name="input"/>
        <xs:element type="xhtml.select.type" name="select"/>
        <xs:element type="xhtml.textarea.type" name="textarea"/>
        <xs:group ref="xhtml.InlStruct.class"/>
        <xs:group ref="xhtml.InlPhras.class"/>
        <xs:group ref="xhtml.I18n.class"/>
        <xs:group ref="xhtml.InlPres.class"/>
        <xs:group ref="xhtml.InlSpecial.class"/>
        <xs:group ref="xhtml.Misc.class"/>
      </xs:choice>
    </xs:sequence>
  </xs:group>

  <xs:attributeGroup name="xhtml.label.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="for" type="xs:IDREF"/>
    <xs:attribute name="accesskey" type="xh11d:Character"/>
  </xs:attributeGroup>

  <xs:complexType name="xhtml.label.type" mixed="true">
    <xs:group ref="xhtml.label.content"/>
    <xs:attributeGroup ref="xhtml.label.attlist"/>
  </xs:complexType>

<!-- 
Basic Forms removes button, 'image' and 'file' input types.
-->
  <xs:simpleType name="xhtml.InputType.class">
      <xs:restriction base="xs:NMTOKEN">
        <xs:enumeration value="text"/>
        <xs:enumeration value="password"/>
        <xs:enumeration value="checkbox"/>
        <xs:enumeration value="radio"/>
        <xs:enumeration value="submit"/>
        <xs:enumeration value="reset"/>
        <xs:enumeration value="hidden"/>
      </xs:restriction>
  </xs:simpleType>

  <xs:attributeGroup name="xhtml.input.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="type" type="xhtml.InputType.class" default="text"/>    
    <xs:attribute name="name" type="xh11d:CDATA"/>
    <xs:attribute name="value" type="xh11d:CDATA"/>
    <xs:attribute name="checked">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="checked"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="size" type="xh11d:Number"/>
    <xs:attribute name="maxlength" type="xh11d:Number"/>
    <xs:attribute name="src" type="xh11d:URI"/>
    <xs:attribute name="tabindex" type="xh11d:Number"/>    
    <xs:attribute name="accesskey" type="xh11d:Character"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.input.content">
     <xs:sequence/>
  </xs:group>    

  <xs:complexType name="xhtml.input.type">
    <xs:group ref="xhtml.input.content"/>
    <xs:attributeGroup ref="xhtml.input.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.select.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="name" type="xh11d:CDATA"/>
    <xs:attribute name="size" type="xh11d:Number"/>
    <xs:attribute name="multiple">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="multiple"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="tabindex" type="xh11d:Number"/>    
  </xs:attributeGroup>
  
  <xs:group name="xhtml.select.content">
    <xs:sequence>
       <xs:element name="option" type="xhtml.option.type" maxOccurs="unbounded"/>
    </xs:sequence>  
  </xs:group>       

  <xs:complexType name="xhtml.select.type">
    <xs:group ref="xhtml.select.content"/>
    <xs:attributeGroup ref="xhtml.select.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.option.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="selected">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="selected"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>    
    <xs:attribute name="value" type="xh11d:CDATA"/>
    <xs:attribute name="tabindex" type="xh11d:Number"/>    
  </xs:attributeGroup>
  
  <xs:group name="xhtml.option.content">
     <xs:sequence/>
  </xs:group>  
  
  <xs:complexType name="xhtml.option.type" mixed="true">
    <xs:group ref="xhtml.option.content"/>
    <xs:attributeGroup ref="xhtml.option.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.textarea.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="name" type="xh11d:CDATA"/>
    <xs:attribute name="rows" type="xh11d:Number" use="required"/>
    <xs:attribute name="cols" type="xh11d:Number" use="required"/>
    <xs:attribute name="accesskey" type="xh11d:Character"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.textarea.content">
     <xs:sequence/>
  </xs:group>    

  <xs:complexType name="xhtml.textarea.type" mixed="true">
     <xs:group ref="xhtml.textarea.content"/>  
     <xs:attributeGroup ref="xhtml.textarea.attlist"/>
  </xs:complexType>

</xs:schema>

C.3.4.2. Forms

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-form-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-form-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
      Forms    
      This is the XML Schema Forms module for XHTML      
  
        * form, label, input, select, optgroup, option,
          textarea, fieldset, legend, button
    
      This module declares markup to provide support for online
      forms, based on the features found in HTML 4.0 forms.
          
    
      $Id: xhtml-form-1.xsd,v 1.4 2009/09/30 15:22:38 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_extformsmodule"/>
    </xs:annotation>
    <!-- form: Form Element -->
    <xs:attributeGroup name="xhtml.form.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="action" type="xh11d:URI" use="required"/>
        <xs:attribute name="method" default="get">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="get"/>
                    <xs:enumeration value="post"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="name" type="xh11d:CDATA"/>
        <xs:attribute name="enctype" type="xh11d:ContentType" default="application/x-www-form-urlencoded"/>
        <xs:attribute name="accept-charset" type="xh11d:Charsets"/>
        <xs:attribute name="accept" type="xh11d:ContentTypes"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.form.content">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded">
                <xs:group ref="xhtml.BlkNoForm.mix"/>
                <xs:element name="fieldset" type="xhtml.fieldset.type"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.form.type">
        <xs:group ref="xhtml.form.content"/>
        <xs:attributeGroup ref="xhtml.form.attlist"/>
    </xs:complexType>
    <!-- 
    label: Form Field Label Text 
    Note: Each label must not contain more than ONE field
-->
    <xs:group name="xhtml.label.content">
        <xs:sequence>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="input" type="xhtml.input.type"/>
                <xs:element name="select" type="xhtml.select.type"/>
                <xs:element name="textarea" type="xhtml.textarea.type"/>
                <xs:element name="button" type="xhtml.button.type"/>
                <xs:group ref="xhtml.InlStruct.class"/>
                <xs:group ref="xhtml.InlPhras.class"/>
                <xs:group ref="xhtml.I18n.class"/>
                <xs:group ref="xhtml.InlPres.class"/>
                <xs:group ref="xhtml.InlSpecial.class"/>
                <xs:group ref="xhtml.Inline.extra"/>
                <xs:group ref="xhtml.Misc.class"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:attributeGroup name="xhtml.label.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="for" type="xs:IDREF"/>
        <xs:attribute name="accesskey" type="xh11d:Character"/>
    </xs:attributeGroup>
    <xs:complexType name="xhtml.label.type" mixed="true">
        <xs:group ref="xhtml.label.content"/>
        <xs:attributeGroup ref="xhtml.label.attlist"/>
    </xs:complexType>
    <!-- input: Form Control -->
    <xs:simpleType name="xhtml.InputType.class">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="text"/>
            <xs:enumeration value="password"/>
            <xs:enumeration value="checkbox"/>
            <xs:enumeration value="radio"/>
            <xs:enumeration value="submit"/>
            <xs:enumeration value="reset"/>
            <xs:enumeration value="hidden"/>
            <xs:enumeration value="image"/>
            <xs:enumeration value="button"/>
            <xs:enumeration value="file"/>
        </xs:restriction>
    </xs:simpleType>
    <!-- 
    attribute 'name' required for all but submit & reset
-->
    <xs:attributeGroup name="xhtml.input.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="type" type="xhtml.InputType.class" default="text"/>
        <xs:attribute name="name" type="xh11d:CDATA"/>
        <xs:attribute name="value" type="xh11d:CDATA"/>
        <xs:attribute name="checked">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="checked"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="disabled">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="disabled"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="readonly">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="readonly"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="size" type="xh11d:Number"/>
        <xs:attribute name="maxlength" type="xh11d:Number"/>
        <xs:attribute name="src" type="xh11d:URI"/>
        <xs:attribute name="alt" type="xh11d:Text"/>
        <xs:attribute name="tabindex" type="xh11d:Number"/>
        <xs:attribute name="accesskey" type="xh11d:Character"/>
        <xs:attribute name="accept" type="xh11d:ContentTypes"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.input.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.input.type">
        <xs:group ref="xhtml.input.content"/>
        <xs:attributeGroup ref="xhtml.input.attlist"/>
    </xs:complexType>
    <!-- select: Option Selector  -->
    <xs:attributeGroup name="xhtml.select.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="name" type="xh11d:CDATA"/>
        <xs:attribute name="size" type="xh11d:Number"/>
        <xs:attribute name="multiple">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="multiple"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="disabled">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="disabled"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="tabindex" type="xh11d:Number"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.select.content">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded">
                <xs:element name="optgroup" type="xhtml.optgroup.type"/>
                <xs:element name="option" type="xhtml.option.type"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.select.type">
        <xs:group ref="xhtml.select.content"/>
        <xs:attributeGroup ref="xhtml.select.attlist"/>
    </xs:complexType>
    <!-- optgroup: Option Group  -->
    <xs:attributeGroup name="xhtml.optgroup.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="disabled">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="disabled"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="label" type="xh11d:Text" use="required"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.optgroup.content">
        <xs:sequence>
            <xs:element name="option" type="xhtml.option.type" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.optgroup.type">
        <xs:group ref="xhtml.optgroup.content"/>
        <xs:attributeGroup ref="xhtml.optgroup.attlist"/>
    </xs:complexType>
    <!-- option: Selectable Choice  -->
    <xs:attributeGroup name="xhtml.option.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="selected">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="selected"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="disabled">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="disabled"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="label" type="xh11d:Text"/>
        <xs:attribute name="value" type="xh11d:CDATA"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.option.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.option.type" mixed="true">
        <xs:group ref="xhtml.option.content"/>
        <xs:attributeGroup ref="xhtml.option.attlist"/>
    </xs:complexType>
    <!-- textarea: Multi-Line Text Field  -->
    <xs:attributeGroup name="xhtml.textarea.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="name" type="xh11d:CDATA"/>
        <xs:attribute name="rows" type="xh11d:Number" use="required"/>
        <xs:attribute name="cols" type="xh11d:Number" use="required"/>
        <xs:attribute name="disabled">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="disabled"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="readonly">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="readonly"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="tabindex" type="xh11d:Number"/>
        <xs:attribute name="accesskey" type="xh11d:Character"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.textarea.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.textarea.type" mixed="true">
        <xs:group ref="xhtml.textarea.content"/>
        <xs:attributeGroup ref="xhtml.textarea.attlist"/>
    </xs:complexType>
    <!-- fieldset: Form Control Group  -->
    <xs:attributeGroup name="xhtml.fieldset.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.fieldset.content">
        <xs:sequence>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="legend" type="xhtml.legend.type"/>
                <xs:group ref="xhtml.Flow.mix"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.fieldset.type" mixed="true">
        <xs:group ref="xhtml.fieldset.content"/>
        <xs:attributeGroup ref="xhtml.fieldset.attlist"/>
    </xs:complexType>
    <!-- legend: Fieldset Legend  -->
    <xs:attributeGroup name="xhtml.legend.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="accesskey" type="xh11d:Character"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.legend.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.legend.type" mixed="true">
        <xs:group ref="xhtml.legend.content"/>
        <xs:attributeGroup ref="xhtml.legend.attlist"/>
    </xs:complexType>
    <!-- button: Push Button  -->
    <xs:attributeGroup name="xhtml.button.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="name" type="xh11d:CDATA"/>
        <xs:attribute name="value" type="xh11d:CDATA"/>
        <xs:attribute name="type" default="submit">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="button"/>
                    <xs:enumeration value="submit"/>
                    <xs:enumeration value="reset"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="disabled">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="disabled"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="tabindex" type="xh11d:Number"/>
        <xs:attribute name="accesskey" type="xh11d:Character"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.button.content">
        <xs:sequence>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:group ref="xhtml.BlkNoForm.mix"/>
                <xs:group ref="xhtml.InlStruct.class"/>
                <xs:group ref="xhtml.InlPhras.class"/>
                <xs:group ref="xhtml.InlPres.class"/>
                <xs:group ref="xhtml.I18n.class"/>
                <xs:group ref="xhtml.InlSpecial.class"/>
                <xs:group ref="xhtml.Inline.extra"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.button.type" mixed="true">
        <xs:group ref="xhtml.button.content"/>
        <xs:attributeGroup ref="xhtml.button.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.5. Tables

C.3.5.1. Basic Tables

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-basic-table-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-basic-table-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
  <xs:annotation>
    <xs:documentation>
      This is the XML Schema Basic Tables module for XHTML
     $Id: xhtml-basic-table-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      Basic Tables
    
        * table, caption, tr, th, td
    
      This table module declares elements and attributes defining
      a table model based fundamentally on features found in the
      widely-deployed HTML 3.2 table model.  While this module
      mimics the content model and table attributes of HTML 3.2
      tables, the element types declared herein also includes all
      HTML 4 common and most of the HTML 4 table attributes.
    </xs:documentation>
    <xs:documentation 
         source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_simpletablemodule"/>
  </xs:annotation>

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

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

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

  <xs:attributeGroup name="xhtml.table.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="summary" type="xh11d:Text"/>
  </xs:attributeGroup>

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

  <xs:complexType name="xhtml.table.type" >
    <xs:group ref="xhtml.table.content"/>
    <xs:attributeGroup ref="xhtml.table.attlist"/>
  </xs:complexType>
  
  <xs:attributeGroup name="xhtml.caption.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.caption.content">
     <xs:sequence>
        <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
  </xs:group>  
  

  <xs:complexType name="xhtml.caption.type" mixed="true" >
    <xs:group ref="xhtml.caption.content"/>   
    <xs:attributeGroup ref="xhtml.caption.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.tr.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
    <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
  </xs:attributeGroup>

  <xs:group name="xhtml.tr.content">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="th" type="xhtml.th.type"/>
        <xs:element name="td" type="xhtml.td.type"/>
      </xs:choice>
    </xs:sequence>    
  </xs:group>

  <xs:complexType name="xhtml.tr.type">
    <xs:group ref="xhtml.tr.content"/>
    <xs:attributeGroup ref="xhtml.tr.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.th.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="abbr" type="xh11d:Text"/>
    <xs:attribute name="axis" type="xh11d:CDATA"/>
    <xs:attribute name="headers" type="xs:IDREFS"/>
    <xs:attributeGroup ref="xhtml.scope.attrib"/>
    <xs:attribute name="rowspan" type="xh11d:Number" default="1"/>
    <xs:attribute name="colspan" type="xh11d:Number" default="1"/>
    <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
    <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.th.content">
     <xs:sequence>
        <xs:group ref="xhtml.FlowNoTable.mix" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
  </xs:group>    

  <xs:complexType name="xhtml.th.type" mixed="true">
    <xs:group ref="xhtml.th.content"/>   
    <xs:attributeGroup ref="xhtml.th.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.td.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="abbr" type="xh11d:Text"/>
    <xs:attribute name="axis" type="xh11d:CDATA"/>
    <xs:attribute name="headers" type="xs:IDREFS"/>
    <xs:attributeGroup ref="xhtml.scope.attrib"/>
    <xs:attribute name="rowspan" type="xh11d:Number" default="1"/>
    <xs:attribute name="colspan" type="xh11d:Number" default="1"/>
    <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
    <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.td.content">
     <xs:sequence>
        <xs:group ref="xhtml.FlowNoTable.mix" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
  </xs:group>  

  <xs:complexType name="xhtml.td.type" mixed="true">
    <xs:group ref="xhtml.td.content"/>   
    <xs:attributeGroup ref="xhtml.td.attlist"/>
  </xs:complexType>

</xs:schema>

C.3.5.2. Tables

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-table-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-table-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
          This is the XML Schema Tables module for XHTML
          $Id: xhtml-table-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $
        </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
          Tables
      
           * table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td
      
          This module declares element types and attributes used to provide
          table markup similar to HTML 4.0, including features that enable
          better accessibility for non-visual user agents.
        </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_tablemodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.frame.attrib">
        <xs:attribute name="frame">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="void"/>
                    <xs:enumeration value="above"/>
                    <xs:enumeration value="below"/>
                    <xs:enumeration value="hsides"/>
                    <xs:enumeration value="lhs"/>
                    <xs:enumeration value="rhs"/>
                    <xs:enumeration value="vsides"/>
                    <xs:enumeration value="box"/>
                    <xs:enumeration value="border"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.rules.attrib">
        <xs:attribute name="rules">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="none"/>
                    <xs:enumeration value="groups"/>
                    <xs:enumeration value="rows"/>
                    <xs:enumeration value="cols"/>
                    <xs:enumeration value="all"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.CellVAlign.attrib">
        <xs:attribute name="valign">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="top"/>
                    <xs:enumeration value="middle"/>
                    <xs:enumeration value="bottom"/>
                    <xs:enumeration value="baseline"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.CellHAlign.attrib">
        <xs:attribute name="align">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="left"/>
                    <xs:enumeration value="center"/>
                    <xs:enumeration value="right"/>
                    <xs:enumeration value="justify"/>
                    <xs:enumeration value="char"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="char" type="xh11d:Character"/>
        <xs:attribute name="charoff" type="xh11d:Length"/>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.scope.attrib">
        <xs:attribute name="scope">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="row"/>
                    <xs:enumeration value="col"/>
                    <xs:enumeration value="rowgroup"/>
                    <xs:enumeration value="colgroup"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.td.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="abbr" type="xh11d:Text"/>
        <xs:attribute name="axis" type="xh11d:CDATA"/>
        <xs:attribute name="headers" type="xs:IDREFS"/>
        <xs:attributeGroup ref="xhtml.scope.attrib"/>
        <xs:attribute name="rowspan" type="xh11d:Number" default="1"/>
        <xs:attribute name="colspan" type="xh11d:Number" default="1"/>
        <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
        <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.td.content">
        <xs:sequence>
            <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.td.type" mixed="true">
        <xs:group ref="xhtml.td.content"/>
        <xs:attributeGroup ref="xhtml.td.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.th.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="abbr" type="xh11d:Text"/>
        <xs:attribute name="axis" type="xh11d:CDATA"/>
        <xs:attribute name="headers" type="xs:IDREFS"/>
        <xs:attributeGroup ref="xhtml.scope.attrib"/>
        <xs:attribute name="rowspan" type="xh11d:Number" default="1"/>
        <xs:attribute name="colspan" type="xh11d:Number" default="1"/>
        <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
        <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.th.content">
        <xs:sequence>
            <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.th.type" mixed="true">
        <xs:group ref="xhtml.th.content"/>
        <xs:attributeGroup ref="xhtml.th.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.tr.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
        <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.tr.content">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded">
                <xs:element name="th" type="xhtml.th.type"/>
                <xs:element name="td" type="xhtml.td.type"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.tr.type">
        <xs:group ref="xhtml.tr.content"/>
        <xs:attributeGroup ref="xhtml.tr.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.col.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="span" type="xh11d:Number" default="1"/>
        <xs:attribute name="width" type="xh11d:MultiLength"/>
        <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
        <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.col.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.col.type">
        <xs:group ref="xhtml.col.content"/>
        <xs:attributeGroup ref="xhtml.col.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.colgroup.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="span" type="xh11d:Number" default="1"/>
        <xs:attribute name="width" type="xh11d:MultiLength"/>
        <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
        <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.colgroup.content">
        <xs:sequence>
            <xs:element name="col" type="xhtml.col.type" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.colgroup.type">
        <xs:group ref="xhtml.colgroup.content"/>
        <xs:attributeGroup ref="xhtml.colgroup.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.tbody.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
        <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.tbody.content">
        <xs:sequence>
            <xs:element name="tr" type="xhtml.tr.type" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.tbody.type">
        <xs:group ref="xhtml.tbody.content"/>
        <xs:attributeGroup ref="xhtml.tbody.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.tfoot.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
        <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.tfoot.content">
        <xs:sequence>
            <xs:element name="tr" type="xhtml.tr.type" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.tfoot.type">
        <xs:group ref="xhtml.tfoot.content"/>
        <xs:attributeGroup ref="xhtml.tfoot.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.thead.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attributeGroup ref="xhtml.CellHAlign.attrib"/>
        <xs:attributeGroup ref="xhtml.CellVAlign.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.thead.content">
        <xs:sequence>
            <xs:element name="tr" type="xhtml.tr.type" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.thead.type">
        <xs:group ref="xhtml.thead.content"/>
        <xs:attributeGroup ref="xhtml.thead.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.caption.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.caption.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.caption.type" mixed="true">
        <xs:group ref="xhtml.caption.content"/>
        <xs:attributeGroup ref="xhtml.caption.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.table.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="summary" type="xh11d:Text"/>
        <xs:attribute name="width" type="xh11d:Length"/>
        <xs:attribute name="border" type="xh11d:Pixels"/>
        <xs:attributeGroup ref="xhtml.frame.attrib"/>
        <xs:attributeGroup ref="xhtml.rules.attrib"/>
        <xs:attribute name="cellspacing" type="xh11d:Length"/>
        <xs:attribute name="cellpadding" type="xh11d:Length"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.table.content">
        <xs:sequence>
            <xs:element name="caption" type="xhtml.caption.type" minOccurs="0"/>
            <xs:choice>
                <xs:element name="col" type="xhtml.col.type" minOccurs="0" maxOccurs="unbounded"/>
                <xs:element name="colgroup" type="xhtml.colgroup.type" minOccurs="0" maxOccurs="unbounded"/>
            </xs:choice>
            <xs:choice>
                <xs:sequence>
                    <xs:element name="thead" type="xhtml.thead.type" minOccurs="0"/>
                    <xs:element name="tfoot" type="xhtml.tfoot.type" minOccurs="0"/>
                    <xs:element name="tbody" type="xhtml.tbody.type" maxOccurs="unbounded"/>
                </xs:sequence>
                <xs:choice>
                    <xs:element name="tr" type="xhtml.tr.type" maxOccurs="unbounded"/>
                </xs:choice>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.table.type">
        <xs:group ref="xhtml.table.content"/>
        <xs:attributeGroup ref="xhtml.table.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.6. Image

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-image-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-image-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
      Images    
      This is the XML Schema Images module for XHTML
    
        * img
    
      This module provides markup to support basic image embedding.
      
      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.
      
      
      $Id: xhtml-image-1.xsd,v 1.3 2009/09/30 15:22:38 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_imagemodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.img.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="src" type="xh11d:URI" use="required"/>
        <xs:attribute name="alt" type="xh11d:Text" use="required"/>
        <xs:attribute name="longdesc" type="xh11d:URI"/>
        <xs:attribute name="name" type="xh11d:CDATA"/>
        <xs:attribute name="height" type="xh11d:Length"/>
        <xs:attribute name="width" type="xh11d:Length"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.img.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.img.type">
        <xs:group ref="xhtml.img.content"/>
        <xs:attributeGroup ref="xhtml.img.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.7. Client-side Image Map

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-csismap-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-csismap-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
      Client-side Image Maps    
      This is the XML Schema Client-side Image Maps module for XHTML

        * area, map      

      This module declares elements and attributes to support client-side
      image maps. 
      
      $Id: xhtml-csismap-1.xsd,v 1.3 2009/09/30 15:12:48 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_imapmodule"/>
    </xs:annotation>
    <xs:simpleType name="xhtml.Shape.Datatype">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="rect"/>
            <xs:enumeration value="circle"/>
            <xs:enumeration value="poly"/>
            <xs:enumeration value="default"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="xhtml.Coords.Datatype">
        <xs:restriction base="xh11d:Text"/>
    </xs:simpleType>
    <!-- modify anchor attribute definition list -->
    <xs:attributeGroup name="xhtml.a.csim.attlist">
        <xs:attribute name="shape" type="xhtml.Shape.Datatype" default="rect"/>
        <xs:attribute name="coords" type="xhtml.Coords.Datatype"/>
    </xs:attributeGroup>
    <!-- modify img attribute definition list -->
    <xs:attributeGroup name="xhtml.img.csim.attlist">
        <xs:attribute name="usemap" type="xh11d:URIREF"/>
    </xs:attributeGroup>
    <!-- modify form input attribute definition list -->
    <xs:attributeGroup name="xhtml.input.csim.attlist">
        <xs:attribute name="usemap" type="xh11d:URIREF"/>
    </xs:attributeGroup>
    <!-- modify object attribute definition list -->
    <xs:attributeGroup name="xhtml.object.csim.attlist">
        <xs:attribute name="usemap" type="xh11d:URIREF"/>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.area.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="href" type="xh11d:URI"/>
        <xs:attribute name="shape" type="xhtml.Shape.Datatype" default="rect"/>
        <xs:attribute name="coords" type="xhtml.Coords.Datatype"/>
        <xs:attribute name="nohref">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="nohref"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="alt" type="xh11d:Text" use="required"/>
        <xs:attribute name="tabindex" type="xh11d:Number"/>
        <xs:attribute name="accesskey" type="xh11d:Character"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.area.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.area.type">
        <xs:group ref="xhtml.area.content"/>
        <xs:attributeGroup ref="xhtml.area.attlist"/>
    </xs:complexType>
    <!-- map -->
    <xs:attributeGroup name="xhtml.map.attlist">
        <xs:attribute name="id" type="xs:ID" use="required"/>
        <xs:attributeGroup ref="xhtml.class"/>
        <xs:attributeGroup ref="xhtml.title"/>
        <xs:attributeGroup ref="xhtml.Core.extra.attrib"/>
        <xs:attributeGroup ref="xhtml.I18n.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.map.content">
        <xs:sequence>
            <xs:choice maxOccurs="unbounded">
                <xs:group ref="xhtml.Block.mix"/>
                <xs:element name="area" type="xhtml.area.type"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.map.type">
        <xs:group ref="xhtml.map.content"/>
        <xs:attributeGroup ref="xhtml.map.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.8. Server-side Image Map

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-ssismap-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-ssismap-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Server-side Image Maps module for XHTML
      $Id: xhtml-ssismap-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Server-side Image Maps
      
      This adds the 'ismap' attribute to the img element to 
      support server-side processing of a user selection.
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_servermapmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.img.ssimap.attlist">
        <xs:attribute name="ismap">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="ismap"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:attributeGroup name="xhtml.input.ssimap.attlist">
        <xs:attribute name="ismap">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="ismap"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>
</xs:schema>

C.3.9. Object

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-object-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-object-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Embedded Object module for XHTML
      $Id: xhtml-object-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      This module declares the object element type and its attributes,
      used to embed external objects as part of XHTML pages. In the
      document, place param elements prior to the object elements 
      that require their content.
          
      Note that use of this module requires instantiation of the 
      Param Element Module prior to this module.
      
      Elements defined here: 
      
        * object (param)
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_objectmodule"/>
    </xs:annotation>
    <xs:include schemaLocation="xhtml-param-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Param module
        
        Elements defined here:
          * param
      </xs:documentation>
        </xs:annotation>
    </xs:include>
    <xs:attributeGroup name="xhtml.object.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="declare">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="declare"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="classid" type="xh11d:URI"/>
        <xs:attribute name="codebase" type="xh11d:URI"/>
        <xs:attribute name="data" type="xh11d:URI"/>
        <xs:attribute name="type" type="xh11d:ContentType"/>
        <xs:attribute name="codetype" type="xh11d:ContentType"/>
        <xs:attribute name="archive" type="xh11d:URIs"/>
        <xs:attribute name="standby" type="xh11d:Text"/>
        <xs:attribute name="height" type="xh11d:Length"/>
        <xs:attribute name="width" type="xh11d:Length"/>
        <xs:attribute name="name" type="xh11d:CDATA"/>
        <xs:attribute name="tabindex" type="xh11d:Number"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.object.content">
        <xs:sequence>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element name="param" type="xhtml.param.type"/>
                <xs:group ref="xhtml.Flow.mix"/>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.object.type" mixed="true">
        <xs:group ref="xhtml.object.content"/>
        <xs:attributeGroup ref="xhtml.object.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.10. Frames

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-frames-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-frames-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
  <xs:annotation>
    <xs:documentation>
      This is the XML Schema Frames module for XHTML
      $Id: xhtml-frames-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      Frames 
  
        * frameset, frame, noframes
  
      This module declares frame-related element types and attributes.
    </xs:documentation>
    <xs:documentation 
         source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_framesmodule"/>    
  </xs:annotation>

  <xs:attributeGroup name="xhtml.frameset.attlist">
    <xs:attributeGroup ref="xhtml.Core.attrib"/>
    <xs:attribute name="rows" type="xh11d:MultiLengths"/>
    <xs:attribute name="cols" type="xh11d:MultiLengths"/>
  </xs:attributeGroup>

  <xs:group name="xhtml.frameset.content">
    <xs:sequence>
      <xs:choice minOccurs="1" maxOccurs="unbounded">
        <xs:element ref="frameset"/>
        <xs:element ref="frame"/>
      </xs:choice>
      <xs:element ref="noframes" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:group>

  <xs:complexType name="xhtml.frameset.type" mixed="true">
    <xs:group ref="xhtml.frameset.content"/>
    <xs:attributeGroup ref="xhtml.frameset.attlist"/>
  </xs:complexType>

<!-- 
    reserved frame names start with "_" 
    otherwise starts with letter 
-->
  <xs:attributeGroup name="xhtml.frame.attlist">
    <xs:attributeGroup ref="xhtml.Core.attrib"/>
    <xs:attribute name="longdesc" type="xh11d:URI"/>
    <xs:attribute name="src" type="xh11d:URI"/>
    <xs:attribute name="frameborder" default="1">
      <xs:simpleType>
        <xs:restriction base="xs:nonNegativeInteger">
          <xs:enumeration value="1"/>
          <xs:enumeration value="0"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="marginwidth" type="xh11d:Pixels"/>
    <xs:attribute name="marginheight" type="xh11d:Pixels"/>
    <xs:attribute name="noresize">
       <xs:simpleType>
          <xs:restriction base="xs:NMTOKEN">
             <xs:enumeration value="noresize"/>
          </xs:restriction>
       </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="scrolling" default="auto">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="yes"/>
          <xs:enumeration value="no"/>
          <xs:enumeration value="auto"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.frame.content">
     <xs:sequence/>
  </xs:group>  

  <xs:complexType name="xhtml.frame.type">
    <xs:group ref="xhtml.frame.content"/>
    <xs:attributeGroup ref="xhtml.frame.attlist"/>
  </xs:complexType>

<!-- 
noframes 
-->
  <xs:group name="xhtml.noframes.content">
    <xs:sequence>
      <xs:element ref="body"/>
    </xs:sequence>
  </xs:group>

  <xs:attributeGroup name="xhtml.noframes.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
  </xs:attributeGroup>

  <xs:complexType name="xhtml.noframes.type" mixed="true">
    <xs:group ref="xhtml.noframes.content"/>
    <xs:attributeGroup ref="xhtml.noframes.attlist"/>
  </xs:complexType>

</xs:schema>

C.3.11. Target

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-target-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-target-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
  <xs:annotation>
    <xs:documentation>
      This is the XML Schema Target module for XHTML
      $Id: xhtml-target-1.xsd,v 1.3 2007/04/03 18:27:01 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      Target 
      
        * target
      
      This module declares the 'target' attribute used for opening windows
    </xs:documentation>
    <xs:documentation 
         source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_targetmodule"/>
  </xs:annotation>
  
  <xs:attributeGroup name="xhtml.base.target.attlist">
    <xs:attribute name="target" type="xh11d:FrameTarget"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.form.target.attlist">
    <xs:attribute name="target" type="xh11d:FrameTarget"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.link.target.attlist">
    <xs:attribute name="target" type="xh11d:FrameTarget"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.area.target.attlist">
    <xs:attribute name="target" type="xh11d:FrameTarget"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.a.target.attlist">
    <xs:attribute name="target" type="xh11d:FrameTarget"/>
  </xs:attributeGroup>

</xs:schema>

C.3.12. Iframe

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-iframe-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-iframe-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
  <xs:annotation>
    <xs:documentation>
      This is the XML Schema Inline Frame Element module for XHTML
      $Id: xhtml-iframe-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      Inline Frames 
      
        * iframe
    
      This module declares the iframe element type and its attributes,
      used to create an inline frame within a document. 
    </xs:documentation>
    <xs:documentation 
         source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_iframemodule"/>
  </xs:annotation>

  <xs:attributeGroup name="xhtml.iframe.attlist">
    <xs:attributeGroup ref="xhtml.Core.attrib"/>
    <xs:attribute name="longdesc" type="xh11d:URI"/>
    <xs:attribute name="src" type="xh11d:URI"/>
    <xs:attribute name="frameborder" default="1">
      <xs:simpleType>
        <xs:restriction base="xs:nonNegativeInteger">
          <xs:enumeration value="1"/>
          <xs:enumeration value="0"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="marginwidth" type="xh11d:Pixels"/>
    <xs:attribute name="marginheight" type="xh11d:Pixels"/>
    <xs:attribute name="scrolling" default="auto">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="yes"/>
          <xs:enumeration value="no"/>
          <xs:enumeration value="auto"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="height" type="xh11d:Length"/>
    <xs:attribute name="width" type="xh11d:Length"/>
  </xs:attributeGroup>

  <xs:group name="xhtml.iframe.content">
     <xs:sequence>
        <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
  </xs:group>  
  
  <xs:complexType name="xhtml.iframe.type" mixed="true">
    <xs:group ref="xhtml.iframe.content"/>
    <xs:attributeGroup ref="xhtml.iframe.attlist"/>
  </xs:complexType>

</xs:schema>

C.3.13. Intrinsic Events

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-events-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-events-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Intrinsic Events module for XHTML
      $Id: xhtml-events-1.xsd,v 1.4 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Intrinsic Event Attributes
      These are the event attributes defined in HTML 4,
      Section 18.2.3 "Intrinsic Events".
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_intrinsiceventsmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.Events.attrib">
        <xs:attribute name="onclick" type="xh11d:Script"/>
        <xs:attribute name="ondblclick" type="xh11d:Script"/>
        <xs:attribute name="onmousedown" type="xh11d:Script"/>
        <xs:attribute name="onmouseup" type="xh11d:Script"/>
        <xs:attribute name="onmouseover" type="xh11d:Script"/>
        <xs:attribute name="onmousemove" type="xh11d:Script"/>
        <xs:attribute name="onmouseout" type="xh11d:Script"/>
        <xs:attribute name="onkeypress" type="xh11d:Script"/>
        <xs:attribute name="onkeydown" type="xh11d:Script"/>
        <xs:attribute name="onkeyup" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
    additional attributes on anchor element
-->
    <xs:attributeGroup name="xhtml.a.events.attlist">
        <xs:attribute name="onfocus" type="xh11d:Script"/>
        <xs:attribute name="onblur" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
    additional attributes on form element
-->
    <xs:attributeGroup name="xhtml.form.events.attlist">
        <xs:attribute name="onsubmit" type="xh11d:Script"/>
        <xs:attribute name="onreset" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
    additional attributes on label element
-->
    <xs:attributeGroup name="xhtml.label.events.attlist">
        <xs:attribute name="onfocus" type="xh11d:Script"/>
        <xs:attribute name="onblur" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
    additional attributes on input element
-->
    <xs:attributeGroup name="xhtml.input.events.attlist">
        <xs:attribute name="onfocus" type="xh11d:Script"/>
        <xs:attribute name="onblur" type="xh11d:Script"/>
        <xs:attribute name="onselect" type="xh11d:Script"/>
        <xs:attribute name="onchange" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
    additional attributes on select element
-->
    <xs:attributeGroup name="xhtml.select.events.attlist">
        <xs:attribute name="onfocus" type="xh11d:Script"/>
        <xs:attribute name="onblur" type="xh11d:Script"/>
        <xs:attribute name="onchange" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
    additional attributes on textarea element
-->
    <xs:attributeGroup name="xhtml.textarea.events.attlist">
        <xs:attribute name="onfocus" type="xh11d:Script"/>
        <xs:attribute name="onblur" type="xh11d:Script"/>
        <xs:attribute name="onselect" type="xh11d:Script"/>
        <xs:attribute name="onchange" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
    additional attributes on button element
-->
    <xs:attributeGroup name="xhtml.button.events.attlist">
        <xs:attribute name="onfocus" type="xh11d:Script"/>
        <xs:attribute name="onblur" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
    additional attributes on body element
-->
    <xs:attributeGroup name="xhtml.body.events.attlist">
        <xs:attribute name="onload" type="xh11d:Script"/>
        <xs:attribute name="onunload" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
    additional attributes on area element
-->
    <xs:attributeGroup name="xhtml.area.events.attlist">
        <xs:attribute name="onfocus" type="xh11d:Script"/>
        <xs:attribute name="onblur" type="xh11d:Script"/>
    </xs:attributeGroup>
    <!--
   Global Events Attributes
-->
    <xs:attribute name="onclick" type="xh11d:Script"/>
    <xs:attribute name="ondblclick" type="xh11d:Script"/>
    <xs:attribute name="onmousedown" type="xh11d:Script"/>
    <xs:attribute name="onmouseup" type="xh11d:Script"/>
    <xs:attribute name="onmouseover" type="xh11d:Script"/>
    <xs:attribute name="onmousemove" type="xh11d:Script"/>
    <xs:attribute name="onmouseout" type="xh11d:Script"/>
    <xs:attribute name="onkeypress" type="xh11d:Script"/>
    <xs:attribute name="onkeydown" type="xh11d:Script"/>
    <xs:attribute name="onkeyup" type="xh11d:Script"/>
    <xs:attributeGroup name="xhtml.Global.events.attrib">
        <xs:attribute ref="onclick"/>
        <xs:attribute ref="ondblclick"/>
        <xs:attribute ref="onmousedown"/>
        <xs:attribute ref="onmouseup"/>
        <xs:attribute ref="onmouseover"/>
        <xs:attribute ref="onmousemove"/>
        <xs:attribute ref="onmouseout"/>
        <xs:attribute ref="onkeypress"/>
        <xs:attribute ref="onkeydown"/>
        <xs:attribute ref="onkeyup"/>
    </xs:attributeGroup>
</xs:schema>

C.3.14. Metainformation

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-meta-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-meta-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Metainformation module for XHTML
      $Id: xhtml-meta-1.xsd,v 1.3 2008/07/05 04:11:00 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Meta Information

        * meta

      This module declares the meta element type and its attributes,
      used to provide declarative document metainformation.
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_metamodule"/>
    </xs:annotation>
    <xs:import namespace="http://www.w3.org/XML/1998/namespace"
        schemaLocation="http://www.w3.org/2001/xml.xsd">
        <xs:annotation>
            <xs:documentation>
                This import brings in the XML namespace attributes
                The module itself does not provide the schemaLocation
                and expects the driver schema to provide the
                actual SchemaLocation.
            </xs:documentation>
        </xs:annotation>
    </xs:import>
    <xs:attributeGroup name="xhtml.meta.attlist">
        <xs:attributeGroup ref="xhtml.I18n.attrib"/>
        <xs:attribute ref="xml:space"/>
        <xs:attribute name="http-equiv" type="xs:NMTOKEN"/>
        <xs:attribute name="name" type="xs:NMTOKEN"/>
        <xs:attribute name="content" type="xh11d:CDATA" use="required"/>
        <xs:attribute name="scheme" type="xh11d:CDATA"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.meta.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.meta.type">
        <xs:group ref="xhtml.meta.content"/>
        <xs:attributeGroup ref="xhtml.meta.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.15. Scripting

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-script-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-script-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Scripting module for XHTML
      $Id: xhtml-script-1.xsd,v 1.5 2006/09/11 08:50:41 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Scripting
      
        * script, noscript
      
      This module declares element types and attributes used to provide
      support for executable scripts as well as an alternate content
      container where scripts are not supported.
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_scriptmodule"/>
    </xs:annotation>
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
             schemaLocation="http://www.w3.org/2001/xml.xsd">
        <xs:annotation>
            <xs:documentation>
          This import brings in the XML namespace attributes 
          The module itself does not provide the schemaLocation
          and expects the driver schema to provide the 
          actual SchemaLocation.
        </xs:documentation>
        </xs:annotation>
    </xs:import>
    <xs:attributeGroup name="xhtml.script.attlist">
        <xs:attributeGroup ref="xhtml.id"/>
        <xs:attribute name="charset" type="xh11d:Charset"/>
        <xs:attribute name="type" type="xh11d:ContentType" use="required"/>
        <xs:attribute name="src" type="xh11d:URI"/>
        <xs:attribute name="defer">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="defer"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:attributeGroup>
    <xs:group name="xhtml.script.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.script.type" mixed="true">
        <xs:group ref="xhtml.script.content"/>
        <xs:attributeGroup ref="xhtml.script.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.noscript.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.noscript.content">
        <xs:sequence>
            <xs:group ref="xhtml.Block.mix" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.noscript.type">
        <xs:group ref="xhtml.noscript.content"/>
        <xs:attributeGroup ref="xhtml.noscript.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.16. Style Sheet

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-style-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-style-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Stylesheets module for XHTML
      $Id: xhtml-style-1.xsd,v 1.5 2006/09/11 10:14:57 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Stylesheets
      
        * style
      
      This module declares the style element type and its attributes,
      used to embed stylesheet information in the document head element.
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_stylemodule"/>
    </xs:annotation>
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
             schemaLocation="http://www.w3.org/2001/xml.xsd">
        <xs:annotation>
            <xs:documentation>
          This import brings in the XML namespace attributes 
          The module itself does not provide the schemaLocation
          and expects the driver schema to provide the 
          actual SchemaLocation.
        </xs:documentation>
        </xs:annotation>
    </xs:import>
    <xs:attributeGroup name="xhtml.style.attlist">
        <xs:attributeGroup ref="xhtml.id"/>
        <xs:attributeGroup ref="xhtml.title"/>
        <xs:attributeGroup ref="xhtml.I18n.attrib"/>
        <xs:attribute name="type" type="xh11d:ContentType" use="required"/>
        <xs:attribute name="media" type="xh11d:MediaDesc"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.style.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.style.type" mixed="true">
        <xs:group ref="xhtml.style.content"/>
        <xs:attributeGroup ref="xhtml.style.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.17. Style Attribute

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-inlstyle-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-inlstyle-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      Inline Style module    
      This is the XML Schema Inline Style module for XHTML
      
         * styloe attribute

      This module declares the 'style' attribute, used to support inline 
      style markup. 

      $Id: xhtml-inlstyle-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_styleattributemodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.style.attrib">
        <xs:attribute name="style" type="xh11d:CDATA"/>
    </xs:attributeGroup>
</xs:schema>

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-link-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-link-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Link Element module for XHTML
      $Id: xhtml-link-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Link element
    
        * link
    
      This module declares the link element type and its attributes,
      which could (in principle) be used to define document-level links
      to external resources.
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_linkmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.link.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="charset" type="xh11d:Charset"/>
        <xs:attribute name="href" type="xh11d:URI"/>
        <xs:attribute name="hreflang" type="xh11d:LanguageCode"/>
        <xs:attribute name="type" type="xh11d:ContentType"/>
        <xs:attribute name="rel" type="xh11d:LinkTypes"/>
        <xs:attribute name="rev" type="xh11d:LinkTypes"/>
        <xs:attribute name="media" type="xh11d:MediaDesc"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.link.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.link.type">
        <xs:group ref="xhtml.link.content"/>
        <xs:attributeGroup ref="xhtml.link.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.19. Base

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-base-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-base-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
        Base element
        This is the XML Schema Base Element module for XHTML      
                
          * base

        This module declares the base element type and its attributes,        
        used to define a base URI against which relative URIs in the
        document will be resolved.

        $Id: xhtml-base-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
      </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_basemodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.base.attlist">
        <xs:attribute name="href" type="xh11d:URI" use="required"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.base.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.base.type">
        <xs:group ref="xhtml.base.content"/>
        <xs:attributeGroup ref="xhtml.base.attlist"/>
    </xs:complexType>
</xs:schema>

C.3.20. Name Identification

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-nameident-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-nameident-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
  <xs:annotation>
    <xs:documentation>
      This is the XML Schema Name Identifier module for XHTML
      $Id: xhtml-nameident-1.xsd,v 1.3 2009/09/30 15:22:38 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      Name Identifier
    
        * 'name' attribute on form, img, a, map, applet, frame, iframe
    
      This module declares the 'name' attribute on element types when 
      it is used as a node identifier for legacy linking and scripting 
      support. This does not include those instances when 'name' is used 
      as a container for form control, property or metainformation names.
         
      This module should be instantiated following all modules it modifies.
    </xs:documentation>
    <xs:documentation 
        source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_nameidentmodule"/>
  </xs:annotation>

  <xs:attributeGroup name="xhtml.a.name.attlist">
    <xs:attribute name="name" type="xh11d:CDATA"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.map.name.attlist">
    <xs:attribute name="name" type="xh11d:CDATA"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.applet.name.attlist">
    <xs:attribute name="name" type="xh11d:CDATA"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.frame.name.attlist">
    <xs:attribute name="name" type="xh11d:CDATA"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.iframe.name.attlist">
    <xs:attribute name="name" type="xh11d:CDATA"/>
  </xs:attributeGroup>

</xs:schema>

C.3.21. Legacy

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-legacy-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-legacy-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
  <xs:annotation>
    <xs:documentation>
      This is the XML Schema Module for HTML Legacy Markup
 
        font, basefont, center, s, strike, u,
        dir, menu, isindex
        (plus additional datatypes and legacy attributes)

       This optional module declares additional markup for simple
       presentation-related markup based on features found in the
       HTML 4 Transitional and Frameset DTDs.
       
       The legacy module also include frames module, iframe module
       and target module. (Note: This module expects find the schema files
       of that declare these module)

       Elements/Attributes defined in frame, iframe and target modules are
       
          * frameset, frame, noframes, att:target, iframe       
       
       $Id: xhtml-legacy-1.xsd,v 1.3 2009/09/30 15:29:49 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
    <xs:documentation 
        source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_legacymodule"/>    
    <xs:documentation 
        source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_framesmodule"/>
    <xs:documentation 
        source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_targetmodule"/>
    <xs:documentation 
        source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_iframemodule"/>      
  </xs:annotation>

  <xs:include schemaLocation="xhtml-misc-1.xsd">
    <xs:annotation>
      <xs:documentation>
        Miscellaneous module
        Attributes defined here:

          * font, basefont, center, s, strike, u, dir, menu, isindex
            (plus additional datatypes and attributes)
  
      </xs:documentation>
    </xs:annotation>
  </xs:include>
    
  <xs:include schemaLocation="xhtml-frames-1.xsd">
    <xs:annotation>
      <xs:documentation>
        Frames module

        Elements defined here:

          * frameset, frame, noframes
      </xs:documentation>
      <xs:documentation 
        source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_framesmodule"/>    
    </xs:annotation>
  </xs:include>

  <xs:include schemaLocation="xhtml-target-1.xsd">
    <xs:annotation>
      <xs:documentation>
        Target module

        Attributes defined here:

          * target
      </xs:documentation>
      <xs:documentation 
        source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_targetmodule"/>      
    </xs:annotation>
  </xs:include>

  <xs:include schemaLocation="xhtml-iframe-1.xsd">
    <xs:annotation>
      <xs:documentation>
        Iframe module

        Elements defined here:

          * iframe
      </xs:documentation>
      <xs:documentation 
        source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_iframemodule"/>      
    </xs:annotation>
  </xs:include>  

</xs:schema>

C.3.22. Ruby

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-ruby-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-ruby-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/">
    <xs:import
        namespace="http://www.w3.org/1999/xhtml/datatypes/"
        schemaLocation="xhtml-datatypes-1.xsd"/>
  <xs:annotation>
    <xs:documentation>
      This is the Ruby module for XHTML
      $Id: xhtml-ruby-1.xsd,v 1.7 2010/05/02 17:22:08 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      "Ruby" are short runs of text alongside the base text, typically
      used in East Asian documents to indicate pronunciation or to
      provide a short annotation. The full specification for Ruby is here:
      
        http://www.w3.org/TR/2001/REC-ruby-20010531/
      
      This module defines "Ruby " or "complex Ruby" as described
      in the specification:
      
        http://www.w3.org/TR/2001/REC-ruby-20010531/#complex
    
      Simple or Basic Ruby are defined in a separate module.
      
      This module declares the elements and their attributes used to
      support complex ruby annotation markup. Elements defined here
            * ruby, rbc, rtc, rb, rt, rp
      
      This module expects the document model to define the
      following content models
        + InlNoRuby.mix                 
    </xs:documentation>
    <xs:documentation
         source="http://www.w3.org/TR/2001/REC-ruby-20010531/"/>    
  </xs:annotation>

  <xs:group name="xhtml.ruby.content.simple">
      <xs:sequence>
          <xs:element name="rb" type="xhtml.rb.type"/>
          <xs:choice>
              <xs:element name="rt" type="xhtml.rt.type"/>
              <xs:sequence>
                  <xs:element name="rp" type="xhtml.rp.type"/>
                  <xs:element name="rt" type="xhtml.rt.type"/>
                  <xs:element name="rp" type="xhtml.rp.type"/>
              </xs:sequence>
          </xs:choice>
      </xs:sequence>
  </xs:group>

  <xs:group name="xhtml.ruby.content.complex">
    <xs:sequence>
      <xs:element name="rbc" type="xhtml.rbc.type"/>
      <xs:element name="rtc" type="xhtml.rtc.type" maxOccurs="2"/>
    </xs:sequence>
  </xs:group>

  <!--
   add to this group any common attributes for all Ruby elements
  -->
  <xs:attributeGroup name="xhtml.ruby.common.attrib"/>
  
  <xs:group name="xhtml.ruby.content">
    <xs:choice>
      <xs:group ref="xhtml.ruby.content.simple"/>
      <xs:group ref="xhtml.ruby.content.complex"/>
    </xs:choice>
  </xs:group>

  <xs:complexType name="xhtml.ruby.type">
    <xs:group ref="xhtml.ruby.content"/>
    <xs:attributeGroup ref="xhtml.ruby.common.attrib"/>
  </xs:complexType>

  <!--
   rbc (ruby base component) element 
  -->
  <xs:attributeGroup name="xhtml.rbc.attlist">
    <xs:attributeGroup ref="xhtml.ruby.common.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.rbc.content">
    <xs:sequence>
      <xs:element name="rb" type="xhtml.rb.type" />
    </xs:sequence>
  </xs:group>  

  <xs:complexType name="xhtml.rbc.type">
    <xs:group ref="xhtml.rbc.content"/>
    <xs:attributeGroup ref="xhtml.rbc.attlist"/>
  </xs:complexType>

  <!--
   rtc (ruby text component) element
  -->
  <xs:attributeGroup name="xhtml.rtc.attlist">
    <xs:attributeGroup ref="xhtml.ruby.common.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.rtc.content">
    <xs:sequence>
      <xs:element name="rt" type="xhtml.rt.type" maxOccurs="unbounded"/>
    </xs:sequence>  
  </xs:group>    

  <xs:complexType name="xhtml.rtc.type">
    <xs:group ref="xhtml.rt.content"/>  
    <xs:attributeGroup ref="xhtml.rtc.attlist"/>
  </xs:complexType>

  <!--
   rb (ruby base) element 
  -->
  <xs:attributeGroup name="xhtml.rb.attlist">
    <xs:attributeGroup ref="xhtml.ruby.common.attrib"/>
  </xs:attributeGroup>

  <xs:group name="xhtml.rb.content">
    <xs:sequence>
       <xs:group ref="xhtml.InlNoRuby.mix" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>      

  <xs:complexType name="xhtml.rb.type" mixed="true">
    <xs:group ref="xhtml.rb.content"/>
    <xs:attributeGroup ref="xhtml.rb.attlist"/>
  </xs:complexType>
    
  <!--
   rt (ruby text) element 
  -->
  <xs:attributeGroup name="xhtml.rt.attlist">
    <xs:attributeGroup ref="xhtml.ruby.common.attrib"/>
    <xs:attribute name="rbspan" type="xh11d:Number" default="1"/>
  </xs:attributeGroup>

  <xs:group name="xhtml.rt.content">
    <xs:sequence>
       <xs:group ref="xhtml.InlNoRuby.mix" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>      
  
  <xs:complexType name="xhtml.rt.type" mixed="true">
    <xs:group ref="xhtml.rt.content"/>  
    <xs:attributeGroup ref="xhtml.rt.attlist"/>
  </xs:complexType>

  <!-- rp (ruby parenthesis) element  -->
  <xs:attributeGroup name="xhtml.rp.attlist">
    <xs:attributeGroup ref="xhtml.ruby.common.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.rp.content">
    <xs:sequence/>
  </xs:group>      
  

  <xs:complexType name="xhtml.rp.type" mixed="true">
    <xs:group ref="xhtml.rp.content"/>
    <xs:attributeGroup ref="xhtml.rp.attlist"/>
  </xs:complexType>

</xs:schema>

C.4. XHTML Schema Support Modules

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

C.4.1. Block Phrasal

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-blkphras-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-blkphras-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:include schemaLocation="xhtml-attribs-1.xsd" />

    <xs:annotation>
        <xs:documentation>
          This is the XML Schema Block Phrasal support module for XHTML
          $Id: xhtml-blkphras-1.xsd,v 1.7 2008/07/05 04:11:00 ahby Exp $
       </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
           Block Phrasal
           This module declares the elements and their attributes used to
           support block-level phrasal markup.
           This is the XML Schema block phrasal elements module for XHTML

            * address, blockquote, pre, h1, h2, h3, h4, h5, h6
      </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_textmodule"/>
    </xs:annotation>
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
             schemaLocation="http://www.w3.org/2001/xml.xsd">
        <xs:annotation>
            <xs:documentation>
          This import brings in the XML namespace attributes 
          The module itself does not provide the schemaLocation
          and expects the driver schema to provide the 
          actual SchemaLocation.
        </xs:documentation>
        </xs:annotation>
    </xs:import>
    <!-- address -->
    <xs:attributeGroup name="xhtml.address.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.address.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.address.type" mixed="true">
        <xs:group ref="xhtml.address.content"/>
        <xs:attributeGroup ref="xhtml.address.attlist"/>
    </xs:complexType>
    <!-- blockquote -->
    <xs:attributeGroup name="xhtml.blockquote.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="cite" type="xh11d:URI"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.blockquote.content">
        <xs:sequence>
            <xs:group ref="xhtml.Block.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.blockquote.type">
        <xs:group ref="xhtml.blockquote.content"/>
        <xs:attributeGroup ref="xhtml.blockquote.attlist"/>
    </xs:complexType>
    <!-- pre -->
    <xs:attributeGroup name="xhtml.pre.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.pre.content">
        <xs:sequence>
            <xs:group ref="xhtml.InlinePre.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.pre.type" mixed="true">
        <xs:group ref="xhtml.pre.content"/>
        <xs:attributeGroup ref="xhtml.pre.attlist"/>
    </xs:complexType>
    <!-- Heading Elements  -->
    <xs:attributeGroup name="xhtml.heading.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:complexType name="xhtml.heading.type" mixed="true">
        <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        <xs:attributeGroup ref="xhtml.heading.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.h1.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.h1.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.h1.type" mixed="true">
        <xs:group ref="xhtml.h1.content"/>
        <xs:attributeGroup ref="xhtml.h1.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.h2.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.h2.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.h2.type" mixed="true">
        <xs:group ref="xhtml.h2.content"/>
        <xs:attributeGroup ref="xhtml.h2.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.h3.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.h3.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.h3.type" mixed="true">
        <xs:group ref="xhtml.h3.content"/>
        <xs:attributeGroup ref="xhtml.h3.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.h4.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.h4.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.h4.type" mixed="true">
        <xs:group ref="xhtml.h4.content"/>
        <xs:attributeGroup ref="xhtml.h4.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.h5.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.h5.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.h5.type" mixed="true">
        <xs:group ref="xhtml.h5.content"/>
        <xs:attributeGroup ref="xhtml.h5.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.h6.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.h6.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.h6.type" mixed="true">
        <xs:group ref="xhtml.h6.content"/>
        <xs:attributeGroup ref="xhtml.h6.attlist"/>
    </xs:complexType>
</xs:schema>

C.4.2. Block Presentational

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-blkpres-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-blkpres-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      This is the XML SchemaBlock presentation element module for XHTML
      $Id: xhtml-blkpres-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Block Presentational Elements
  
        * hr
  
      This module declares the elements and their attributes used to
      support block-level presentational markup.
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_presentationmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.hr.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.hr.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.hr.type">
        <xs:group ref="xhtml.hr.content"/>
        <xs:attributeGroup ref="xhtml.hr.attlist"/>
    </xs:complexType>
</xs:schema>

C.4.3. Block Structural

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-blkstruct-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-blkstruct-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      Block Structural

        * div, p
  
      This module declares the elements and their attributes used to
      support block-level structural markup.            
          
      This is the XML Schema Block Structural module for XHTML
      $Id: xhtml-blkstruct-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <!-- div -->
    <xs:attributeGroup name="xhtml.div.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.div.content">
        <xs:sequence>
            <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.div.type" mixed="true">
        <xs:group ref="xhtml.div.content"/>
        <xs:attributeGroup ref="xhtml.div.attlist"/>
    </xs:complexType>
    <!-- p -->
    <xs:attributeGroup name="xhtml.p.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.p.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.p.type" mixed="true">
        <xs:group ref="xhtml.p.content"/>
        <xs:attributeGroup ref="xhtml.p.attlist"/>
    </xs:complexType>
</xs:schema>

C.4.4. Inline Phrasal

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-inlphras-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-inlphras-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />

    <xs:annotation>
        <xs:documentation>
         This is the XML Schema Inline Phrasal support module for XHTML
         $Id: xhtml-inlphras-1.xsd,v 1.4 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Inline Phrasal.
      This module declares the elements and their attributes used to
      support inline-level phrasal markup.
      This is the XML Schema Inline Phrasal module for XHTML

        * abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var

      $Id: xhtml-inlphras-1.xsd,v 1.4 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_textmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.abbr.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.abbr.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.abbr.type" mixed="true">
        <xs:group ref="xhtml.abbr.content"/>
        <xs:attributeGroup ref="xhtml.abbr.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.acronym.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.acronym.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.acronym.type" mixed="true">
        <xs:group ref="xhtml.acronym.content"/>
        <xs:attributeGroup ref="xhtml.acronym.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.cite.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.cite.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.cite.type" mixed="true">
        <xs:group ref="xhtml.cite.content"/>
        <xs:attributeGroup ref="xhtml.cite.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.code.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.code.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.code.type" mixed="true">
        <xs:group ref="xhtml.code.content"/>
        <xs:attributeGroup ref="xhtml.code.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.dfn.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.dfn.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.dfn.type" mixed="true">
        <xs:group ref="xhtml.dfn.content"/>
        <xs:attributeGroup ref="xhtml.dfn.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.em.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.em.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.em.type" mixed="true">
        <xs:group ref="xhtml.em.content"/>
        <xs:attributeGroup ref="xhtml.em.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.kbd.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.kbd.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.kbd.type" mixed="true">
        <xs:group ref="xhtml.kbd.content"/>
        <xs:attributeGroup ref="xhtml.kbd.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.samp.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.samp.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.samp.type" mixed="true">
        <xs:group ref="xhtml.samp.content"/>
        <xs:attributeGroup ref="xhtml.samp.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.strong.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.strong.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.strong.type" mixed="true">
        <xs:group ref="xhtml.strong.content"/>
        <xs:attributeGroup ref="xhtml.strong.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.var.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.var.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.var.type" mixed="true">
        <xs:group ref="xhtml.var.content"/>
        <xs:attributeGroup ref="xhtml.var.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.q.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
        <xs:attribute name="cite" type="xh11d:URI"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.q.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.q.type" mixed="true">
        <xs:group ref="xhtml.q.content"/>
        <xs:attributeGroup ref="xhtml.q.attlist"/>
    </xs:complexType>
</xs:schema>

C.4.5. Inline Presentational

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-inlpres-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-inlpres-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Inline Presentation element module for XHTML
      $Id: xhtml-inlpres-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Inline Presentational Elements
    
        * b, big, i, small, sub, sup, tt
    
      This module declares the elements and their attributes used to
      support inline-level presentational markup.
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_presentationmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.InlPres.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.InlPres.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.InlPres.type" mixed="true">
        <xs:group ref="xhtml.InlPres.content"/>
        <xs:attributeGroup ref="xhtml.InlPres.attlist"/>
    </xs:complexType>
</xs:schema>

C.4.6. Inline Structural

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-inlstruct-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-inlstruct-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
         This is the XML Schema Inline Structural support module for XHTML
         $Id: xhtml-inlstruct-1.xsd,v 1.4 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Inline Structural.
      This module declares the elements and their attributes 
      used to support inline-level structural markup.      
      This is the XML Schema Inline Structural element module for XHTML

        * br, span
      
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_textmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.br.attlist">
        <xs:attributeGroup ref="xhtml.Core.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.br.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.br.type">
        <xs:group ref="xhtml.br.content"/>
        <xs:attributeGroup ref="xhtml.br.attlist"/>
    </xs:complexType>
    <xs:attributeGroup name="xhtml.span.attlist">
        <xs:attributeGroup ref="xhtml.Common.attrib"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.span.content">
        <xs:sequence>
            <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:group>
    <xs:complexType name="xhtml.span.type" mixed="true">
        <xs:group ref="xhtml.span.content"/>
        <xs:attributeGroup ref="xhtml.span.attlist"/>
    </xs:complexType>
</xs:schema>

C.4.7. Param

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-param-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-param-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
    <xs:annotation>
        <xs:documentation>
      This is the XML Schema Param Element module for XHTML
      $Id: xhtml-param-1.xsd,v 1.3 2005/09/26 22:54:53 ahby Exp $
      </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      Parameters for Java Applets and Embedded Objects

        * param

      This module provides declarations for the param element,
      used to provide named property values for the applet
      and object elements.
    </xs:documentation>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_objectmodule"/>
        <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_appletmodule"/>
    </xs:annotation>
    <xs:attributeGroup name="xhtml.param.attlist">
        <xs:attributeGroup ref="xhtml.id"/>
        <xs:attribute name="name" type="xh11d:CDATA" use="required"/>
        <xs:attribute name="value" type="xh11d:CDATA"/>
        <xs:attribute name="valuetype" default="data">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="data"/>
                    <xs:enumeration value="ref"/>
                    <xs:enumeration value="object"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="type" type="xh11d:ContentType"/>
    </xs:attributeGroup>
    <xs:group name="xhtml.param.content">
        <xs:sequence/>
    </xs:group>
    <xs:complexType name="xhtml.param.type">
        <xs:group ref="xhtml.param.content"/>
        <xs:attributeGroup ref="xhtml.param.attlist"/>
    </xs:complexType>
</xs:schema>

C.4.8. Legacy - Miscellaneous

You can download this version of this file from http://www.w3.org/TR/2010/REC-xhtml-modularization/SCHEMA/xhtml-misc-1.xsd. The latest version is available at http://www.w3.org/MarkUp/SCHEMA/xhtml-misc-1.xsd.

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 elementFormDefault="qualified"
 xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
>
    <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" 
               schemaLocation="xhtml-datatypes-1.xsd" />
  <xs:annotation>
    <xs:documentation>
      This is the XML Schema Miscellaneous Legacy 
      Markup module for XHTML
      $Id: xhtml-misc-1.xsd,v 1.2 2005/09/26 22:54:53 ahby Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
      XHTML Miscellaneous Legacy Markup   
        font, basefont, center, s, strike, u,
        dir, menu, isindex
      
      This is to allow XHTML documents to be transformed for
      display on HTML browsers where CSS support is inconsistent
      or unavailable.
      
      The module also declares legacy attributes for elements
      in other module. Note: This module only declares the
      attribute list, and it is up to the document type to
      redefine the model of affected modules.
    </xs:documentation>
    <xs:documentation 
         source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_legacymodule"/>
  </xs:annotation>

  <xs:attributeGroup name="xhtml.font.attlist">
    <xs:attributeGroup ref="xhtml.Core.attrib"/>
    <xs:attributeGroup ref="xhtml.I18n.attrib"/>
    <xs:attribute name="size" type="xh11d:CDATA"/>
    <xs:attribute name="color" type="xh11d:Color"/>
    <xs:attribute name="face" type="xh11d:CDATA"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.font.content">
     <xs:sequence>
       <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
  </xs:group>  

  <xs:complexType name="xhtml.font.type" mixed="true">
     <xs:group ref="xhtml.font.content"/>
     <xs:attributeGroup ref="xhtml.font.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.basefont.attlist">
    <xs:attributeGroup ref="xhtml.id"/>
    <xs:attribute name="size" type="xh11d:CDATA" use="required"/>
    <xs:attribute name="color" type="xh11d:Color"/>
    <xs:attribute name="face" type="xh11d:CDATA"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.basefont.content">
     <xs:sequence/>
  </xs:group>    

  <xs:complexType name="xhtml.basefont.type">
    <xs:group ref="xhtml.basefont.content"/>  
    <xs:attributeGroup ref="xhtml.basefont.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.center.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.center.content">
     <xs:sequence>
       <xs:group ref="xhtml.Flow.mix" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
  </xs:group>  
  
  <xs:complexType name="xhtml.center.type" mixed="true">
    <xs:group ref="xhtml.center.content"/>
    <xs:attributeGroup ref="xhtml.center.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.s.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.s.content">
     <xs:sequence>
       <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
  </xs:group>  
  
  <xs:complexType name="xhtml.s.type" mixed="true">
    <xs:group ref="xhtml.s.content"/>
    <xs:attributeGroup ref="xhtml.s.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.strike.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.strike.content">
     <xs:sequence>
       <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
  </xs:group>    

  <xs:complexType name="xhtml.strike.type" mixed="true">
    <xs:group ref="xhtml.strike.content"/>
    <xs:attributeGroup ref="xhtml.strike.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.u.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.u.content">
     <xs:sequence>
       <xs:group ref="xhtml.Inline.mix" minOccurs="0" maxOccurs="unbounded"/>
     </xs:sequence>
  </xs:group>      

  <xs:complexType name="xhtml.u.type" mixed="true">
    <xs:group ref="xhtml.u.content"/>
    <xs:attributeGroup ref="xhtml.u.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.dir.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="compact">
       <xs:simpleType>
         <xs:restriction base="xs:NMTOKEN">
           <xs:enumeration value="compact"/>
         </xs:restriction>
       </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.dir.content">
    <xs:sequence>
      <xs:element ref="li" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>      

  <xs:complexType name="xhtml.dir.type" mixed="true">
    <xs:group ref="xhtml.dir.content"/>
    <xs:attributeGroup ref="xhtml.dir.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.menu.attlist">
    <xs:attributeGroup ref="xhtml.Common.attrib"/>
    <xs:attribute name="compact">
       <xs:simpleType>
         <xs:restriction base="xs:NMTOKEN">
           <xs:enumeration value="compact"/>
         </xs:restriction>
       </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>
 
  <xs:group name="xhtml.menu.content">
    <xs:sequence>
      <xs:element ref="li" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:group>  

  <xs:complexType name="xhtml.menu.type" mixed="true">
    <xs:group ref="xhtml.menu.content"/>
    <xs:attributeGroup ref="xhtml.menu.attlist"/>
  </xs:complexType>

  <xs:attributeGroup name="xhtml.isindex.attlist">
    <xs:attributeGroup ref="xhtml.Core.attrib"/>
    <xs:attributeGroup ref="xhtml.I18n.attrib"/>
    <xs:attribute name="prompt" type="xh11d:Text"/>
  </xs:attributeGroup>
  
  <xs:group name="xhtml.isindex.content">
    <xs:sequence/>
  </xs:group>  
 
  <xs:complexType name="xhtml.isindex.type">
    <xs:group ref="xhtml.isindex.content"/>
    <xs:attributeGroup ref="xhtml.isindex.attlist"/>
  </xs:complexType>

  <xs:annotation>
    <xs:documentation>
      Attribute redefinitions
    </xs:documentation>
  </xs:annotation>

  <xs:attributeGroup name="xhtml.align.legacy.attlist">
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="left"/>
          <xs:enumeration value="center"/>
          <xs:enumeration value="right"/>
          <xs:enumeration value="justify"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>

  <!-- add 'target' attribute to 'a' element -->
  <xs:attributeGroup name="xhtml.a.legacy.attlist">
    <xs:attribute name="target" type="xh11d:FrameTarget"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.applet.legacy.attlist">
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="top"/>
          <xs:enumeration value="middle"/>
          <xs:enumeration value="bottom"/>
          <xs:enumeration value="left"/>
          <xs:enumeration value="right"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="hspace" type="xh11d:Pixels"/>
    <xs:attribute name="vspace" type="xh11d:Pixels"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.body.legacy.attlist">
    <xs:attribute name="background" type="xh11d:URI"/>
    <xs:attribute name="bgcolor" type="xh11d:Color"/>
    <xs:attribute name="text" type="xh11d:Color"/>
    <xs:attribute name="link" type="xh11d:Color"/>
    <xs:attribute name="vlinke" type="xh11d:Color"/>
    <xs:attribute name="alink" type="xh11d:Color"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.br.legacy.attlist">
    <xs:attribute name="clear" default="none">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="left"/>
          <xs:enumeration value="all"/>
          <xs:enumeration value="right"/>
          <xs:enumeration value="none"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.caption.legacy.attlist">
    <xs:attributeGroup ref="xhtml.align.legacy.attlist"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.hr.legacy.attlist">
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="left"/>
          <xs:enumeration value="center"/>
          <xs:enumeration value="right"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="noshade">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="noshade"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>    
    <xs:attribute name="size" type="xh11d:Pixels"/>
    <xs:attribute name="width" type="xh11d:Length"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.img.legacy.attlist">
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="top"/>
          <xs:enumeration value="middle"/>
          <xs:enumeration value="bottom"/>
          <xs:enumeration value="left"/>
          <xs:enumeration value="right"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="border" type="xh11d:Pixels"/>
    <xs:attribute name="hspace" type="xh11d:Pixels"/>
    <xs:attribute name="vspace" type="xh11d:Pixels"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.input.legacy.attlist">
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="top"/>
          <xs:enumeration value="middle"/>
          <xs:enumeration value="bottom"/>
          <xs:enumeration value="left"/>
          <xs:enumeration value="right"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.legend.legacy.attlist">
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="top"/>
          <xs:enumeration value="bottom"/>
          <xs:enumeration value="left"/>
          <xs:enumeration value="right"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.li.legacy.attlist">
    <xs:attribute name="type" type="xh11d:CDATA"/>
    <xs:attribute name="value" type="xh11d:Number"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.object.legacy.attlist">
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="top"/>
          <xs:enumeration value="middle"/>
          <xs:enumeration value="bottom"/>
          <xs:enumeration value="left"/>
          <xs:enumeration value="right"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="border" type="xh11d:Pixels"/>
    <xs:attribute name="hspace" type="xh11d:Pixels"/>
    <xs:attribute name="vspace" type="xh11d:Pixels"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.ol.legacy.attlist">
    <xs:attribute name="type" type="xh11d:Text"/>
    <xs:attribute name="compact">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="compact"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>    
    <xs:attribute name="start" type="xh11d:Number"/>
  </xs:attributeGroup>
  
  <xs:attributeGroup name="xhtml.dl.legacy.attlist">
      <xs:attribute name="compact">
        <xs:simpleType>
           <xs:restriction base="xs:NMTOKEN">
              <xs:enumeration value="compact"/>
           </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
  </xs:attributeGroup>
  

  <xs:attributeGroup name="xhtml.div.legacy.attlist">
    <xs:attributeGroup ref="xhtml.align.legacy.attlist"/>
  </xs:attributeGroup>
  
  <xs:attributeGroup name="xhtml.heading.legacy.attlist">
    <xs:attributeGroup ref="xhtml.align.legacy.attlist"/>
  </xs:attributeGroup>  
  
  <xs:attributeGroup name="xhtml.p.legacy.attlist">
    <xs:attributeGroup ref="xhtml.align.legacy.attlist"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.pre.legacy.attlist">
    <xs:attribute name="width" type="xh11d:Length"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.script.legacy.attlist">
    <xs:attribute name="language" type="xh11d:ContentType"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.table.legacy.attlist">
    <xs:attribute name="align">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="left"/>
          <xs:enumeration value="center"/>
          <xs:enumeration value="right"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>     
    <xs:attribute name="bgcolor" type="xh11d:Color"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.tr.legacy.attlist">
    <xs:attribute name="bgcolor" type="xh11d:Color"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.th.legacy.attlist">
    <xs:attribute name="nowrap">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="nowrap"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>     
    <xs:attribute name="bgcolor" type="xh11d:Color"/>
    <xs:attribute name="width" type="xh11d:Length"/>
    <xs:attribute name="height" type="xh11d:Length"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.td.legacy.attlist">
    <xs:attribute name="nowrap">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="nowrap"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>     
    <xs:attribute name="bgcolor" type="xh11d:Color"/>
    <xs:attribute name="width" type="xh11d:Length"/>
    <xs:attribute name="height" type="xh11d:Length"/>
  </xs:attributeGroup>

  <xs:attributeGroup name="xhtml.ul.legacy.attlist">
    <xs:attribute name="type" type="xh11d:CDATA"/>
    <xs:attribute name="compact">
      <xs:simpleType>
        <xs:restriction base="xs:NMTOKEN">
          <xs:enumeration value="compact"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>         
  </xs:attributeGroup>

</xs:schema>