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
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 Document Model 1.0//EN" "xhtml11-model-1.mod"
-- 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 [XHTMLMOD] and in [RUBY].
<!-- ....................................................................... -->
<!-- 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-2000 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: $Id: xhtml11_dtd.html,v 1.2 2000/01/05 20:38:00 shane Exp $ 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"
-->
<!ENTITY % XHTML.version "-//W3C//DTD XHTML 1.1//EN" >
<!-- Use this URI to identify the default namespace:
"http://www.w3.org/1999/xhtml"
-->
<!ENTITY % XHTML.ns "http://www.w3.org/1999/xhtml" >
<!-- Reserved for use with the XLink namespace:
-->
<!ENTITY % XLINK.ns "" >
<!ENTITY % XLinkns.attrib "" >
<!-- 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/xhtml"
xmlns:xlink="http://www.w3.org/XML/XLink/0.9"
xml:lang="en" >
...
</html>
Revisions:
(none)
-->
<!-- 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" >
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!ENTITY % xhtml-events.module "INCLUDE" >
<!-- Define the Content Model -->
<!ENTITY % xhtml-model.mod
PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
SYSTEM "xhtml11-model-1.mod" >
<!-- Pre-Framework Redeclaration placeholder .................... -->
<!-- this serves as a location to insert markup declarations
into the DTD prior to the framework declarations.
-->
<!ENTITY % xhtml-prefw-redecl.module "IGNORE" >
<![%xhtml-prefw-redecl.module;[
%xhtml-prefw-redecl.mod;
<!-- end of xhtml-prefw-redecl.module -->]]>
<!-- Modular Framework Module ................................... -->
<!ENTITY % xhtml-framework.module "INCLUDE" >
<![%xhtml-framework.module;[
<!ENTITY % xhtml-framework.mod
PUBLIC "-//W3C//ENTITIES XHTML 1.1 Modular Framework 1.0//EN"
"xhtml11-framework-1.mod" >
%xhtml-framework.mod;]]>
<!-- Post-Framework Redeclaration placeholder ................... -->
<!-- this serves as a location to insert markup declarations
into the DTD following the framework declarations.
-->
<!ENTITY % xhtml-postfw-redecl.module "IGNORE" >
<![%xhtml-postfw-redecl.module;[
%xhtml-postfw-redecl.mod;
<!-- end of xhtml-postfw-redecl.module -->]]>
<!-- 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;]]>
<!-- 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 required section ::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- Ruby Module ................................................ -->
<!ENTITY % Ruby.fallback "INCLUDE" >
<!ENTITY % Ruby.common.attlists "INCLUDE" >
<!ENTITY % Ruby.common.attrib "%Common.attrib;" >
<!ENTITY % xhtml-ruby.module "INCLUDE" >
<![%xhtml-ruby.module;[
<!ENTITY % xhtml-ruby.mod
PUBLIC "-//W3C//ELEMENTS Ruby 1.0//EN"
"ruby-1.mod" >
%xhtml-ruby.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;]]>
<!-- Param Element Module ....................................... -->
<!ENTITY % xhtml-param.module "INCLUDE" >
<![%xhtml-param.module;[
<!ENTITY % xhtml-param.mod
PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Param Element 1.0//EN"
"xhtml11-param-1.mod" >
%xhtml-param.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;]]>
<!-- 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-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
Revision: $Id: xhtml11_dtd.html,v 1.2 2000/01/05 20:38:00 shane Exp $ 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" >
<!ENTITY % Ruby.class "| ruby" >
<!-- %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;
%Ruby.class;
%Inline.extra;"
>
<!-- %Inline-noruby.class; includes all inline elements
except ruby, used as a component in mixes
-->
<!ENTITY % Inline-noruby.class
"%Inlstruct.class;
%Inlphras.class;
%Inlpres.class;
%I18n.class;
%Anchor.class;
%Inlspecial.class;
%Inline.extra;"
>
<!-- %Noruby.content; includes all inlines except ruby
-->
<!ENTITY % Noruby.content
"( #PCDATA
| %Inline-noruby.class;
%Misc.class; )*"
>
<!-- %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;
%Ruby.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 -->