C. XHTML 1.1 Module Implementations

Contents

This appendix is normative.

This appendix contains the modules defined in [XHTMLMOD] implemented as XML DTDs. These module implementations are used by the XHTML 1.1 Driver, and can also be used by other XHTML Family Document Types.

C.1. XHTML Character Entities

XHTML DTDs make available a standard collection of named character entities. Those entities are defined in this section.

C.1.1. XHTML Latin 1 Character Entities

Module DTD/xhtml11-lat1.ent not found!

C.1.2. XHTML Special Characters

Module DTD/xhtml11-special.ent not found!

C.1.3. XHTML Mathematical, Greek, and Symbolic Characters

Module DTD/xhtml11-symbol.ent not found!

C.2. XHTML Modular Framework

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

<!-- ...................................................................... -->
<!-- XHTML 1.1 Modular Framework Module  .................................. -->
<!-- file: xhtml11-framework-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-framework-1.mod 1.7 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Modular Framework 1.0//EN"
     SYSTEM "xhtml11-framework-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Modular Framework

     This required module instantiates the modules needed
     to support the XHTML modularization model, including:

        +  datatypes
        +  common attributes
        +  document model
        +  character entities

     The Intrinsic Events module is ignored by default but
     occurs in this module because it must be instantiated
     prior to Attributes but after Datatypes.
-->

<!ENTITY % xhtml-datatypes.module "INCLUDE" >
<![%xhtml-datatypes.module;[
<!ENTITY % xhtml-datatypes.mod
     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Datatypes 1.0//EN"
            "xhtml11-datatypes-1.mod" >
%xhtml-datatypes.mod;]]>

<!ENTITY % xhtml-events.module "IGNORE" >
<![%xhtml-events.module;[
<!ENTITY % xhtml-events.mod
     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Intrinsic Events 1.0//EN"
            "xhtml11-events-1.mod" >
%xhtml-events.mod;]]>

<!ENTITY % xhtml-attribs.module "INCLUDE" >
<![%xhtml-attribs.module;[
<!ENTITY % xhtml-attribs.mod
     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Common Attributes 1.0//EN"
            "xhtml11-attribs-1.mod" >
%xhtml-attribs.mod;]]>

<!ENTITY % xhtml-model.module "INCLUDE" >
<![%xhtml-model.module;[
<!ENTITY % xhtml-model.mod
     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
            "xhtml11-model-1.mod" >
%xhtml-model.mod;]]>

<!ENTITY % xhtml-charent.module "INCLUDE" >
<![%xhtml-charent.module;[
<!ENTITY % xhtml-charent.mod
     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Character Entities 1.0//EN"
            "xhtml11-charent-1.mod" >
%xhtml-charent.mod;]]>

<!-- end of xhtml11-framework-1.mod -->

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

C.2.1. XHTML Datatypes

<!-- ...................................................................... -->
<!-- XHTML 1.1 Datatypes Module  .......................................... -->
<!-- file: xhtml11-datatypes-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-datatypes-1.mod 1.5 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Datatypes 1.0//EN"
     SYSTEM "xhtml11-datatypes-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Datatypes

     defines containers for the following datatypes, many of
     these imported from other specifications and standards.
-->

<!-- Length defined for cellpadding/cellspacing -->

<!-- nn for pixels or nn% for percentage length -->
<!ENTITY % Length.datatype "CDATA" >

<!-- space-separated list of link types -->
<!ENTITY % LinkTypes.datatype "NMTOKENS" >

<!-- single or comma-separated list of media descriptors -->
<!ENTITY % MediaDesc.datatype "CDATA" >

<!-- pixel, percentage, or relative -->
<!ENTITY % MultiLength.datatype "CDATA" >

<!-- one or more digits (NUMBER) -->
<!ENTITY % Number.datatype "CDATA" >

<!-- integer representing length in pixels -->
<!ENTITY % Pixels.datatype "CDATA" >

<!-- script expression -->
<!ENTITY % Script.datatype "CDATA" >

<!-- textual content -->
<!ENTITY % Text.datatype "CDATA" >

<!-- Imported Datatypes ................................ -->

<!-- a single character from [ISO10646] -->
<!ENTITY % Character.datatype "CDATA" >

<!-- a character encoding, as per [RFC2045] -->
<!ENTITY % Charset.datatype "CDATA" >

<!-- a space separated list of character encodings, as per [RFC2045] -->
<!ENTITY % Charsets.datatype "CDATA" >

<!-- media type, as per [RFC2045] -->
<!ENTITY % ContentType.datatype "CDATA" >

<!-- comma-separated list of media types, as per [RFC2045] -->
<!ENTITY % ContentTypes.datatype "CDATA" >

<!-- date and time information. ISO date format -->
<!ENTITY % Datetime.datatype "CDATA" >

<!-- a language code, as per [RFC1766] -->
<!ENTITY % LanguageCode.datatype "NMTOKEN" >

<!-- a Uniform Resource Identifier, see [URI] -->
<!ENTITY % URI.datatype "CDATA" >

<!-- end of xhtml11-datatypes-1.mod -->

C.2.2. XHTML Common Attribute Definitions

<!-- ...................................................................... -->
<!-- XHTML 1.1 Common Attributes Module  .................................. -->
<!-- file: xhtml11-attribs-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-attribs-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Common Attributes 1.0//EN"
     SYSTEM "xhtml11-attribs-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Common Attributes

     This modules declares many of the common attributes for the Strict DTD.
-->

<!ENTITY % Core.extra.attrib "" >

<!ENTITY % Core.attrib
     "id           ID                       #IMPLIED
      class        CDATA                    #IMPLIED
      title        %Text.datatype;          #IMPLIED
      %Core.extra.attrib;"
>

<![%XHTML.I18n;[
<!ENTITY % I18n.attrib
     "xml:lang     %LanguageCode.datatype;  #IMPLIED
      dir          (ltr|rtl)                #IMPLIED"
>
]]>
<!ENTITY % I18n.attrib "" >

<!-- intrinsic event attributes declared previously
-->
<!ENTITY % Events.attrib "" >

<!ENTITY % Common.attrib
     "%Core.attrib;
      %I18n.attrib;
      %Events.attrib;"
>

<!-- end of xhtml11-attribs-1.mod -->

C.2.3. XHTML Character Entities

<!-- ...................................................................... -->
<!-- XHTML 1.1 Character Entities Module  ................................. -->
<!-- file: xhtml11-charent-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-charent-1.mod 1.7 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Character Entities 1.0//EN"
     SYSTEM "xhtml11-charent-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Character Entities for XHTML

     This module declares the set of character entities for XHTML,
     including the Latin 1, Symbol and Special characters sets.
-->

<!ENTITY % xhtml11-lat1
    PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
           "http://www.w3.org/TR/xhtml1/DTD/XHTML-lat1.ent" >
<!ENTITY % xhtml11-symbol
    PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
           "http://www.w3.org/TR/xhtml1/DTD/XHTML-symbol.ent" >
<!ENTITY % xhtml11-special
    PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
           "http://www.w3.org/TR/xhtml1/DTD/XHTML-special.ent" >
%xhtml11-lat1;
%xhtml11-symbol;
%xhtml11-special;

<!-- end of xhtml11-charent-1.mod -->

C.3. XHTML Module Implementations

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

C.3.1. XHTML Basic Modules

C.3.1.1. Structure

<!-- ...................................................................... -->
<!-- XHTML 1.1 Structure Module  .......................................... -->
<!-- file: xhtml11-struct-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-struct-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Document Structure 1.0//EN"
     SYSTEM "xhtml11-struct-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Document Structure

        title, head, body, html

     The Structure Module defines the major structural elements
     and their attributes.

     Note that the content model of the head element type is 
     redeclared when the Base Module is included in the DTD.
-->

<!-- title: Document Title ............................. -->

<!-- The title element is not considered part of the flow of text.
     It should be displayed, for example as the page header or
     window title. Exactly one title is required per document.
-->

<!ENTITY % Title.element  "INCLUDE" >
<![%Title.element;[
<!ENTITY % Title.content  "( #PCDATA )" >
<!ELEMENT title  %Title.content; >
<!-- end of Title.element -->]]>

<!ENTITY % Title.attlist  "INCLUDE" >
<![%Title.attlist;[
<!ATTLIST title
      %I18n.attrib;
>
<!-- end of Title.attlist -->]]>

<!-- head: Document Head ............................... -->

<!ENTITY % Head.element  "INCLUDE" >
<![%Head.element;[
<!ENTITY % Head.content
    "( %Head-opts.mix;, title, %Head-opts.mix; )"
>
<!ELEMENT head  %Head.content; >
<!-- end of Head.element -->]]>

<!ENTITY % Head.attlist  "INCLUDE" >
<![%Head.attlist;[
<!-- reserved for future use with document profiles -->
<!ENTITY % Profile.attrib
     "profile      %URI.datatype;           '%XHTML.profile;'"
>

<!ATTLIST head
      %I18n.attrib;
      %Profile.attrib;
>
<!-- end of Head.attlist -->]]>

<!-- body: Document Body ............................... -->

<!ENTITY % Body.element  "INCLUDE" >
<![%Body.element;[
<!ENTITY % Body.content
     "( %Block.mix; )+"
>
<!ELEMENT body  %Body.content; >
<!-- end of Body.element -->]]>

<!ENTITY % Body.attlist  "INCLUDE" >
<![%Body.attlist;[
<!ATTLIST body
      %Common.attrib;
>
<!-- end of Body.attlist -->]]>

<!-- html: XHTML Document Element ...................... -->

<!ENTITY % Html.element  "INCLUDE" >
<![%Html.element;[
<!ENTITY % Html.content  "( head, body )" >
<!ELEMENT html  %Html.content; >
<!-- end of Html.element -->]]>

<!ENTITY % Html.attlist  "INCLUDE" >
<![%Html.attlist;[
<!-- namespace attribute value defined in driver
-->
<!ENTITY % Xmlns.attrib
     "xmlns        %URI.datatype;           #FIXED '%XHTML.ns;'"
>

<!ATTLIST html
      %I18n.attrib;
      %Xmlns.attrib;
>
<!-- end of Html.attlist -->]]>

<!-- end of xhtml11-struct-1.mod -->

C.3.1.2. Basic Text

<!-- ...................................................................... -->
<!-- XHTML 1.1 Basic Text Module  ......................................... -->
<!-- file: xhtml11-text-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-text-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Text 1.0//EN"
     SYSTEM "xhtml11-text-1.mod"

     Revisions:
     ....................................................................... -->

<!-- Textual Content

     The Text module includes declarations for all basic 
     text container elements and their attributes.
-->

<!ENTITY % xhtml-inlstruct.module "INCLUDE" >
<![%xhtml-inlstruct.module;[
<!ENTITY % xhtml-inlstruct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Inline Structural 1.0//EN"
            "xhtml11-inlstruct-1.mod" >
%xhtml-inlstruct.mod;]]>

<!ENTITY % xhtml-inlphras.module "INCLUDE" >
<![%xhtml-inlphras.module;[
<!ENTITY % xhtml-inlphras.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Inline Phrasal 1.0//EN"
            "xhtml11-inlphras-1.mod" >
%xhtml-inlphras.mod;]]>

<!ENTITY % xhtml-blkstruct.module "INCLUDE" >
<![%xhtml-blkstruct.module;[
<!ENTITY % xhtml-blkstruct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Block Structural 1.0//EN"
            "xhtml11-blkstruct-1.mod" >
%xhtml-blkstruct.mod;]]>

<!ENTITY % xhtml-blkphras.module "INCLUDE" >
<![%xhtml-blkphras.module;[
<!ENTITY % xhtml-blkphras.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Block Phrasal 1.0//EN"
            "xhtml11-blkphras-1.mod" >
%xhtml-blkphras.mod;]]>

<!-- end of xhtml11-text-1.mod -->

C.3.1.3. Hypertext

<!-- ...................................................................... -->
<!-- XHTML 1.1 Hypertext Module  .......................................... -->
<!-- file: xhtml11-hypertext-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-hypertext-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Hypertext 1.0//EN"
     SYSTEM "xhtml11-hypertext-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Hypertext

        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.
-->

<!-- ............  Anchor Element  ............ -->

<!ENTITY % A.element  "INCLUDE" >
<![%A.element;[
<!ENTITY % A.content
     "( #PCDATA | %Inline-noa.mix; )*"
>
<!ELEMENT a  %A.content; >
<!-- end of A.element -->]]>

<!ENTITY % A.attlist  "INCLUDE" >
<![%A.attlist;[
<!ATTLIST a
      %Common.attrib;
      href         %URI.datatype;           #IMPLIED
      charset      %Charset.datatype;       #IMPLIED
      type         %ContentType.datatype;   #IMPLIED
      hreflang     %LanguageCode.datatype;  #IMPLIED
      rel          %LinkTypes.datatype;     #IMPLIED
      rev          %LinkTypes.datatype;     #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
      tabindex     %Number.datatype;        #IMPLIED
>
<!-- end of A.attlist -->]]>

<!-- end of xhtml11-hypertext-1.mod -->

C.3.1.4. Lists

<!-- ...................................................................... -->
<!-- XHTML 1.1 Lists Module  .............................................. -->
<!-- file: xhtml11-list-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-list-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Lists 1.0//EN"
     SYSTEM "xhtml11-list-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Lists

        dl, dt, dd, ol, ul, li

     This module declares the list-oriented element types
     and their attributes.
-->

<!-- dl: Definition List ............................... -->

<!ENTITY % Dl.element  "INCLUDE" >
<![%Dl.element;[
<!ENTITY % Dl.content  "( dt | dd )+" >
<!ELEMENT dl  %Dl.content; >
<!-- end of Dl.element -->]]>

<!ENTITY % Dl.attlist  "INCLUDE" >
<![%Dl.attlist;[
<!ATTLIST dl
      %Common.attrib;
>
<!-- end of Dl.attlist -->]]>

<!-- dt: Definition Term ............................... -->

<!ENTITY % Dt.element  "INCLUDE" >
<![%Dt.element;[
<!ENTITY % Dt.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ELEMENT dt  %Dt.content; >
<!-- end of Dt.element -->]]>

<!ENTITY % Dt.attlist  "INCLUDE" >
<![%Dt.attlist;[
<!ATTLIST dt
      %Common.attrib;
>
<!-- end of Dt.attlist -->]]>

<!-- dd: Definition Description ........................ -->

<!ENTITY % Dd.element  "INCLUDE" >
<![%Dd.element;[
<!ENTITY % Dd.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT dd  %Dd.content; >
<!-- end of Dd.element -->]]>

<!ENTITY % Dd.attlist  "INCLUDE" >
<![%Dd.attlist;[
<!ATTLIST dd
      %Common.attrib;
>
<!-- end of Dd.attlist -->]]>

<!-- ol: Ordered List (numbered styles) ................ -->

<!ENTITY % Ol.element  "INCLUDE" >
<![%Ol.element;[
<!ENTITY % Ol.content  "( li )+" >
<!ELEMENT ol  %Ol.content; >
<!-- end of Ol.element -->]]>

<!ENTITY % Ol.attlist  "INCLUDE" >
<![%Ol.attlist;[
<!ATTLIST ol
      %Common.attrib;
>
<!-- end of Ol.attlist -->]]>

<!-- ul: Unordered List (bullet styles) ................ -->

<!ENTITY % Ul.element  "INCLUDE" >
<![%Ul.element;[
<!ENTITY % Ul.content  "( li )+" >
<!ELEMENT ul  %Ul.content; >
<!-- end of Ul.element -->]]>

<!ENTITY % Ul.attlist  "INCLUDE" >
<![%Ul.attlist;[
<!ATTLIST ul
      %Common.attrib;
>
<!-- end of Ul.attlist -->]]>

<!-- li: List Item ..................................... -->

<!ENTITY % Li.element  "INCLUDE" >
<![%Li.element;[
<!ENTITY % Li.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT li  %Li.content; >
<!-- end of Li.element -->]]>

<!ENTITY % Li.attlist  "INCLUDE" >
<![%Li.attlist;[
<!ATTLIST li
      %Common.attrib;
>
<!-- end of Li.attlist -->]]>

<!-- end of xhtml11-list-1.mod -->

C.3.2. Applet

<!-- ...................................................................... -->
<!-- XHTML 1.1 Java Applet Module  ........................................ -->
<!-- file: xhtml11-applet-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-applet-1.mod 1.7 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Java Applets 1.0//EN"
     SYSTEM "xhtml11-applet-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Java Applets

        applet, param

     This module declares the applet and param element types and
     their 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.
     Place param elements before other content. 
-->

<!-- applet: Java Applet ............................... -->

<!ENTITY % Applet.element  "INCLUDE" >
<![%Applet.element;[
<!ENTITY % Applet.content
     "( param | %Flow.mix; )*"
>
<!ELEMENT applet  %Applet.content; >
<!-- end of Applet.element -->]]>

<!ENTITY % Applet.attlist  "INCLUDE" >
<![%Applet.attlist;[
<!ATTLIST applet
      %Core.attrib;
      alt          %Text.datatype;          #REQUIRED
      name         CDATA                    #IMPLIED
      archive      CDATA                    #IMPLIED
      code         CDATA                    #IMPLIED
      codebase     %URI.datatype;           #IMPLIED
      object       CDATA                    #IMPLIED
      width        %Length.datatype;        #REQUIRED
      height       %Length.datatype;        #REQUIRED
>
<!-- end of Applet.attlist -->]]>

<!-- param: Named Property Value ....................... -->

<!ENTITY % Param.element  "INCLUDE" >
<![%Param.element;[
<!ENTITY % Param.content  "EMPTY" >
<!ELEMENT param  %Param.content; >
<!-- end of Param.element -->]]>

<!ENTITY % Param.attlist  "INCLUDE" >
<![%Param.attlist;[
<!ATTLIST param
      id           ID                       #IMPLIED
      name         CDATA                    #REQUIRED
      value        CDATA                    #IMPLIED
      valuetype    (data|ref|object)        'data'
      type         %ContentType.datatype;   #IMPLIED
>
<!-- end of Param.attlist -->]]>

<!-- end of xhtml11-applet-1.mod -->

C.3.3. Text Modules

C.3.3.1. Presentation

<!-- ...................................................................... -->
<!-- XHTML 1.1 Presentation Module ........................................ -->
<!-- file: xhtml11-pres-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-pres-1.mod 1.4 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Presentation 1.0//EN"
     SYSTEM "xhtml11-pres-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Presentational Elements

     This module defines elements and their attributes for
     simple presentation-related markup.
-->

<!ENTITY % xhtml-inlpres.module "INCLUDE" >
<![%xhtml-inlpres.module;[
<!ENTITY % xhtml-inlpres.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Inline Presentation 1.0//EN"
            "xhtml11-inlpres-1.mod" >
%xhtml-inlpres.mod;]]>

<!ENTITY % xhtml-blkpres.module "INCLUDE" >
<![%xhtml-blkpres.module;[
<!ENTITY % xhtml-blkpres.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Block Presentation 1.0//EN"
            "xhtml11-blkpres-1.mod" >
%xhtml-blkpres.mod;]]>

<!-- end of xhtml11-pres-1.mod -->

C.3.3.2. Edit

<!-- ...................................................................... -->
<!-- XHTML 1.1 Editing Elements Module  ................................... -->
<!-- file: xhtml11-edit-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-edit-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Editing Markup 1.0//EN"
     SYSTEM "xhtml11-edit-1.mod"

     Revisions:
     ....................................................................... -->

<!-- Editing Elements

        ins, del

     This module declares element types and attributes used to indicate
     inserted and deleted content while editing a document.
-->

<!ENTITY % Ins.element  "INCLUDE" >
<![%Ins.element;[
<!ENTITY % Ins.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT ins  %Ins.content; >
<!-- end of Ins.element -->]]>

<!ENTITY % Ins.attlist  "INCLUDE" >
<![%Ins.attlist;[
<!ATTLIST ins
      %Common.attrib;
      cite         %URI.datatype;           #IMPLIED
      datetime     %Datetime.datatype;      #IMPLIED
>
<!-- end of Ins.attlist -->]]>

<!ENTITY % Del.element  "INCLUDE" >
<![%Del.element;[
<!ENTITY % Del.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT del  %Del.content; >
<!-- end of Del.element -->]]>

<!ENTITY % Del.attlist  "INCLUDE" >
<![%Del.attlist;[
<!ATTLIST del
      %Common.attrib;
      cite         %URI.datatype;           #IMPLIED
      datetime     %Datetime.datatype;      #IMPLIED
>
<!-- end of Del.attlist -->]]>

<!-- end of xhtml11-edit-1.mod -->

C.3.3.3. Bi-Directional Override Elements

<!-- ...................................................................... -->
<!-- XHTML 1.1 BDO Element Module ......................................... -->
<!-- file: xhtml11-bdo-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-bdo-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 BDO Element 1.0//EN"
     SYSTEM "xhtml11-bdo-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Bidirectional Override (bdo) Element

     This modules declares the element 'bdo', used to override the
     Unicode bidirectional algorithm for selected fragments of text.

     DEPENDENCIES:
     Relies on the conditional section keyword %XHTML.I18n; declared
     as "INCLUDE" and the parameter entity %I18n.attrib; declared
     in the common attributes module. Internationalization support
     includes both the bdo element and the i18n attributes.
-->

<!ENTITY % Bdo.element  "INCLUDE" >
<![%Bdo.element;[
<!ENTITY % Bdo.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ELEMENT bdo  %Bdo.content; >
<!-- end of Bdo.element -->]]>

<!ENTITY % Bdo.attlist  "INCLUDE" >
<![%Bdo.attlist;[
<!ATTLIST bdo
      %Core.attrib;
      xml:lang     %LanguageCode.datatype;  #IMPLIED
      dir          (ltr|rtl)                #REQUIRED
>
]]>

<!-- end of xhtml11-bdo-1.mod -->

C.3.4. Forms

C.3.4.1. Basic Forms

<!-- ...................................................................... -->
<!-- XHTML 1.1 Simplified Forms Module  ................................... -->
<!-- file: xhtml11-formb-1.mod

     This module subsets XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-formb-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Forms 1.0//EN"  
     SYSTEM "xhtml11-formb-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- 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.0 common attributes.

        form, label, input, select, option, textarea

     When Basic Forms are used in lieu of the default XHTML 1.1
     Forms module, the parameter entity %Inline.extra; must
     be redeclared in the model module to include:

        "| input | select | textarea | label"
-->

<!-- %Block-noform.mix; includes all non-form block elements,
     plus %Misc.class;
-->
<!ENTITY % Block-noform.mix
     "%Heading.class;
      | %List.class;
      | %Blkstruct.class;
      %Blkphras.class;
      %Blkpres.class;
      | table 
      %Misc.class;"
>

<!-- form: Form Element ................................ -->

<!ENTITY % Form.element  "INCLUDE" >
<![%Form.element;[
<!ENTITY % Form.content
     "( %Block-noform.mix; )+"
>
<!ELEMENT form  %Form.content; >
<!-- end of Form.element -->]]>

<!ENTITY % Form.attlist  "INCLUDE" >
<![%Form.attlist;[
<!ATTLIST form
      %Common.attrib;
      action       %URI.datatype;           #REQUIRED
      method       (get|post)               'get'
      enctype      %ContentType.datatype;   'application/x-www-form-urlencoded'
>
<!-- end of Form.attlist -->]]>

<!-- label: Form Field Label Text ...................... -->

<!ENTITY % Label.element  "INCLUDE" >
<![%Label.element;[
<!-- Each label must not contain more than ONE field
-->
<!ENTITY % Label.content
     "( #PCDATA 
      | input | select | textarea | button
      | %Inlstruct.class;
      %Inlphras.class;
      %I18n.class;
      %Inlpres.class;
      %Inlspecial.class;
      %Misc.class; )*"
>
<!ELEMENT label  %Label.content; >
<!-- end of Label.element -->]]>

<!ENTITY % Label.attlist  "INCLUDE" >
<![%Label.attlist;[
<!ATTLIST label
      %Common.attrib;
      for          IDREF                    #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
>
<!-- end of Label.attlist -->]]>

<!-- input: Form Control ............................... -->

<!ENTITY % Input.element  "INCLUDE" >
<![%Input.element;[
<!ENTITY % Input.content  "EMPTY" >
<!ELEMENT input  %Input.content; >
<!-- end of Input.element -->]]>

<!ENTITY % Input.attlist  "INCLUDE" >
<![%Input.attlist;[
<!ENTITY % InputType.class
     "( text | password | checkbox | radio | submit 
      | reset | file | hidden | image )"
>
<!-- attribute name required for all but submit & reset
-->
<!ATTLIST input
      %Common.attrib;
      type         %InputType.class;        'text'
      name         CDATA                    #IMPLIED
      value        CDATA                    #IMPLIED
      checked      (checked)                #IMPLIED
      size         CDATA                    #IMPLIED
      maxlength    %Number.datatype;        #IMPLIED
      src          %URI.datatype;           #IMPLIED
>
<!-- end of Input.attlist -->]]>

<!-- select: Option Selector ........................... -->

<!ENTITY % Select.element  "INCLUDE" >
<![%Select.element;[
<!ENTITY % Select.content  "( option )+" >
<!ELEMENT select  %Select.content; >
<!-- end of Select.element -->]]>

<!ENTITY % Select.attlist  "INCLUDE" >
<![%Select.attlist;[
<!ATTLIST select
      %Common.attrib;
      name         CDATA                    #IMPLIED
      size         %Number.datatype;        #IMPLIED
      multiple     (multiple)               #IMPLIED
>
<!-- end of Select.attlist -->]]>

<!-- option: Selectable Choice ......................... -->

<!ENTITY % Option.element  "INCLUDE" >
<![%Option.element;[
<!ENTITY % Option.content  "( #PCDATA )" >
<!ELEMENT option  %Option.content; >
<!-- end of Option.element -->]]>

<!ENTITY % Option.attlist  "INCLUDE" >
<![%Option.attlist;[
<!ATTLIST option
      %Common.attrib;
      selected     (selected)               #IMPLIED
      value        CDATA                    #IMPLIED
>
<!-- end of Option.attlist -->]]>

<!-- textarea: Multi-Line Text Field ................... -->

<!ENTITY % Textarea.element  "INCLUDE" >
<![%Textarea.element;[
<!ENTITY % Textarea.content  "( #PCDATA )" >
<!ELEMENT textarea  %Textarea.content; >
<!-- end of Textarea.element -->]]>

<!ENTITY % Textarea.attlist  "INCLUDE" >
<![%Textarea.attlist;[
<!ATTLIST textarea
      %Common.attrib;
      name         CDATA                    #IMPLIED
      rows         %Number.datatype;        #REQUIRED
      cols         %Number.datatype;        #REQUIRED
>
<!-- end of Textarea.attlist -->]]>

<!-- end of xhtml11-formb-1.mod -->

C.3.4.2. Forms

<!-- ...................................................................... -->
<!-- XHTML 1.1 Extended Forms 1.0 Module  ................................. -->
<!-- file: xhtml11-formx-1.mod

     This is an extension of XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-formx-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Extended Forms 1.0//EN"  
     SYSTEM "xhtml11-formx-1.mod"

     Revisions:
     ....................................................................... -->

<!-- C.7.15. Extended Forms Version 1.0

     [Any description here.]
-->

<!-- TBD -->

<!-- end of xhtml11-formx-1.mod -->

C.3.5. Tables

C.3.5.1. Basic Tables

<!-- ....................................................................... -->
<!-- XHTML 1.1 Basic Table Module  ......................................... -->
<!-- file: xhtml11-tableb-1.mod

     This module subsets XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-tableb-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Tables 1.0//EN"
     SYSTEM "xhtml11-tableb-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- 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.0 common and most of the HTML 4.0 table attributes.
-->

<!-- The border attribute sets the thickness of the frame
     around the table. The default units are screen pixels.
-->

<!-- horizontal alignment attributes for cell contents
-->
<!ENTITY % CellHAlign.attrib
     "align        ( left
                   | center
                   | right )                #IMPLIED"
>

<!-- vertical alignment attributes for cell contents
-->
<!ENTITY % CellVAlign.attrib
     "valign       ( top
                   | middle
                   | bottom )               #IMPLIED"
>

<!-- table: Table Element .............................. -->

<!ENTITY % Table.element  "INCLUDE" >
<![%Table.element;[
<!ENTITY % Table.content
     "( caption?, tr+ )"
>
<!ELEMENT table  %Table.content; >
<!-- end of Table.element -->]]>

<!ENTITY % Table.attlist  "INCLUDE" >
<![%Table.attlist;[
<!ATTLIST table
      %Common.attrib;
      width        %Length.datatype;        #IMPLIED
      border       %Pixels.datatype;        #IMPLIED
      cellspacing  %Length.datatype;        #IMPLIED
      cellpadding  %Length.datatype;        #IMPLIED
>
<!-- end of Table.attlist -->]]>

<!-- caption: Table Caption ............................ -->

<!ENTITY % Caption.element  "INCLUDE" >
<![%Caption.element;[
<!ENTITY % Caption.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ELEMENT caption  %Caption.content; >
<!-- end of Caption.element -->]]>

<!ENTITY % Caption.attlist  "INCLUDE" >
<![%Caption.attlist;[
<!ENTITY % CaptionAlign.attrib
     "align        ( top | bottom )         #IMPLIED"
>

<!ATTLIST caption
      %Common.attrib;
      %CaptionAlign.attrib;
>
<!-- end of Caption.attlist -->]]>

<!-- tr: Table Row ..................................... -->

<!ENTITY % Tr.element  "INCLUDE" >
<![%Tr.element;[
<!ENTITY % Tr.content  "( th | td )+" >
<!ELEMENT tr  %Tr.content; >
<!-- end of Tr.element -->]]>

<!ENTITY % Tr.attlist  "INCLUDE" >
<![%Tr.attlist;[
<!ATTLIST tr
      %Common.attrib;
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Tr.attlist -->]]>

<!-- th: Table Header Cell ............................. -->

<!-- th is for header cells, td for data,
     but for cells acting as both use td
-->

<!ENTITY % Th.element  "INCLUDE" >
<![%Th.element;[
<!ENTITY % Th.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT th  %Th.content; >
<!-- end of Th.element -->]]>

<!ENTITY % Th.attlist  "INCLUDE" >
<![%Th.attlist;[
<!ATTLIST th
      %Common.attrib;
      abbr         %Text.datatype;          #IMPLIED
      axis         CDATA                    #IMPLIED
      headers      IDREFS                   #IMPLIED
      rowspan      %Number.datatype;        '1'
      colspan      %Number.datatype;        '1'
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Th.attlist -->]]>

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

<!ENTITY % Td.element  "INCLUDE" >
<![%Td.element;[
<!ENTITY % Td.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT td  %Td.content; >
<!-- end of Td.element -->]]>

<!ENTITY % Td.attlist  "INCLUDE" >
<![%Td.attlist;[
<!ATTLIST td
      %Common.attrib;
      abbr         %Text.datatype;          #IMPLIED
      axis         CDATA                    #IMPLIED
      headers      IDREFS                   #IMPLIED
      rowspan      %Number.datatype;        '1'
      colspan      %Number.datatype;        '1'
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Td.attlist -->]]>

<!-- end of xhtml11-tableb-1.mod -->

C.3.5.2. Tables

<!-- ...................................................................... -->
<!-- XHTML 1.1 Table Module  .............................................. -->
<!-- file: xhtml11-table-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-table-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Tables 1.0//EN"
     SYSTEM "xhtml11-table-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- 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.
-->

<!-- The border attribute sets the thickness of the frame around the
     table. The default units are screen pixels.

     The value "border" is included for backwards compatibility with
     <table border> which yields frame="border" and border="implied".
     For <table border="1"> you get border="1" and frame="implied".
     In this case, it is appropriate to treat this as frame="border"
     for backwards compatibility with deployed browsers.
-->

<!-- The frame attribute specifies which parts of the frame around
     the table should be rendered. The values are not the same as
     CALS to avoid a name clash with the valign attribute.
-->
<!ENTITY % TFrame.attrib
     "frame        ( void
                   | above
                   | below
                   | hsides
                   | lhs
                   | rhs
                   | vsides
                   | box
                   | border )               #IMPLIED"
>

<!-- The rules attribute defines which rules to draw between cells:

     If rules is absent then assume:

       "none" if border is absent or border="0" otherwise "all"
-->
<!ENTITY % TRules.attrib
     "rules        ( none
                   | groups
                   | rows
                   | cols
                   | all )                  #IMPLIED"
>

<!-- horizontal alignment attributes for cell contents
-->
<!ENTITY % CellHAlign.attrib
     "align        ( left
                   | center
                   | right
                   | justify
                   | char )                 #IMPLIED
      char         %Character.datatype;     #IMPLIED
      charoff      %Length.datatype;        #IMPLIED"
>

<!-- vertical alignment attributes for cell contents
-->
<!ENTITY % CellVAlign.attrib
     "valign       ( top
                   | middle
                   | bottom
                   | baseline )             #IMPLIED"
>

<!-- scope is simpler than axes attribute for common tables
-->
<!ENTITY % Scope.attrib
     "scope        ( row
                   | col
                   | rowgroup
                   | colgroup )             #IMPLIED"
>

<!-- table: Table Element .............................. -->

<!ENTITY % Table.element  "INCLUDE" >
<![%Table.element;[
<!ENTITY % Table.content
     "( caption?, ( col* | colgroup* ),
      (( thead?, tfoot?, tbody+ ) | ( tr+ )))"
>
<!ELEMENT table  %Table.content; >
<!-- end of Table.element -->]]>

<!ENTITY % Table.attlist  "INCLUDE" >
<![%Table.attlist;[
<!ATTLIST table
      %Common.attrib;
      summary      %Text.datatype;          #IMPLIED
      width        %Length.datatype;        #IMPLIED
      border       %Pixels.datatype;        #IMPLIED
      %TFrame.attrib;
      %TRules.attrib;
      cellspacing  %Length.datatype;        #IMPLIED
      cellpadding  %Length.datatype;        #IMPLIED
      datapagesize CDATA                    #IMPLIED
>
<!-- end of Table.attlist -->]]>

<!-- caption: Table Caption ............................ -->

<!ENTITY % Caption.element  "INCLUDE" >
<![%Caption.element;[
<!ENTITY % Caption.content
     "( #PCDATA | %Inline.mix; )*"
>
<!ELEMENT caption  %Caption.content; >
<!-- end of Caption.element -->]]>

<!ENTITY % Caption.attlist  "INCLUDE" >
<![%Caption.attlist;[
<!ATTLIST caption
      %Common.attrib;
>
<!-- end of Caption.attlist -->]]>

<!-- thead: Table Header ............................... -->

<!-- Use thead to duplicate headers when breaking table
     across page boundaries, or for static headers when
     tbody sections are rendered in scrolling panel.
-->

<!ENTITY % Thead.element  "INCLUDE" >
<![%Thead.element;[
<!-- end of Thead.element -->]]>
<!ENTITY % Thead.content  "( tr )+" >
<!ELEMENT thead  %Thead.content; >

<!ENTITY % Thead.attlist  "INCLUDE" >
<![%Thead.attlist;[
<!ATTLIST thead
      %Common.attrib;
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Thead.attlist -->]]>

<!-- tfoot: Table Footer ............................... -->

<!-- Use tfoot to duplicate footers when breaking table
     across page boundaries, or for static footers when
     tbody sections are rendered in scrolling panel.
-->

<!ENTITY % Tfoot.element  "INCLUDE" >
<![%Tfoot.element;[
<!ENTITY % Tfoot.content  "( tr )+" >
<!ELEMENT tfoot  %Tfoot.content; >
<!-- end of Tfoot.element -->]]>

<!ENTITY % Tfoot.attlist  "INCLUDE" >
<![%Tfoot.attlist;[
<!ATTLIST tfoot
      %Common.attrib;
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Tfoot.attlist -->]]>

<!-- tbody: Table Body ................................. -->

<!-- Use multiple tbody sections when rules are needed
     between groups of table rows.
-->

<!ENTITY % Tbody.element  "INCLUDE" >
<![%Tbody.element;[
<!ENTITY % Tbody.content  "( tr )+" >
<!ELEMENT tbody  %Tbody.content; >
<!-- end of Tbody.element -->]]>

<!ENTITY % Tbody.attlist  "INCLUDE" >
<![%Tbody.attlist;[
<!ATTLIST tbody
      %Common.attrib;
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Tbody.attlist -->]]>

<!-- colgroup: Table Column Group ...................... -->

<!-- colgroup groups a set of col elements. It allows you
     to group several semantically-related columns together.
-->

<!ENTITY % Colgroup.element  "INCLUDE" >
<![%Colgroup.element;[
<!ENTITY % Colgroup.content  "( col )*" >
<!ELEMENT colgroup  %Colgroup.content; >
<!-- end of Colgroup.element -->]]>

<!ENTITY % Colgroup.attlist  "INCLUDE" >
<![%Colgroup.attlist;[
<!-- end of Colgroup.attlist -->]]>
<!ATTLIST colgroup
      %Common.attrib;
      span         %Number.datatype;        '1'
      width        %MultiLength.datatype;   #IMPLIED
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>

<!-- col: Table Column ................................. -->

<!-- col elements define the alignment properties for
     cells in one or more columns.

     The width attribute specifies the width of the
     columns, e.g.

       width="64"        width in screen pixels
       width="0.5*"      relative width of 0.5

     The span attribute causes the attributes of one
     col element to apply to more than one column.
-->

<!ENTITY % Col.element  "INCLUDE" >
<![%Col.element;[
<!ENTITY % Col.content  "EMPTY" >
<!ELEMENT col  %Col.content; >
<!-- end of Col.element -->]]>

<!ENTITY % Col.attlist  "INCLUDE" >
<![%Col.attlist;[
<!ATTLIST col
      %Common.attrib;
      span         %Number.datatype;        '1'
      width        %MultiLength.datatype;   #IMPLIED
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Col.attlist -->]]>

<!-- tr: Table Row ..................................... -->

<!ENTITY % Tr.element  "INCLUDE" >
<![%Tr.element;[
<!ENTITY % Tr.content  "( th | td )+" >
<!ELEMENT tr  %Tr.content; >
<!-- end of Tr.element -->]]>

<!ENTITY % Tr.attlist  "INCLUDE" >
<![%Tr.attlist;[
<!ATTLIST tr
      %Common.attrib;
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Tr.attlist -->]]>

<!-- th: Table Header Cell ............................. -->

<!-- th is for header cells, td for data,
     but for cells acting as both use td
-->

<!ENTITY % Th.element  "INCLUDE" >
<![%Th.element;[
<!ENTITY % Th.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT th  %Th.content; >
<!-- end of Th.element -->]]>

<!ENTITY % Th.attlist  "INCLUDE" >
<![%Th.attlist;[
<!ATTLIST th
      %Common.attrib;
      abbr         %Text.datatype;          #IMPLIED
      axis         CDATA                    #IMPLIED
      headers      IDREFS                   #IMPLIED
      %Scope.attrib;
      rowspan      %Number.datatype;        '1'
      colspan      %Number.datatype;        '1'
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Th.attlist -->]]>

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

<!ENTITY % Td.element  "INCLUDE" >
<![%Td.element;[
<!ENTITY % Td.content
     "( #PCDATA | %Flow.mix; )*"
>
<!ELEMENT td  %Td.content; >
<!-- end of Td.element -->]]>

<!ENTITY % Td.attlist  "INCLUDE" >
<![%Td.attlist;[
<!ATTLIST td
      %Common.attrib;
      abbr         %Text.datatype;          #IMPLIED
      axis         CDATA                    #IMPLIED
      headers      IDREFS                   #IMPLIED
      %Scope.attrib;
      rowspan      %Number.datatype;        '1'
      colspan      %Number.datatype;        '1'
      %CellHAlign.attrib;
      %CellVAlign.attrib;
>
<!-- end of Td.attlist -->]]>

<!-- end of xhtml11-table-1.mod -->

C.3.6. Image

<!-- ...................................................................... -->
<!-- XHTML 1.1 Images Module  ............................................. -->
<!-- file: xhtml11-image-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-image-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Images 1.0//EN"
     SYSTEM "xhtml11-image-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Images

        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.
-->

<!ENTITY % Img.element  "INCLUDE" >
<![%Img.element;[
<!ENTITY % Img.content  "EMPTY" >
<!ELEMENT img  %Img.content; >
<!-- end of Img.element -->]]>

<!ENTITY % Img.attlist  "INCLUDE" >
<![%Img.attlist;[
<!ATTLIST img
      %Common.attrib;
      src          %URI.datatype;           #REQUIRED
      alt          %Text.datatype;          #REQUIRED
      longdesc     %URI.datatype;           #IMPLIED
      height       %Length.datatype;        #IMPLIED
      width        %Length.datatype;        #IMPLIED
>
<!-- end of Img.attlist -->]]>

<!-- end of xhtml11-image-1.mod -->

C.3.7. Client-side Image Map

<!-- ...................................................................... -->
<!-- XHTML 1.1 Client-side Image Map Module  .............................. -->
<!-- file: xhtml11-csismap-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-csismap-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Client-side Image Maps 1.0//EN"
     SYSTEM "xhtml11-csismap-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Client-side Image Maps

        area, map

     This module declares elements and attributes to support client-side
     image maps. This requires that the Image Module (or a module
     declaring the img element type) be included in the DTD.

     These can be placed in the same document or grouped in a
     separate document, although the latter isn't widely supported
-->

<!ENTITY % Map.element  "INCLUDE" >
<![%Map.element;[
<!ENTITY % Map.content
     "(( %Block.mix; ) | area )+"
>
<!ELEMENT map  %Map.content; >
<!-- end of Map.element -->]]>

<!ENTITY % Map.attlist  "INCLUDE" >
<![%Map.attlist;[
<!ATTLIST map
      id           ID                       #REQUIRED
      class        CDATA                    #IMPLIED
      title        %Text.datatype;          #IMPLIED
      xml:lang     %LanguageCode.datatype;  #IMPLIED
      dir          (ltr|rtl)                #IMPLIED
      %Events.attrib;
>
<!-- end of Map.attlist -->]]>

<!ENTITY % Area.element  "INCLUDE" >
<![%Area.element;[
<!ENTITY % Area.content  "EMPTY" >
<!ELEMENT area  %Area.content; >
<!-- end of Area.element -->]]>

<!ENTITY % Shape.datatype "( rect | circle | poly | default )">
<!ENTITY % Coords.datatype "CDATA" >

<!ENTITY % Area.attlist  "INCLUDE" >
<![%Area.attlist;[
<!ATTLIST area
      %Common.attrib;
      href         %URI.datatype;           #IMPLIED
      shape        %Shape.datatype;         'rect'
      coords       %Coords.datatype;        #IMPLIED
      nohref       (nohref)                 #IMPLIED
      alt          %Text.datatype;          #REQUIRED
      tabindex     %Number.datatype;        #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
>
<!-- end of Area.attlist -->]]>

<!-- modify anchor attribute definition list
     to allow for client-side image maps
-->
<!ATTLIST a
      shape        %Shape.datatype;         'rect'
      coords       %Coords.datatype;        #IMPLIED
>

<!-- modify img attribute definition list
     to allow for client-side image maps
-->
<!ATTLIST img
      usemap       IDREF                    #IMPLIED
>
<!-- 'usemap' points to the 'id' attribute of a MAP element,
     which must be in the same document; support for external
     document maps was not widely supported in HTML and is
     eliminated in XHTML.

     It is considered an error for the element pointed to by
     a usemap IDREF to occur in anything but a map element.
-->

<!-- end of xhtml11-csismap-1.mod -->

C.3.8. Server-side Image Map

<!-- ...................................................................... -->
<!-- XHTML 1.1 Client-side Image Map Module  .............................. -->
<!-- file: xhtml11-csismap-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-csismap-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Client-side Image Maps 1.0//EN"
     SYSTEM "xhtml11-csismap-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Client-side Image Maps

        area, map

     This module declares elements and attributes to support client-side
     image maps. This requires that the Image Module (or a module
     declaring the img element type) be included in the DTD.

     These can be placed in the same document or grouped in a
     separate document, although the latter isn't widely supported
-->

<!ENTITY % Map.element  "INCLUDE" >
<![%Map.element;[
<!ENTITY % Map.content
     "(( %Block.mix; ) | area )+"
>
<!ELEMENT map  %Map.content; >
<!-- end of Map.element -->]]>

<!ENTITY % Map.attlist  "INCLUDE" >
<![%Map.attlist;[
<!ATTLIST map
      id           ID                       #REQUIRED
      class        CDATA                    #IMPLIED
      title        %Text.datatype;          #IMPLIED
      xml:lang     %LanguageCode.datatype;  #IMPLIED
      dir          (ltr|rtl)                #IMPLIED
      %Events.attrib;
>
<!-- end of Map.attlist -->]]>

<!ENTITY % Area.element  "INCLUDE" >
<![%Area.element;[
<!ENTITY % Area.content  "EMPTY" >
<!ELEMENT area  %Area.content; >
<!-- end of Area.element -->]]>

<!ENTITY % Shape.datatype "( rect | circle | poly | default )">
<!ENTITY % Coords.datatype "CDATA" >

<!ENTITY % Area.attlist  "INCLUDE" >
<![%Area.attlist;[
<!ATTLIST area
      %Common.attrib;
      href         %URI.datatype;           #IMPLIED
      shape        %Shape.datatype;         'rect'
      coords       %Coords.datatype;        #IMPLIED
      nohref       (nohref)                 #IMPLIED
      alt          %Text.datatype;          #REQUIRED
      tabindex     %Number.datatype;        #IMPLIED
      accesskey    %Character.datatype;     #IMPLIED
>
<!-- end of Area.attlist -->]]>

<!-- modify anchor attribute definition list
     to allow for client-side image maps
-->
<!ATTLIST a
      shape        %Shape.datatype;         'rect'
      coords       %Coords.datatype;        #IMPLIED
>

<!-- modify img attribute definition list
     to allow for client-side image maps
-->
<!ATTLIST img
      usemap       IDREF                    #IMPLIED
>
<!-- 'usemap' points to the 'id' attribute of a MAP element,
     which must be in the same document; support for external
     document maps was not widely supported in HTML and is
     eliminated in XHTML.

     It is considered an error for the element pointed to by
     a usemap IDREF to occur in anything but a map element.
-->

<!-- end of xhtml11-csismap-1.mod -->

C.3.9. Object

<!-- ...................................................................... -->
<!-- XHTML 1.0 External Inclusion Module  ................................. -->
<!-- file: xhtml1-object-1.mod

     This is XHTML 1.0, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml1-object-1.mod 1.4 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.0 Object Element 1.0//EN"
     SYSTEM "xhtml1-object-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Embedded Objects

        object, param

     This module declares the object element type and its attributes,
     used to embed external objects as part of XHTML pages; param 
     elements should precede other content.
-->

<!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
<!ENTITY % URIs.datatype "CDATA" >

<!-- object: Generic Embedded Object ................... -->

<!ENTITY % Object.element  "INCLUDE" >
<![%Object.element;[
<!ENTITY % Object.content
     "( #PCDATA | %Flow.mix; | param )*"
>
<!ELEMENT object  %Object.content; >
<!-- end of Object.element -->]]>

<!ENTITY % Object.attlist  "INCLUDE" >
<![%Object.attlist;[
<!ATTLIST object
      %Common.attrib;
      declare      (declare)                #IMPLIED
      classid      %URI.datatype;           #IMPLIED
      codebase     %URI.datatype;           #IMPLIED
      data         %URI.datatype;           #IMPLIED
      type         %ContentType.datatype;   #IMPLIED
      codetype     %ContentType.datatype;   #IMPLIED
      archive      %URIs.datatype;          #IMPLIED
      standby      %Text.datatype;          #IMPLIED
      height       %Length.datatype;        #IMPLIED
      width        %Length.datatype;        #IMPLIED
      usemap       IDREF                    #IMPLIED
      name         CDATA                    #IMPLIED
      tabindex     %Number.datatype;        #IMPLIED
>
<!-- end of Object.attlist -->]]>

<!-- param: Named Property Value ....................... -->

<!ENTITY % Param.element  "INCLUDE" >
<![%Param.element;[
<!ENTITY % Param.content  "EMPTY" >
<!ELEMENT param  %Param.content; >
<!-- end of Param.element -->]]>

<!ENTITY % Param.attlist  "INCLUDE" >
<![%Param.attlist;[
<!ATTLIST param
      id           ID                       #IMPLIED
      name         CDATA                    #REQUIRED
      value        CDATA                    #IMPLIED
      valuetype    (data|ref|object)        'data'
      type         %ContentType.datatype;   #IMPLIED
>
<!-- end of Param.attlist -->]]>

<!-- end of xhtml1-object-1.mod -->

C.3.10. Frames

<!-- ...................................................................... -->
<!-- XHTML 1.0 Frames Module  ............................................. -->
<!-- file: xhtml1-frames-1.mod

     This is XHTML 1.0, an XML reformulation of HTML 4.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml1-frames-1.mod 1.4 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.0 Frames//EN"
     SYSTEM "xhtml1-frames-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Frames 

        frame, frameset, noframes

     This module declares frame-related element types and attributes.
-->

<!-- comma-separated list of MultiLength -->
<!ENTITY % MultiLengths.datatype "CDATA" >

<!-- render in this frame --> 
<!ENTITY % FrameTarget.datatype "CDATA" >

<!-- The content model for XHTML documents depends on whether 
     the <head> is followed by a <frameset> or <body> element. 
--> 
 
<!ENTITY % Frameset.content  "(( frameset | frame )+, noframes? )" >
<!ELEMENT frameset  %Frameset.content; >
<!ATTLIST frameset 
      %Core.attrib;
      rows         %MultiLengths.datatype;  #IMPLIED
      cols         %MultiLengths.datatype;  #IMPLIED
> 
 
<!-- reserved frame names start with "_" otherwise starts with letter --> 

<!ENTITY % Frame.content  "EMPTY" >
<!ELEMENT frame  %Frame.content; >
<!ATTLIST frame 
      %Core.attrib;
      longdesc     %URI.datatype;           #IMPLIED
      name         CDATA                    #IMPLIED
      src          %URI.datatype;           #IMPLIED
      frameborder  (1|0)                    '1'
      marginwidth  %Pixels.datatype;        #IMPLIED
      marginheight %Pixels.datatype;        #IMPLIED
      noresize     (noresize)               #IMPLIED
      scrolling    (yes|no|auto)            'auto'
> 
 
<!-- changes to other declarations .................... -->

<!-- redefine content model for html element, 
     substituting frameset for body -->
<!ENTITY % Html.content "( head, frameset )" >
 
<!-- alternate content container for non frame-based rendering --> 
 
<!ENTITY % Noframes.content "( body )"> 
<!ELEMENT noframes  %Noframes.content; >
<!ATTLIST noframes 
      %Common.attrib;
> 

<!-- add 'target' attribute to 'a' element -->
<!ATTLIST a
      target       %FrameTarget.datatype;   #IMPLIED
>

<!-- end of xhtml1-frames-1.mod -->

C.3.11. Iframe

<!-- ...................................................................... -->
<!-- XHTML 1.0 IFrame Module  ............................................. -->
<!-- file: xhtml1-iframe-1.mod

     This is XHTML 1.0, an XML reformulation of HTML 4.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml1-iframe-1.mod 1.4 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.0 Inline Frame Element//EN"
     SYSTEM "xhtml1-iframe-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Inline Frames 

        iframe

     This module declares the iframe element type and its attributes,
     used to create an inline frame within a document. 
-->

<!-- Inline Frames .................................... -->

<!ENTITY % Iframe.content  "( %Flow.mix; )*" > 
<!ELEMENT iframe  %Iframe.content; > 
<!ATTLIST iframe 
      %Core.attrib;
      longdesc     %URI.datatype;           #IMPLIED
      name         CDATA                    #IMPLIED
      src          %URI.datatype;           #IMPLIED
      frameborder  (1|0)                    '1'
      marginwidth  %Pixels.datatype;        #IMPLIED
      marginheight %Pixels.datatype;        #IMPLIED
      scrolling    (yes|no|auto)            'auto'
      height       %Length.datatype;        #IMPLIED
      width        %Length.datatype;        #IMPLIED
> 

<!-- end of xhtml1-iframe-1.mod -->

C.3.12. Intrinsic Events

<!-- ...................................................................... -->
<!-- XHTML 1.1 Intrinsic Events Module  ................................... -->
<!-- file: xhtml11-events-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-events-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Intrinsic Events 1.0//EN"
     SYSTEM "xhtml11-events-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Intrinsic Event Attributes

     These are the event attributes defined in HTML 4.0, Section
     18.2.3 "Intrinsic Events". This module must be instantiated
     prior to the Attributes Module but after the Datatype Module
     in the Modular Framework module.

    "Note: Authors of HTML documents are advised that changes are
     likely to occur in the realm of intrinsic events (e.g., how
     scripts are bound to events). Research in this realm is carried
     on by members of the W3C Document Object Model Working Group
     (see the W3C Web site at http://www.w3.org/ for more information)."
-->

<!ENTITY % Events.attrib
     "onclick      %Script.datatype;        #IMPLIED
      ondblclick   %Script.datatype;        #IMPLIED
      onmousedown  %Script.datatype;        #IMPLIED
      onmouseup    %Script.datatype;        #IMPLIED
      onmouseover  %Script.datatype;        #IMPLIED
      onmousemove  %Script.datatype;        #IMPLIED
      onmouseout   %Script.datatype;        #IMPLIED
      onkeypress   %Script.datatype;        #IMPLIED
      onkeydown    %Script.datatype;        #IMPLIED
      onkeyup      %Script.datatype;        #IMPLIED"
>

<!-- additional attributes on anchor element
-->
<!ATTLIST a
     onfocus      %Script.datatype;         #IMPLIED
     onblur       %Script.datatype;         #IMPLIED
>

<!-- additional attributes on form element
-->
<!ATTLIST form
      onsubmit     %Script.datatype;        #IMPLIED
      onreset      %Script.datatype;        #IMPLIED
>

<!-- additional attributes on label element
-->
<!ATTLIST label
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
>

<!-- additional attributes on input element
-->
<!ATTLIST input
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
      onselect     %Script.datatype;        #IMPLIED
      onchange     %Script.datatype;        #IMPLIED
>

<!-- additional attributes on select element
-->
<!ATTLIST select
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
      onchange     %Script.datatype;        #IMPLIED
>

<!-- additional attributes on textarea element
-->
<!ATTLIST textarea
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
      onselect     %Script.datatype;        #IMPLIED
      onchange     %Script.datatype;        #IMPLIED
>

<!-- additional attributes on button element
-->
<!ATTLIST button
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
>

<!-- additional attributes on body element
-->
<!ATTLIST body
      onload       %Script.datatype;        #IMPLIED
      onunload     %Script.datatype;        #IMPLIED
>

<!-- additional attributes on area element
-->
<!ATTLIST area
      onfocus      %Script.datatype;        #IMPLIED
      onblur       %Script.datatype;        #IMPLIED
>

<!-- end of xhtml11-events-1.mod -->

C.3.13. Metainformation

<!-- ...................................................................... -->
<!-- XHTML 1.1 Document Metainformation Module  ........................... -->
<!-- file: xhtml11-meta-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-meta-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Metainformation 1.0//EN"
     SYSTEM "xhtml11-meta-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Meta Information

        meta

     This module declares the meta element type and its attributes,
     used to provide declarative document metainformation.
-->

<!-- meta: Generic Metainformation ..................... -->

<!ENTITY % Meta.element  "INCLUDE" >
<![%Meta.element;[
<!ENTITY % Meta.content  "EMPTY" >
<!ELEMENT meta  %Meta.content; >
<!-- end of Meta.element -->]]>

<!ENTITY % Meta.attlist  "INCLUDE" >
<![%Meta.attlist;[
<!ATTLIST meta
      %I18n.attrib;
      http-equiv   NMTOKEN                  #IMPLIED
      name         NMTOKEN                  #IMPLIED
      content      CDATA                    #REQUIRED
      scheme       CDATA                    #IMPLIED
>
<!-- end of Meta.attlist -->]]>

<!-- end of xhtml11-meta-1.mod -->

C.3.14. Scripting

<!-- ...................................................................... -->
<!-- XHTML 1.1 Document Scripting Module  ................................. -->
<!-- file: xhtml11-script-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-script-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Scripting 1.0//EN"
     SYSTEM "xhtml11-script-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- 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.
-->

<!-- script: Scripting Statement ....................... -->

<!ENTITY % Script.element  "INCLUDE" >
<![%Script.element;[
<!ENTITY % Script.content  "( #PCDATA )" >
<!ELEMENT script  %Script.content; >
<!-- end of Script.element -->]]>

<!ENTITY % Script.attlist  "INCLUDE" >
<![%Script.attlist;[
<!ATTLIST script
      charset      %Charset.datatype;       #IMPLIED
      type         %ContentType.datatype;   #REQUIRED
      src          %URI.datatype;           #IMPLIED
      defer        (defer)                  #IMPLIED
      xml:space    CDATA                    #FIXED 'preserve'
>
<!-- end of Script.attlist -->]]>

<!-- noscript: No-Script Alternate Content ............. -->

<!ENTITY % Noscript.element  "INCLUDE" >
<![%Noscript.element;[
<!ENTITY % Noscript.content
     "( %Block.mix; )+"
>
<!ELEMENT noscript  %Noscript.content; >
<!-- end of Noscript.element -->]]>

<!ENTITY % Noscript.attlist  "INCLUDE" >
<![%Noscript.attlist;[
<!ATTLIST noscript
      %Common.attrib;
>
<!-- end of Noscript.attlist -->]]>

<!-- end of xhtml11-script-1.mod -->

C.3.15. Stylesheet

<!-- ...................................................................... -->
<!-- XHTML 1.1 Document Stylesheet Module  ................................ -->
<!-- file: xhtml11-style-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-style-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//DTD XHTML 1.1 Stylesheets 1.0//EN"
     SYSTEM "xhtml11-style-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Stylesheets

        style

     This module declares the style element type and its attributes,
     used to embed stylesheet information in the document head element.
-->

<!-- style: Stylesheet Information ..................... -->

<!ENTITY % Style.element  "INCLUDE" >
<![%Style.element;[
<!ENTITY % Style.content  "( #PCDATA )" >
<!ELEMENT style  %Style.content; >
<!-- end of Style.element -->]]>

<!ENTITY % Style.attlist  "INCLUDE" >
<![%Style.attlist;[
<!ATTLIST style
      %I18n.attrib;
      type         %ContentType.datatype;   #REQUIRED
      media        %MediaDesc.datatype;     #IMPLIED
      title        %Text.datatype;          #IMPLIED
      xml:space    CDATA                    #FIXED 'preserve'
>
<!-- end of Style.attlist -->]]>

<!-- end of xhtml11-style-1.mod -->

C.3.16. Link

<!-- ...................................................................... -->
<!-- XHTML 1.1 Link Element Module  ....................................... -->
<!-- file: xhtml11-link-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-link-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Link Element 1.0//EN"
     SYSTEM "xhtml11-link-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- 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 such as:

     a) for document specific toolbars/menus, e.g. start, contents,
        previous, next, index, end, help
     b) to link to a separate style sheet (rel="stylesheet")
     c) to make a link to a script (rel="script")
     d) by stylesheets to control how collections of html nodes are
        rendered into printed documents
     e) to make a link to a printable version of this document
        e.g. a postscript or pdf version (rel="alternate" media="print")
-->

<!-- link: Media-Independent Link ...................... -->

<!ENTITY % Link.element  "INCLUDE" >
<![%Link.element;[
<!ENTITY % Link.content  "EMPTY" >
<!ELEMENT link  %Link.content; >
<!-- end of Link.element -->]]>

<!ENTITY % Link.attlist  "INCLUDE" >
<![%Link.attlist;[
<!ATTLIST link
      %Common.attrib;
      charset      %Charset.datatype;       #IMPLIED
      href         %URI.datatype;           #IMPLIED
      hreflang     %LanguageCode.datatype;  #IMPLIED
      type         %ContentType.datatype;   #IMPLIED
      rel          %LinkTypes.datatype;     #IMPLIED
      rev          %LinkTypes.datatype;     #IMPLIED
      media        %MediaDesc.datatype;     #IMPLIED
>
<!-- end of Link.attlist -->]]>

<!-- end of xhtml11-link-1.mod -->

C.3.17. Base

<!-- ...................................................................... -->
<!-- XHTML 1.1 Base Element Module  ....................................... -->
<!-- file: xhtml11-base-1.mod

     This is XHTML 1.1, a modular variant of XHTML 1.0.
     Copyright 1998-1999 W3C (MIT, INRIA, Keio), All Rights Reserved.
     Revision: @(#)xhtml11-base-1.mod 1.6 99/08/26 SMI

     This DTD module is identified by the PUBLIC and SYSTEM identifiers:

     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Base Element 1.0//EN"
     SYSTEM "xhtml11-base-1.mod"

     Revisions:
     (none)
     ....................................................................... -->

<!-- Base element

        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.

     Note that this module also redeclares the content model for
     the head element to include the base element.
-->

<!-- base: Document Base URI ........................... -->

<!ENTITY % Base.element  "INCLUDE" >
<![%Base.element;[
<!ENTITY % Base.content  "EMPTY" >
<!ELEMENT base  %Base.content; >
<!-- end of Base.element -->]]>

<!ENTITY % Base.attlist  "INCLUDE" >
<![%Base.attlist;[
<!ATTLIST base
      href         %URI.datatype;           #REQUIRED
>
<!-- end of Base.attlist -->]]>

<!ENTITY % Head.content
    "( %Head-opts.mix;,
     ( ( title, %Head-opts.mix;, ( base, %Head-opts.mix; )? )
     | ( base, %Head-opts.mix;, ( title, %Head-opts.mix; ))))"
>

<!-- end of xhtml11-base-1.mod -->