Contents
This appendix is normative.
This section contains the SGML Open Catalog-format definition of the XHTML 1.1 FPI.
-- .......................................................................... -- -- File catalog ............................................................ -- -- XHTML 1.1 Catalog Data File Revision: @(#)xhtml11.cat 1.8 99/08/26 SMI This is the catalog data file for various versions of the XHTML DTD. You do not need to use the file names listed here, and do not need to use the filename method of identifying storage objects at all. See "Entity Management", SGML Open Technical Resolution 9401 for detailed information on supplying and using catalog data. This document is available from OASIS at URL: <http://www.oasis-open.org/cover/tr9401.html> -- -- .......................................................................... -- -- SGML declaration associated with XHTML .................................. -- OVERRIDE YES -- SGMLDECL "xml1.dcl" -- -- for use with non-Unicode compatible parsers: -- SGMLDECL "xml1n.dcl" -- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -- -- XHTML 1.1 DTD modular driver file ....................................... -- PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd" -- XHTML 1.1 framework modules .............................................. -- PUBLIC "-//W3C//ENTITIES XHTML 1.1 Modular Framework 1.0//EN" "xhtml11-framework-1.mod" PUBLIC "-//W3C//ENTITIES XHTML 1.1 Datatypes 1.0//EN" "xhtml11-datatypes-1.mod" PUBLIC "-//W3C//ENTITIES XHTML 1.1 Common Attributes 1.0//EN" "xhtml11-attribs-1.mod" PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" "xhtml11-model-1.mod" PUBLIC "-//W3C//ENTITIES XHTML 1.1 Character Entities 1.0//EN" "xhtml11-charent-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Redeclarations 1.0//EN" "xhtml11-redecl-1.mod" -- XHTML 1.1 modules ........................................................ -- PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Document Structure 1.0//EN" "xhtml11-struct-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Text 1.0//EN" "xhtml11-text-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Hypertext 1.0//EN" "xhtml11-hypertext-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Lists 1.0//EN" "xhtml11-list-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Java Applets 1.0//EN" "xhtml11-applet-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Presentation 1.0//EN" "xhtml11-pres-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Editing Elements 1.0//EN" "xhtml11-edit-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 BIDI Override Element 1.0//EN" "xhtml11-bdo-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Forms 1.0//EN" "xhtml11-formb-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Forms 1.0//EN" "xhtml11-form-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Tables 1.0//EN" "xhtml11-tableb-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Tables 1.0//EN" "xhtml11-table-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Images 1.0//EN" "xhtml11-image-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Client-side Image Maps 1.0//EN" "xhtml11-csismap-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Server-side Image Maps 1.0//EN" "xhtml11-ssismap-1.mod" PUBLIC "-//W3C//ENTITIES XHTML 1.1 Intrinsic Events 1.0//EN" "xhtml11-events-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Metainformation 1.0//EN" "xhtml11-meta-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Scripting 1.0//EN" "xhtml11-script-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Stylesheets 1.0//EN" "xhtml11-style-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Link Element 1.0//EN" "xhtml11-link-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Base Element 1.0//EN" "xhtml11-base-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Inline Structural 1.0//EN" "xhtml11-inlstruct-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Inline Presentation 1.0//EN" "xhtml11-inlpres-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Inline Phrasal 1.0//EN" "xhtml11-inlphras-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Block Structural 1.0//EN" "xhtml11-blkstruct-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Block Presentation 1.0//EN" "xhtml11-blkpres-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Block Phrasal 1.0//EN" "xhtml11-blkphras-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.0 Object Element 1.0//EN" "xhtml1-object-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.0 Frames 1.0//EN" "xhtml1-frames-1.mod" PUBLIC "-//W3C//ELEMENTS XHTML 1.0 Inline Frame Element 1.0//EN" "xhtml1-iframe-1.mod" -- XHTML 1.1 entity sets ................................................... -- PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "xhtml-lat1.ent" PUBLIC "-//W3C//ENTITIES Special for XHTML//EN" "xhtml-special.ent" PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "xhtml-symbol.ent" -- End of catalog data ..................................................... -- -- .......................................................................... --
This section contains the driver for the XHTML 1.1 document type implementation as an XML DTD. It relies upon XHTML module implementations defined in XHTML 1.1 Module Implementations.
<!-- ....................................................................... --> <!-- XHTML 1.1 DTD ........................................................ --> <!-- file: xhtml11.dtd --> <!-- XHTML 1.1 DTD This is XHTML 1.1, a modular variant of XHTML 1.0. Copyright 1998-1999 World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. Permission to use, copy, modify and distribute the XHTML 1.1 DTD and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the DTD for any purpose. It is provided "as is" without expressed or implied warranty. Author: Murray M. Altheim <altheim@eng.sun.com> Revision: @(#)xhtml11.dtd 1.10 99/08/26 SMI --> <!-- This is the driver file for version 1.1 of the XHTML DTD. Please use this formal public identifier to identify it: "-//W3C//DTD XHTML 1.1//EN" Please use this URI to identify the default namespace: "http://www.w3.org/TR/xhtml1" For example, if you are using XHTML 1.1 directly, use the FPI in the DOCTYPE declaration, with the xmlns attribute on the document element to identify the default namespace: <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd" > <html xmlns="http://www.w3.org/TR/xhtml1" xmlns:xlink="http://www.w3.org/XML/XLink/0.9" xml:lang="en" > ... </html> Revisions: (none) --> <!-- The xmlns attribute on <html> identifies the default namespace to namespace-aware applications: --> <!ENTITY % XHTML.ns "http://www.w3.org/TR/xhtml1" > <!-- reserved for future use with document profiles --> <!ENTITY % XHTML.profile "" > <!-- Internationalization features This feature-test entity is used to declare elements and attributes used for internationalization support. --> <!ENTITY % XHTML.I18n "INCLUDE" > <!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!-- Redeclaration placeholder .................................. --> <!ENTITY % xhtml-redecl.module "IGNORE" > <![%xhtml-redecl.module;[ %xhtml-redecl.mod;]]> <!ENTITY % xhtml-events.module "INCLUDE" > <!-- Modular Framework Module ................................... --> <!ENTITY % xhtml-framework.mod PUBLIC "-//W3C//ENTITIES XHTML 1.1 Modular Framework 1.0//EN" "xhtml11-framework-1.mod" > %xhtml-framework.mod; <!-- Basic Text Module (Required) ............................... --> <!ENTITY % xhtml-text.module "INCLUDE" > <![%xhtml-text.module;[ <!ENTITY % xhtml-text.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Text 1.0//EN" "xhtml11-text-1.mod" > %xhtml-text.mod;]]> <!-- Hypertext Module (required) ................................. --> <!ENTITY % xhtml-hypertext.module "INCLUDE" > <![%xhtml-hypertext.module;[ <!ENTITY % xhtml-hypertext.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Hypertext 1.0//EN" "xhtml11-hypertext-1.mod" > %xhtml-hypertext.mod;]]> <!-- Lists Module (required) .................................... --> <!ENTITY % xhtml-list.module "INCLUDE" > <![%xhtml-list.module;[ <!ENTITY % xhtml-list.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Lists 1.0//EN" "xhtml11-list-1.mod" > %xhtml-list.mod;]]> <!-- Edit Module ................................................ --> <!ENTITY % xhtml-edit.module "INCLUDE" > <![%xhtml-edit.module;[ <!ENTITY % xhtml-edit.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Editing Elements 1.0//EN" "xhtml11-edit-1.mod" > %xhtml-edit.mod;]]> <!-- Presentation Module ........................................ --> <!ENTITY % xhtml-pres.module "INCLUDE" > <![%xhtml-pres.module;[ <!ENTITY % xhtml-pres.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Presentation 1.0//EN" "xhtml11-pres-1.mod" > %xhtml-pres.mod;]]> <!-- Java Applet Element Module ................................. --> <!ENTITY % xhtml-applet.module "INCLUDE" > <![%xhtml-applet.module;[ <!ENTITY % xhtml-applet.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Java Applets 1.0//EN" "xhtml11-applet-1.mod" > %xhtml-applet.mod;]]> <!-- BIDI Override Module ....................................... --> <!ENTITY % xhtml-bdo.module "INCLUDE" > <![%xhtml-bdo.module;[ <!ENTITY % xhtml-bdo.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 BIDI Override Element 1.0//EN" "xhtml11-bdo-1.mod" > %xhtml-bdo.mod;]]> <!-- Forms Module ............................................... --> <!ENTITY % xhtml-form.module "INCLUDE" > <![%xhtml-form.module;[ <!ENTITY % xhtml-form.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Forms 1.0//EN" "xhtml11-form-1.mod" > %xhtml-form.mod;]]> <!-- Tables Module ............................................... --> <!ENTITY % xhtml-table.module "INCLUDE" > <![%xhtml-table.module;[ <!ENTITY % xhtml-table.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Tables 1.0//EN" "xhtml11-table-1.mod" > %xhtml-table.mod;]]> <!-- Image Module ............................................... --> <!ENTITY % xhtml-image.module "INCLUDE" > <![%xhtml-image.module;[ <!ENTITY % xhtml-image.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Images 1.0//EN" "xhtml11-image-1.mod" > %xhtml-image.mod;]]> <!-- Client-side Image Map Module ............................... --> <!ENTITY % xhtml-csismap.module "INCLUDE" > <![%xhtml-csismap.module;[ <!ENTITY % xhtml-csismap.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Client-side Image Maps 1.0//EN" "xhtml11-csismap-1.mod" > %xhtml-csismap.mod;]]> <!-- Server-side Image Map Module ............................... --> <!ENTITY % xhtml-ssismap.module "INCLUDE" > <![%xhtml-ssismap.module;[ <!ENTITY % xhtml-ssismap.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Server-side Image Maps 1.0//EN" "xhtml11-ssismap-1.mod" > %xhtml-ssismap.mod;]]> <!-- Document Metainformation Module ............................ --> <!ENTITY % xhtml-meta.module "INCLUDE" > <![%xhtml-meta.module;[ <!ENTITY % xhtml-meta.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Metainformation 1.0//EN" "xhtml11-meta-1.mod" > %xhtml-meta.mod;]]> <!-- Scripting Module ........................................... --> <!ENTITY % xhtml-script.module "INCLUDE" > <![%xhtml-script.module;[ <!ENTITY % xhtml-script.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Scripting 1.0//EN" "xhtml11-script-1.mod" > %xhtml-script.mod;]]> <!-- Stylesheets Module ......................................... --> <!ENTITY % xhtml-style.module "INCLUDE" > <![%xhtml-style.module;[ <!ENTITY % xhtml-style.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Stylesheets 1.0//EN" "xhtml11-style-1.mod" > %xhtml-style.mod;]]> <!-- Link Element Module ........................................ --> <!ENTITY % xhtml-link.module "INCLUDE" > <![%xhtml-link.module;[ <!ENTITY % xhtml-link.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Link Element 1.0//EN" "xhtml11-link-1.mod" > %xhtml-link.mod;]]> <!-- Base Element Module ........................................ --> <!ENTITY % xhtml-base.module "INCLUDE" > <![%xhtml-base.module;[ <!ENTITY % xhtml-base.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Base Element 1.0//EN" "xhtml11-base-1.mod" > %xhtml-base.mod;]]> <!-- Document Structure Module (required) ....................... --> <!ENTITY % xhtml-struct.module "INCLUDE" > <![%xhtml-struct.module;[ <!ENTITY % xhtml-struct.mod PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Document Structure 1.0//EN" "xhtml11-struct-1.mod" > %xhtml-struct.mod;]]> <!-- end of XHTML 1.1 DTD ................................................. --> <!-- ....................................................................... -->
An XHTML 1.1 Family Document Type (such as XHTML 1.1) must define the content model that it uses. This is done through a separate content model module that is instantiated by the XHTML Modular Framework. The content model module and the XHTML 1.1 Driver (above) work together to customize the module implementations to the document type's specific requirements. The content model module for XHTML 1.1 is defined below:
<!-- ....................................................................... --> <!-- XHTML 1.1 Document Model Module ...................................... --> <!-- file: xhtml11-model-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-model-1.mod 1.9 99/08/26 SMI This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" SYSTEM "xhtml11-model-1.mod" Revisions: (none) ....................................................................... --> <!-- Document Model This module describes the groupings of elements that make up common content models for XHTML elements. XHTML has three basic content models: %Inline.mix; character-level elements %Block.mix; block-like elements, eg., paragraphs and lists %Flow.mix; any block or inline elements Any parameter entities declared in this module may be used to create element content models, but the above three are considered 'global' (insofar as that term applies here). The reserved word '#PCDATA' (indicating a text string) is now included explicitly with each element declaration that is declared as mixed content, as XML requires that this token occur first in a content model specification. --> <!-- Extending the Model While in some cases this module may need to be rewritten to accommodate changes to the document model, minor extensions may be accomplished by redeclaring any of the three *.extra; parameter entities to contain extension element types as follows: %Misc.extra; whose parent may be any block or inline element. %Inline.extra; whose parent may be any inline element. %Block.extra; whose parent may be any block element. If used, these parameter entities must be an OR-separated list beginning with an OR separator ("|"), eg., "| a | b | c" All block and inline *.class parameter entities not part of the *struct.class classes begin with "| " to allow for exclusion from mixes. --> <!-- .............. Optional Elements in head .................. --> <!ENTITY % Head-opts.mix "( script | style | meta | link )*" > <!-- ................. Miscellaneous Elements .................. --> <!-- ins and del are used to denote editing changes --> <!ENTITY % Edit.class "| ins | del" > <!-- script and noscript are used to contain scripts and alternative content --> <!ENTITY % Misc.extra "| script | noscript" > <!-- These elements are neither block nor inline, and can essentially be used anywhere in the document body. --> <!ENTITY % Misc.class "%Edit.class; %Misc.extra;" > <!-- .................... Inline Elements ...................... --> <!ENTITY % Inlstruct.class "br | span" > <!ENTITY % Inlphras.class "| em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym | q" > <!ENTITY % Inlpres.class "| tt | i | b | big | small | sub | sup" > <!ENTITY % I18n.class "| bdo" > <!ENTITY % Anchor.class "| a" > <!ENTITY % Inlspecial.class "| img | map | applet" > <!ENTITY % Inline.extra "| input | select | textarea | label | button" > <!-- %Inline.class; includes all inline elements, used as a component in mixes --> <!ENTITY % Inline.class "%Inlstruct.class; %Inlphras.class; %Inlpres.class; %I18n.class; %Anchor.class; %Inlspecial.class; %Inline.extra;" > <!-- %Inline-noa.class; includes all non-anchor inlines, used as a component in mixes --> <!ENTITY % Inline-noa.class "%Inlstruct.class; %Inlphras.class; %Inlpres.class; %I18n.class; %Inlspecial.class; %Inline.extra;" > <!-- %Inline-noa.mix; includes all non-anchor inlines --> <!ENTITY % Inline-noa.mix "%Inline-noa.class; %Misc.class;" > <!-- %Inline.mix; includes all inline elements, including %Misc.class; --> <!ENTITY % Inline.mix "%Inline.class; %Misc.class;" > <!-- ..................... Block Elements ...................... --> <!-- In the HTML 4.0 DTD, heading and list elements were included in the %block; parameter entity. The %Heading.class; and %List.class; parameter entities must now be included explicitly on element declarations where desired. --> <!ENTITY % Heading.class "h1 | h2 | h3 | h4 | h5 | h6" > <!ENTITY % List.class "ul | ol | dl" > <!ENTITY % Blkstruct.class "p | div" > <!ENTITY % Blkphras.class "| pre | blockquote | address" > <!ENTITY % Blkpres.class "| hr" > <!ENTITY % Block.extra "| table | form | fieldset" > <!-- %Block.class; includes all block elements, used as an component in mixes --> <!ENTITY % Block.class "%Blkstruct.class; %Blkphras.class; %Blkpres.class; %Block.extra;" > <!-- %Block.mix; includes all block elements plus %Misc.class; --> <!ENTITY % Block.mix "%Heading.class; | %List.class; | %Block.class; %Misc.class;" > <!-- ................ All Content Elements .................. --> <!-- %Flow.mix; includes all text content, block and inline --> <!ENTITY % Flow.mix "%Heading.class; | %List.class; | %Block.class; | %Inline.class; %Misc.class;" > <!-- end of xhtml11-model-1.mod -->