目次
この付録は、規範性がある (normative)。
この節は、XHTML 1.1 FPT のSGMLオープンカタログフォーマット定義 [CATALOG] を内容としている。
-- .......................................................................... -- -- File catalog ............................................................ -- -- XHTML 1.1 Catalog Data File Revision: @(#)xhtml11.cat 1.9 2001/04/04 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/html/tr9401.html> -- -- .......................................................................... -- -- SGML declaration associated with XHTML .................................. -- OVERRIDE YES SGMLDECL "xml1.dcl" -- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -- -- XHTML 1.1 DTD modular driver file ....................................... -- -- note that this uses the local, flattened version of the DTD. If you want your catalog to use the master version of the XHTML Modules, change the entry to reference xhtml11.dtd instead of xhtml11-flat.dtd -- PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11-flat.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 ..................................................... -- -- .......................................................................... --
この節は、XML DTD としての XHTML 1.1 文書型実装のためのドライバを内容としている。これは、[XHTMLMOD] および [RUBY] で定義されているXHTMLモジュール実装に依拠している。
<!-- ....................................................................... --> <!-- XHTML 1.1 DTD ........................................................ --> <!-- file: xhtml11.dtd --> <!-- XHTML 1.1 DTD This is XHTML, a reformulation of HTML as a modular XML application. The Extensible HyperText Markup Language (XHTML) Copyright 1998-2001 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 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,v 1.21 2001/05/29 16:37:01 ahby Exp $ --> <!-- 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" See the Qualified Names module for information on the use of namespace prefixes in the DTD. --> <!ENTITY % NS.prefixed "IGNORE" > <!ENTITY % XHTML.prefix "" > <!-- Reserved for use with the XLink namespace: --> <!ENTITY % XLINK.xmlns "" > <!ENTITY % XLINK.xmlns.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/1999/xhtml" xml:lang="en"> ... </html> Revisions: (none) --> <!-- reserved for future use with document profiles --> <!ENTITY % XHTML.profile "" > <!-- Bidirectional Text features This feature-test entity is used to declare elements and attributes used for bidirectional text support. --> <!ENTITY % XHTML.bidi "INCLUDE" > <?doc type="doctype" role="title" { XHTML 1.1 } ?> <!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!-- 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 -->]]> <!ENTITY % xhtml-events.module "INCLUDE" > <!-- Inline Style Module ........................................ --> <!ENTITY % xhtml-inlstyle.module "INCLUDE" > <![%xhtml-inlstyle.module;[ <!ENTITY % xhtml-inlstyle.mod PUBLIC "-//W3C//ELEMENTS XHTML Inline Style 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstyle-1.mod" > %xhtml-inlstyle.mod;]]> <!-- declare Document Model module instantiated in framework --> <!ENTITY % xhtml-model.mod PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" "xhtml11-model-1.mod" > <!-- Modular Framework Module (required) ......................... --> <!ENTITY % xhtml-framework.module "INCLUDE" > <![%xhtml-framework.module;[ <!ENTITY % xhtml-framework.mod PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-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 -->]]> <!-- Text Module (Required) ..................................... --> <!ENTITY % xhtml-text.module "INCLUDE" > <![%xhtml-text.module;[ <!ENTITY % xhtml-text.mod PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-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 Hypertext 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-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 Lists 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-list-1.mod" > %xhtml-list.mod;]]> <!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!-- Edit Module ................................................ --> <!ENTITY % xhtml-edit.module "INCLUDE" > <![%xhtml-edit.module;[ <!ENTITY % xhtml-edit.mod PUBLIC "-//W3C//ELEMENTS XHTML Editing Elements 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-edit-1.mod" > %xhtml-edit.mod;]]> <!-- BIDI Override Module ....................................... --> <!ENTITY % xhtml-bdo.module "%XHTML.bidi;" > <![%xhtml-bdo.module;[ <!ENTITY % xhtml-bdo.mod PUBLIC "-//W3C//ELEMENTS XHTML BIDI Override Element 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-bdo-1.mod" > %xhtml-bdo.mod;]]> <!-- Ruby Module ................................................ --> <!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 XHTML Ruby 1.0//EN" "http://www.w3.org/TR/ruby/xhtml-ruby-1.mod" > %xhtml-ruby.mod;]]> <!-- Presentation Module ........................................ --> <!ENTITY % xhtml-pres.module "INCLUDE" > <![%xhtml-pres.module;[ <!ENTITY % xhtml-pres.mod PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-pres-1.mod" > %xhtml-pres.mod;]]> <!-- Link Element Module ........................................ --> <!ENTITY % xhtml-link.module "INCLUDE" > <![%xhtml-link.module;[ <!ENTITY % xhtml-link.mod PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-link-1.mod" > %xhtml-link.mod;]]> <!-- Document Metainformation Module ............................ --> <!ENTITY % xhtml-meta.module "INCLUDE" > <![%xhtml-meta.module;[ <!ENTITY % xhtml-meta.mod PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-meta-1.mod" > %xhtml-meta.mod;]]> <!-- Base Element Module ........................................ --> <!ENTITY % xhtml-base.module "INCLUDE" > <![%xhtml-base.module;[ <!ENTITY % xhtml-base.mod PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-base-1.mod" > %xhtml-base.mod;]]> <!-- Scripting Module ........................................... --> <!ENTITY % xhtml-script.module "INCLUDE" > <![%xhtml-script.module;[ <!ENTITY % xhtml-script.mod PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-script-1.mod" > %xhtml-script.mod;]]> <!-- Style Sheets Module ......................................... --> <!ENTITY % xhtml-style.module "INCLUDE" > <![%xhtml-style.module;[ <!ENTITY % xhtml-style.mod PUBLIC "-//W3C//ELEMENTS XHTML Style Sheets 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-style-1.mod" > %xhtml-style.mod;]]> <!-- Image Module ............................................... --> <!ENTITY % xhtml-image.module "INCLUDE" > <![%xhtml-image.module;[ <!ENTITY % xhtml-image.mod PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-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 Client-side Image Maps 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-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 Server-side Image Maps 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-ssismap-1.mod" > %xhtml-ssismap.mod;]]> <!-- Param Element Module ....................................... --> <!ENTITY % xhtml-param.module "INCLUDE" > <![%xhtml-param.module;[ <!ENTITY % xhtml-param.mod PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-param-1.mod" > %xhtml-param.mod;]]> <!-- Embedded Object Module ..................................... --> <!ENTITY % xhtml-object.module "INCLUDE" > <![%xhtml-object.module;[ <!ENTITY % xhtml-object.mod PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-object-1.mod" > %xhtml-object.mod;]]> <!-- Tables Module ............................................... --> <!ENTITY % xhtml-table.module "INCLUDE" > <![%xhtml-table.module;[ <!ENTITY % xhtml-table.mod PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-table-1.mod" > %xhtml-table.mod;]]> <!-- Forms Module ............................................... --> <!ENTITY % xhtml-form.module "INCLUDE" > <![%xhtml-form.module;[ <!ENTITY % xhtml-form.mod PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-form-1.mod" > %xhtml-form.mod;]]> <!-- Legacy Markup ............................................... --> <!ENTITY % xhtml-legacy.module "IGNORE" > <![%xhtml-legacy.module;[ <!ENTITY % xhtml-legacy.mod PUBLIC "-//W3C//ELEMENTS XHTML Legacy Markup 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-legacy-1.mod" > %xhtml-legacy.mod;]]> <!-- Document Structure Module (required) ....................... --> <!ENTITY % xhtml-struct.module "INCLUDE" > <![%xhtml-struct.module;[ <!ENTITY % xhtml-struct.mod PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-struct-1.mod" > %xhtml-struct.mod;]]> <!-- end of XHTML 1.1 DTD ................................................. --> <!-- ....................................................................... -->
XHTMLファミリ文書型 (XHTML 1.1 といったようなもの) は、それが使用する内容モデルを定義しなければならない。これは、XHTMLモジュラフレームワークによってインスタンス化される別個の内容モデルモジュールを通じて行われる。内容モデルモジュールと XHTML 1.1 ドライバ (上記) とは、モジュール実装を文書型の特有の必要条件に合うようカスタマイズするために、一緒になって働く。XHTML 1.1 用の内容モデルモジュールが下記に定義される。
<!-- ....................................................................... --> <!-- XHTML 1.1 Document Model Module ...................................... --> <!-- file: xhtml11-model-1.mod This is XHTML 1.1, a reformulation of HTML as a modular XML application. Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved. Revision: $Id: xhtml11-model-1.mod,v 1.13 2001/05/29 16:37:01 ahby 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 "http://www.w3.org/TR/xhtml11/DTD/xhtml11-model-1.mod" Revisions: (none) ....................................................................... --> <!-- XHTML 1.1 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 % HeadOpts.mix "( %script.qname; | %style.qname; | %meta.qname; | %link.qname; | %object.qname; )*" > <!-- ................. Miscellaneous Elements .................. --> <!-- ins and del are used to denote editing changes --> <!ENTITY % Edit.class "| %ins.qname; | %del.qname;" > <!-- script and noscript are used to contain scripts and alternative content --> <!ENTITY % Script.class "| %script.qname; | %noscript.qname;" > <!ENTITY % Misc.extra "" > <!-- These elements are neither block nor inline, and can essentially be used anywhere in the document body. --> <!ENTITY % Misc.class "%Edit.class; %Script.class; %Misc.extra;" > <!-- .................... Inline Elements ...................... --> <!ENTITY % InlStruct.class "%br.qname; | %span.qname;" > <!ENTITY % InlPhras.class "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname; | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname; | %abbr.qname; | %acronym.qname; | %q.qname;" > <!ENTITY % InlPres.class "| %tt.qname; | %i.qname; | %b.qname; | %big.qname; | %small.qname; | %sub.qname; | %sup.qname;" > <!ENTITY % I18n.class "| %bdo.qname;" > <!ENTITY % Anchor.class "| %a.qname;" > <!ENTITY % InlSpecial.class "| %img.qname; | %map.qname; | %object.qname;" > <!ENTITY % InlForm.class "| %input.qname; | %select.qname; | %textarea.qname; | %label.qname; | %button.qname;" > <!ENTITY % Inline.extra "" > <!ENTITY % Ruby.class "| %ruby.qname;" > <!-- %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; %InlForm.class; %Ruby.class; %Inline.extra;" > <!-- %InlNoRuby.class; includes all inline elements except ruby, used as a component in mixes --> <!ENTITY % InlNoRuby.class "%InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %Anchor.class; %InlSpecial.class; %InlForm.class; %Inline.extra;" > <!-- %NoRuby.content; includes all inlines except ruby --> <!ENTITY % NoRuby.content "( #PCDATA | %InlNoRuby.class; %Misc.class; )*" > <!-- %InlNoAnchor.class; includes all non-anchor inlines, used as a component in mixes --> <!ENTITY % InlNoAnchor.class "%InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %InlSpecial.class; %InlForm.class; %Ruby.class; %Inline.extra;" > <!-- %InlNoAnchor.mix; includes all non-anchor inlines --> <!ENTITY % InlNoAnchor.mix "%InlNoAnchor.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.qname; | %h2.qname; | %h3.qname; | %h4.qname; | %h5.qname; | %h6.qname;" > <!ENTITY % List.class "%ul.qname; | %ol.qname; | %dl.qname;" > <!ENTITY % Table.class "| %table.qname;" > <!ENTITY % Form.class "| %form.qname;" > <!ENTITY % Fieldset.class "| %fieldset.qname;" > <!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" > <!ENTITY % BlkPhras.class "| %pre.qname; | %blockquote.qname; | %address.qname;" > <!ENTITY % BlkPres.class "| %hr.qname;" > <!ENTITY % BlkSpecial.class "%Table.class; %Form.class; %Fieldset.class;" > <!ENTITY % Block.extra "" > <!-- %Block.class; includes all block elements, used as an component in mixes --> <!ENTITY % Block.class "%BlkStruct.class; %BlkPhras.class; %BlkPres.class; %BlkSpecial.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 -->