重要な注意

この邦訳は、私 SUGAI, Manabu が私的な勉強のために作成したものです。訳文の正確さは保証できません。この翻訳には誤りが含まれます。この点をご理解頂いた上でご利用下さい。本邦訳は依然改稿中であり、決定稿ではありません。

正式なものはあくまでも W3C の英語版だけですので、 特に技術的な利用においては、 W3C の原典を参照してください。

<<BACK | last modified: 23rd/Dec./2007 | Translated by SUGAI, Manabu.

W3C

XHTML™ 1.1 - Module-based XHTML - Second Edition

W3C Working Draft 2007年2月16日

本邦訳の基にした版:
http://www.w3.org/TR/2007/WD-xhtml11-20070216
最新版:
http://www.w3.org/TR/xhtml11
一つ前の版:
http://www.w3.org/TR/2001/REC-xhtml11-20010531
差異を目立たせた版:
xhtml11-diff.html
編集者:
Shane McCarron, Applied Testing and Technology, Inc.
Masayasu Ishikawa, W3C
第一版の編集者:
Murray Altheim, Sun Microsystems
Shane McCarron, Applied Testing and Technology

本文書はこれらの非規範的フォーマットでも入手可能である: PostScript version, PDF version, ZIP archive, and Gzip'd TAR archive.


概要 (Abstract)

この文書は、XHTML Modularization [XHTMLMOD]で定義された、モジュール・フレームワークとモジュールに基づいて、XHTML文書型を定義している。 この文書型の目的は、XHTML 'family'文書型の将来の拡張の基礎として役立つことであり、XHTML 1.0 [XHTML1]文書型に持ち込まれていた、HTML 4 [HTML4]で非推奨でレガシーとされた機能から明確に切り離された、一貫的で先進的な文書型を提供することである。 この文書型は、XHTMLモジュールを使って組み立てられたXHTML 1.0 Strictに最もよく似ている。 つまり、他の XHTMLファミリーの文書型(例えば、XHTML Frames)で利用できる多くの機能は、この文書型では利用できない。 これらの他の機能は、XHTML Modularizationで定義されたモジュールを通して利用可能になり、文書作成者は、これらの機能を利用する文書型を、XHTML 1.1に基づいて自由に定義できる(新しい文書型作成に関する情報は[XHTMLMOD]参照)。

本文書のステータス (Status of this document)

本セクションは本文書の原版が公開された当時のステータスを記述している。 他の文書が本文書に取って代わっている可能性もある。現在W3Cで公開されている文書の一覧および、本技術文書の最新版は、http://www.w3.org/TR/のW3C technical reports indexで得られる。

本文書は、W3Cの編集勧告案(Proposed Edited Recommendation)プロセスへ入る前の予備的なワーキング・ドラフト(Workiing Draft)である。 コミュニティによる多年にわたる利用の結果としての、説明と訂正を反映したものである。 また、XML Schemaを利用した新しい実装も含んでいる。 この実装は、最終ワーキング・ドラフト(Last Call)を含むW3Cプロセスを通して実施されており、W3C勧告(Recommendation)としての公開準備段階で、ここに統合されている。 この文書は、W3C勧告のステータスに達するまでは、規範的に参照すべきではない。

ワーキング・ドラフトとしての公開は、W3Cメンバの承認を示唆するものではない。 これはドラフト文書であり、いつでも他の文書によって、更新、置き換え、破棄される可能性がある。 進行中の作業以外で、本文書を引用することは不適切である。

本文書は、W3C HTML Activityの一部として、W3C HTML作業部会(Working Group) (members only)によって作成された。HTML作業部会の目的は、HTML Working Group charterで議論されている。

本文書は、改定されたW3C特許ポリシー移行手続きによる24 January 2002 CPP (Current Patent Practice)で管理されている。 W3Cでは、各グループの要素成果物と関連して作成された公的な特許のリストをメンテナンスしている; それらのページは特許の公開に対する指示も含んでいる。この仕様に関するEssential Claim(s)を含んでいる特許に関する知識を持っていると主張する者は、W3C特許ポリシーの第6章に従い、情報を公開しなければならない。

HTMLに関する公的な議論はwww-html@w3.org (archive)で行われている。購読するためには、題名にsubscribeという言葉をつけて、www-html-request@w3.orgまでメールを送られたい。

本文書に関するエラーについて、www-html-editor@w3.org (archive)まで報告して欲しい。

現在のW3C勧告の一覧および他の技術文書は、http://www.w3.org/TRでみつかる。

簡略目次 (Quick Table of Contents)

完全目次 (Full Table of Contents)

1. 導入 (Introduction)

本セクションは規範的

XHTMLファミリーのモジュールと文書型の導入によって、W3Cでは、インターネットのコンテンツ開発のコミュニティーを、奇形的で非標準的なマークアップの時代から、性形式で特定の文書型に対して妥当な(well formedでvalidな)XML [XML]の世界へ移行させる手助けをしてきた。 XHTML 1.0 では、この移行は、既存のHTML 4(又はそれ以前)ベースのコンテンツからXHTMLとXMLへ容易に移行できるように、穏やかに進められた。XHTML Modularizationで定義されたXHTMLモジュールを投入することで、 W3Cは、非推奨(deprecated)要素と属性のサポートを、 XHTMLファミリーから取り除いた。 これらの要素および属性は、大いにプレゼンテーション指向の機能であり、スタイルシートや、クライアント固有のデフォルトの動作を経由した方が、より上手く扱うことができる。

より進むにつれ、XHTMLファミリーの文書型は、この新しい、より構造的な機能的集合に基づくことになるだろう。 この仕様書では、 W3CのHTML作業部会は、モジュールだけに基づいた、最初の文書型を定義した。 この文書型は、広範囲なクライアント・デバイスに持ち込み可能で、大半のインターネット・コンテンツに適用できるように設計されている。 この仕様書で説明された機能に基づいてコンテンツを作成したコンテンツ開発者は、XHTMLファミリに適合しているユーザ・エージェントで一貫して可搬的であるだろうという自信を持つことができる。

2. 適合性定義 (Conformance Definition)

本セクションは規範的

本文書中のキーワード「なければならない(MUST)」、「であってはならない(MUST NOT)」、「必須(REQUIRE)」、「必ず~べき(SHALL)」、「べきではない(SHALL NOT)」「べき(SHOULD)」、「推奨(RECOMMEND)」、「でもよい(MAY)」、「任意(OPTIONAL)」は、[RFC2119]に記述されているように解釈されるできものである。

Sugai: 本文書中では非常にあいまいになっている。

2.1. 文書適合性 (Document Conformance)

このバージョンのXHTMLは、厳密適合XHTML文書の定義を提供する。この定義は、XHTML名前空間の要素と属性に制約される。

2.1.1. 厳密適合文書 (Strictly Conforming Documents)

厳密適合XHTML 1.1文書は、本仕様書の中で必須なものとして記述される機能だけを要求する文書である。そのような文書は、以下の基準のすべを満たさなければならない:

  1. その文書はAppendix Cで表現されている制約に適合しなければならない。

  2. その文書のルート要素は<html>でなければならない。

  3. その文書のルート要素はxmlns属性[XMLNAMES]を使ってXHTML名前空間を指名しなければならない。XHTMLの名前空間指名子は"http://www.w3.org/1999/xhtml"である。

  4. ルート要素は、[XMLSCHEMA]で定義されているschemaLocation属性も含んでよい。 XHTMLのスキーマ・ロケーションは、"http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd"であると定義されている。
  5. 文書内のルート要素より先に、DOCTYPEが存在しなければならない。 もし存在するのであれば、DOCTYPE宣言の中の公開識別子は、その公開識別子を使って付録 CでみつかるDTDを参照しなければならない。 システム識別子は、適宜変更してもよい。

    <!DOCTYPE
     html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    

XHTML 1.1文書の例がこれである。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd"
     xml:lang="en" >
  <head>
    <title>バーチャル図書館</title>
  </head>
  <body>
    <p><a href="http://example.org/">example.org</a>へ移動しました。</p>
  </body>
</html>

この例では、XML宣言が含まれていることに注意して欲しい。 上に挙げたようなXML宣言は、全てのXML文書に必須である。 XHTML文書作成者は、全ての文書にXML宣言を使うように強く奨励される。 この宣言は、その文書の文字符号化方法がデフォルトのUTF-8かUTF-16でない場合は、必須である。

XHTML 1.1文書のインターネット・メディア・タイプは、[RFC2854で定義されているtext/htmlか、[RFC3236]で定義されているapplication/xhtml+xmlでラベルされているべきである。 XHTMLのメディア・タイプを利用する更なる情報は、参考的ノート[XHTMLMIME]を参照されたい。

2.2. ユーザエージェント適合性 (User Agent Conformance)

適合ユーザエージェントは、[XHTMLMOD]で定義されている全てのユーザエージェント適合性要求を満たさなければならない。

3. XHTML 1.1文書型 (The XHTML 1.1 Document Type)

本セクションは規範的

XHTML 1.1文書型は、豊かな意味論を備えた、十分に機能する文書型である。 しかしながら、XHTML 1.0 TransitionalやFrameset文書型のようなさまざまな機能を持つわけではない。 これらの文書型は多くのプレゼンテーショナル・コンポネントを定義しており、そらはスタイルシートや他の同様のメカニズムの方がより上手く扱える。 更に、XHTML 1.1文書型はXHTMLモジュール[XHTMLMOD]で定義された機能に全面的に基づいているので、XHTML 1.0やHTML 4の非推奨の機能は一切含んでいない。 これらの例外にも関わらず、あるいはそれゆえに、XHTML 1.1文書型は、さまざまなユーザエージェント環境をターゲットとする将来の文書型の確固とした基礎となる。

XHTML 1.1文書型は、以下のXHTMLモジュールによって組み立てられている。 これらのモジュールと結び付く要素と属性と最小の内容モデルは、"XHTML Modularization" [XHTMLMOD])で定義されている。 要素はここに参考目的でリストされているが、"XHTML Modularization"内の定義が定義的に考えられるべきである。 本文書のオンライン・バージョンでは、以下のリスト中のモジュール名が最新バージョンの"XHTML Modularization"内のモジュールの定義へのリンクとなっている。

構造モジュール* [私訳]
body, head, html, title
テキスト・モジュール* [私訳]
abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var
ハイパーテキスト・モジュール* [私訳]
a
リスト・モジュール* [私訳]
dl, dt, dd, ol, ul, li
オブジェクト・モジュール [私訳]
object, param
プレゼンテーション・モジュール [私訳]
b, big, hr, i, small, sub, sup, tt
編集モジュール [私訳]
del, ins
双方向テキスト・モジュール [私訳]
bdo
フォーム・モジュール [私訳]
button, fieldset, form, input, label, legend, select, optgroup, option, textarea
表モジュール [私訳]
caption, col, colgroup, table, tbody, td, tfoot, th, thead, tr
画像モジュール [私訳]
img
クライアントサイド・イメージマップ・モジュール [私訳]
area, map
サーバサイド・イメージマップ・モジュール [私訳]
img要素の属性ismap
組み込みイベント・モジュール [私訳]
イベント属性
メタ情報モジュール [私訳]
meta
スクリプト・モジュール [私訳]
noscript, script
スタイルシート・モジュール [私訳]
style要素
スタイル属性モジュール 非推奨 [私訳]
style属性
リンク・モジュール [私訳]
link
ベース・モジュール [私訳]
base

XHTMLは[RUBY]で定義されているRuby注釈モジュールも利用する:

ルビ注釈モジュール
ruby, rbc, rtc, rb, rt, rp

本文書型で要求される追加定義は存在しない。XML DTDとしてのこの文書型の実装は付録Cで定義される。

A. XHTML 1.0からの変更点 (Changes from XHTML 1.0 Strict)

この付録は参考的

この付録は、XHTML 1.1とXHTML 1.0 Strictとの差異を記述する。 XHTML 1.1は、HTML 4とXHTML 1.0からの離脱を表わしている。 最も重要なことは、非推奨とされた機能の除去である。 一般的には、その戦略は、構造的機能は豊富にし、プレゼンテーションはスタイルシートに頼るというマークアップ言語を定義するということである。

その差異は以下のようにまとめられる:

  1. 全ての要素で、lang属性が除去されxml:lang属性([XHTMLMOD]で定義)が採用された。
  2. a要素とmap要素で、name属性が除去されid属性([XHTMLMOD]で定義)が採用された。
  3. "ruby"要素の集合([RUBY]で定義)が追加された。

B. 参照資料 (References)

この付録は非規範的

B.1. 規範的参照資料 (Normative References)

[HTML4]
HTML 4.01 Specification, W3C Recommendation, Dave Raggett, Arnaud Le Hors, Ian Jacobs, 24 December 1999.
参照: http://www.w3.org/TR/1999/REC-html401-19991224
[XHTML1]
XHTML 1.0: The Extensible HyperText Markup Language (Second Edition), W3C Recommendation, Steven Pemberton, et al., 26 January 2000, revised 1 August 2002.
参照: http://www.w3.org/TR/2002/REC-xhtml1-20020801
[XHTMLMOD]
XHTML Modularization 1.1, W3C Working Draft, Shane McCarron, et al., 5 July 2006
参照: http://www.w3.org/TR/2006/WD-xhtml-modularization-20060705
[XML]
Extensible Markup Language (XML) 1.0 (Second Edition), W3C Recommendation, Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, F. Yergeau, 4 February 2004.
参照: http://www.w3.org/TR/2004/REC-xml-20040204
[RUBY]
Ruby Annotation, W3C Recommendation, Marcin Sawicki, et al., 31 May 2001.
参照: http://www.w3.org/TR/2001/REC-ruby-20010531

B.2. 参考的参照資料 (Informative References)

[CATALOG]
Entity Management: OASIS Technical Resolution 9401:1997 (Amendment 2 to TR 9401), Paul Grosso, Chair, Entity Management Subcommittee, SGML Open, 10 September 1997.
参照: http://www.oasis-open.org/html/a401.htm
[RFC2119]
"Key words for use in RFCs to indicate requirement levels", RFC 2119, S. Bradner, March 1997.
次の場所で得られる: http://www.ietf.org/rfc/rfc2119.txt
[RFC2854]
"The 'text/html' Media Type", D. Connely, L. Masinter, January 2000.
次の場所で得られる: http://www.ietf.org/rfc/rfc2854.txt
[RFC3236]
"The 'application/xhtml+xml' Media Type", M. Baker, P. Stark, January 2002.
次の場所で得られる: http://www.ietf.org/rfc/rfc3236.txt
[XHTMLMIME]
"XHTML Media Types", Masayasu Ishikawa, 1 August 2002.
Latest version 次の場所で得られる: http://www.w3.org/TR/xhtml-media-types
[XMLNAMES]
"Namespaces in XML", W3C Recommendation, Tim Bray, Dave Hollander, Andrew Layman, 14 January 1999.
次の場所で得られる: http://www.w3.org/TR/1999/REC-xml-names-19990114
[XMLSCHEMA]
"XML Schema Part 1: Structures Second Edition", W3C Recommendation, H. S. Thompson et al., eds., 28 October 2004.
次の場所で得られる: http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/
"XML Schema Part 2: Datatypes Second Edition", W3C Recommendation, P. V. Biron, A. Malhotra, eds., 28 October 2004.
次の場所で得られる: http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/

C. XHTML 1.1文書型定義 (XHTML 1.1 Document Type Definition)

この付録は規範的

C.1. SGML Open Catalog Entry for XHTML 1.1

このセクションは、XHTML 1.1の公開識別子の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  ..................................................... --
-- .......................................................................... --


C.2. XHTML 1.1 Driver

このセクションは、XML DTDとしてのXHTML 1.1文書型実装のドライバを含んでいる。 これは、[XHTMLMOD] and in [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-2007 World Wide Web Consortium
        (Massachusetts Institute of Technology, European Research Consortium
         for Informatics and Mathematics, 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.26 2007/02/15 21:16:31 ahby Exp $

-->
<!-- This is the driver file for version 1.1 of the XHTML DTD.

     Please use this 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.

     Note that XHTML namespace elements are not prefixed by default,
     but the XHTML namespace prefix is defined as "xhtml" so that
     other markup languages can extend this one and use the XHTML
     prefixed global attributes if required.

-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % XHTML.prefix "xhtml" >

<!-- Be sure to include prefixed global attributes - we don't need
     them, but languages that extend XHTML 1.1 might.
-->
<!ENTITY % XHTML.global.attrs.prefixed "INCLUDE" >

<!-- 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 public
     identifier in the DOCTYPE declaration, with the namespace declaration
     on the document element to identify the default namespace:

       <?xml version="1.0"?>
       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
                             "http://www.w3.org/TR/xhtml11/DTD/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  "" >

<!-- ensure XHTML Notations are disabled -->
<!ENTITY % xhtml-notations.module "IGNORE" >

<!-- 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/MarkUp/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"
            "http://www.w3.org/MarkUp/DTD/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/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/MarkUp/DTD/xhtml-form-1.mod" >
%xhtml-form.mod;]]>

<!-- Target Attribute Module  .................................... -->
<!ENTITY % xhtml-target.module "INCLUDE" >
<![%xhtml-target.module;[
<!ENTITY % xhtml-target.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Target 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-target-1.mod" >
%xhtml-target.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/MarkUp/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/MarkUp/DTD/xhtml-struct-1.mod" >
%xhtml-struct.mod;]]>

<!-- end of XHTML 1.1 DTD  ................................................. -->
<!-- ....................................................................... -->

C.3. XHTML 1.1 Customizations

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-2007 W3C (MIT, ERCIM, Keio), All Rights Reserved.
     Revision: $Id: xhtml11-model-1.mod,v 1.15 2007/02/15 21:16:31 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/MarkUp/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 -->

D. XHTML 1.1 XML Schema Definition

この付録は規範的

D.1. XHTML 1.1 Schema Driver

このセクションは、XML SchemaとしてのXHTML 1.1文書型のドライバを含む。 これは、[XHTMLMOD] and in [RUBY]で定義されるXHTMLモジュール実装に依存している。

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.w3.org/1999/xhtml"
    xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
    xmlns="http://www.w3.org/1999/xhtml"
    blockDefault="#all">
    <xs:annotation>
        <xs:documentation>
      This is the XML Schema driver for XHTML 1.1.
      Please use this namespace for XHTML elements:

         "http://www.w3.org/1999/xhtml"

      $Id: xhtml11.xsd,v 1.4 2007/02/15 21:16:34 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      This is XHTML, a reformulation of HTML as a modular XML application
      The Extensible HyperText Markup Language (XHTML)
      Copyright &#169;1998-2007 World Wide Web Consortium
      (Massachusetts Institute of Technology, European Research Consortium
       for Informatics and Mathematics, Keio University).
      All Rights Reserved.

      Permission to use, copy, modify and distribute the XHTML Schema
      modules and their accompanying xs: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
      these XML Schema modules for any purpose.

      They are provided "as is" without expressed or implied warranty.
    </xs:documentation>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
      This is the Schema Driver file for XHTML1.1
      Document Type

     This schema
        + imports external schemas (xml.xsd)
        + refedines (and include)s schema modules for XHTML1.1 Document Type.
        + includes Schema for Named content model for the
          XHTML1.1 Document Type

        XHTML1.1 Document Type includes the following Modules
           XHTML Core modules (Required for XHTML Family Conformance)
            +  text
            +  hypertext
            +  lists
            +  structure
           Other XHTML modules
            +  Edit
            +  Bdo
            +  Presentational
            +  Link
            +  Meta
            +  Base
            +  Scripting
            +  Style
            +  Image
            +  Applet
            +  Object
            +  Param (Applet/Object modules require Param Module)
            +  Tables
            +  Forms
            +  Client side image maps
            +  Server side image maps
            +  Ruby
    </xs:documentation>
    </xs:annotation>
    <xs:import
        namespace="http://www.w3.org/XML/1998/namespace"
        schemaLocation="http://www.w3.org/2001/xml.xsd">
        <xs:annotation>
            <xs:documentation>
         This import brings in the XML namespace attributes
         The XML attributes are used by various modules.
       </xs:documentation>
        </xs:annotation>
    </xs:import>
    <xs:include
        schemaLocation="xhtml11-model-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Document Model module for the XHTML1.1 Document Type.
        This schema file defines all named models used by XHTML
        Modularization Framework for XHTML1.1 Document Type
      </xs:documentation>
        </xs:annotation>
    </xs:include>
    <xs:include
        schemaLocation="xhtml11-modules-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Schema that includes all modules (and redefinitions)
        for XHTML1.1 Document Type.                
           </xs:documentation>
        </xs:annotation>
    </xs:include>
</xs:schema>

D.2. XHTML 1.1 Schema Modules

XML Schemaを利用したXHTMLファミリー実装は、XHTML Modularizationから必要なモジュールをインポートする、自分自身のスキーマ・モジュールを提供することを要求される。

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

    <xs:annotation>
        <xs:documentation>
      This schema includes all modules for XHTML1.1 Document Type.
      $Id: xhtml11-modules-1.xsd,v 1.3 2006/09/13 13:07:26 ahby Exp $
    </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation>
     This schema includes all modules (and redefinitions)
     for XHTML1.1 Document Type.
     XHTML1.1 Document Type includes the following Modules

       XHTML Core modules (Required for XHTML Family Conformance)
            +  text
            +  hypertext
            +  lists
            +  structure

       Other XHTML modules
            +  Edit
            +  Bdo
            +  Presentational
            +  Link
            +  Meta
            +  Base
            +  Scripting
            +  Style
            +  Image
            +  Applet
            +  Object
            +  Param (Applet/Object modules require Param Module)
            +  Tables
            +  Forms
            +  Client side image maps
            +  Server side image maps

    </xs:documentation>
    </xs:annotation>
    <xs:include schemaLocation="xhtml-framework-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Schema Framework Component Modules:
            +  notations
            +  datatypes
            +  common attributes
            +  character entities
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_commonatts"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-text-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Text module

        The Text module includes declarations for all core
        text container elements and their attributes.

            +  block phrasal
            +  block structural
            +  inline phrasal
            +  inline structural

        Elements defined here:
          * address, blockquote, pre, h1, h2, h3, h4, h5, h6
          * div, p
          * abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var
          * br, span
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_textmodule"/>
        </xs:annotation>
    </xs:include>
    <xs:redefine schemaLocation="xhtml-hypertext-1.xsd">
        <xs:annotation>
            <xs:documentation>
         Hypertext module

         Elements defined here:
          * a
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_hypertextmodule"/>
        </xs:annotation>
        <xs:attributeGroup name="xhtml.a.attlist">
            <xs:attributeGroup ref="xhtml.a.attlist"/>
            <xs:attributeGroup ref="xhtml.a.csim.attlist">
                <xs:annotation>
                    <xs:documentation>
              Redefinition by Client Side Image Map Module
            </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.a.events.attlist">
                <xs:annotation>
                    <xs:documentation>
              Redefinition by XHTML Event Attribute Module
            </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
    </xs:redefine>
    <xs:include schemaLocation="xhtml-list-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Lists module

        Elements defined here:
          * dt, dd, dl, ol, ul, li
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_listmodule"/>
        </xs:annotation>
    </xs:include>
    <xs:redefine schemaLocation="xhtml-struct-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Structural module

        Elements defined here:
          * title, head, body, html
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_structuremodule"/>
        </xs:annotation>
        <xs:attributeGroup name="xhtml.version.attrib">
            <xs:annotation>
                <xs:documentation>
            Redefinition by the XHTML11 Markup (for value of version attr)
         </xs:documentation>
            </xs:annotation>
            <xs:attribute name="version" type="xh11d:FPI" fixed="-//W3C//DTD XHTML 1.1//EN"/>
        </xs:attributeGroup>
        <xs:attributeGroup name="xhtml.body.attlist">
            <xs:attributeGroup ref="xhtml.body.attlist">
                <xs:annotation>
                    <xs:documentation>
              Original Body Attlist
            </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.body.events.attlist">
                <xs:annotation>
                    <xs:documentation>
              Redefinition by XHTML Event Attribute Module
            </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
    </xs:redefine>
    <xs:include schemaLocation="xhtml-edit-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Edit module

        Elements defined here:
          * ins, del
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_editmodule"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-bdo-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Bidirectional element module

        Elements defined here:
          * bdo
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_bdomodule"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-pres-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Presentational module

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

        Elements defined here:
          * link
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_linkmodule"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-meta-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Meta module

        Elements defined here:
        * meta
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_metamodule"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-base-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Base module

        Elements defined here:
          * base
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_basemodule"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-script-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Scripting module

        Elements defined here:
          * script, noscript
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_scriptmodule"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-style-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Style module

        Elements defined here:
          * style
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_stylemodule"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-inlstyle-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Style attribute module

        Attribute defined here:
          * style
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_styleattributemodule"/>
        </xs:annotation>
    </xs:include>
    <xs:redefine schemaLocation="xhtml-image-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Image module

        Elements defined here:
          * img
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_imagemodule"/>
        </xs:annotation>
        <xs:attributeGroup name="xhtml.img.attlist">
            <xs:attributeGroup ref="xhtml.img.attlist">
                <xs:annotation>
                    <xs:documentation>
                Original Image Attributes (in Image Module)
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.img.csim.attlist">
                <xs:annotation>
                    <xs:documentation>
                Redefinition by Client Side Image Map Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.img.ssimap.attlist">
                <xs:annotation>
                    <xs:documentation>
                Redefinition by Server Side Image Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
    </xs:redefine>
    <xs:redefine schemaLocation="xhtml-csismap-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Client-side mage maps module

        Elements defined here:
          * area, map
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_imapmodule"/>
        </xs:annotation>
        <xs:attributeGroup name="xhtml.area.attlist">
            <xs:attributeGroup ref="xhtml.area.attlist">
                <xs:annotation>
                    <xs:documentation>
                Original Area Attributes (in CSI Module)
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.area.events.attlist">
                <xs:annotation>
                    <xs:documentation>
                Redefinition by Events Attribute Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
    </xs:redefine>
    <xs:include schemaLocation="xhtml-ssismap-1.xsd">
        <xs:annotation>
            <xs:documentation>
       Server-side image maps module

        Attributes defined here:
          * ismap on img
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_servermapmodule"/>
        </xs:annotation>
    </xs:include>
    <xs:redefine schemaLocation="xhtml-object-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Object module

        Elements defined here:
          * object
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_objectmodule"/>
        </xs:annotation>
        <xs:attributeGroup name="xhtml.object.attlist">
            <xs:attributeGroup ref="xhtml.object.attlist">
                <xs:annotation>
                    <xs:documentation>
                Original Object Attlist
              </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.object.csim.attlist">
                <xs:annotation>
                    <xs:documentation>
                Redefinition by Client Image Map Module
              </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
    </xs:redefine>
    <xs:include schemaLocation="xhtml-param-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Param module

        Elements defined here:
          * param
      </xs:documentation>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-table-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Tables module

        Elements defined here:
          * table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_tablemodule"/>
        </xs:annotation>
    </xs:include>
    <xs:redefine schemaLocation="xhtml-form-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Forms module

        Elements defined here:
          * form, label, input, select, optgroup, option,
          * textarea, fieldset, legend, button
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_extformsmodule"/>
        </xs:annotation>
        <xs:attributeGroup name="xhtml.form.attlist">
            <xs:annotation>
                <xs:documentation>
            Changes to XHTML Form Attlist
          </xs:documentation>
            </xs:annotation>
            <xs:attributeGroup ref="xhtml.form.attlist">
                <xs:annotation>
                    <xs:documentation>
                Original Form Attributes (declared in Forms Module)
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.form.events.attlist">
                <xs:annotation>
                    <xs:documentation>
                XHTML Events Module - Attribute additions
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
        <xs:attributeGroup name="xhtml.input.attlist">
            <xs:annotation>
                <xs:documentation>
            Changes to XHTML Form Input Element
          </xs:documentation>
            </xs:annotation>
            <xs:attributeGroup ref="xhtml.input.attlist">
                <xs:annotation>
                    <xs:documentation>
                Original Input Attributes (in Forms Module)
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.input.csim.attlist">
                <xs:annotation>
                    <xs:documentation>
                Redefinition by Client Side Image Map Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.input.ssimap.attlist">
                <xs:annotation>
                    <xs:documentation>
                Redefinition by Server Side Image Map Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.input.events.attlist">
                <xs:annotation>
                    <xs:documentation>
               Redefinition by Event Attribute Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
        <xs:attributeGroup name="xhtml.label.attlist">
            <xs:attributeGroup ref="xhtml.label.attlist">
                <xs:annotation>
                    <xs:documentation>
                Original Label Attributes (in Forms Module)
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.label.events.attlist">
                <xs:annotation>
                    <xs:documentation>
               Redefinition by Event Attribute Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
        <xs:attributeGroup name="xhtml.select.attlist">
            <xs:attributeGroup ref="xhtml.select.attlist">
                <xs:annotation>
                    <xs:documentation>
                Original Select Attributes (in Forms Module)
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.select.events.attlist">
                <xs:annotation>
                    <xs:documentation>
               Redefinition by Event Attribute Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
        <xs:attributeGroup name="xhtml.textarea.attlist">
            <xs:attributeGroup ref="xhtml.textarea.attlist">
                <xs:annotation>
                    <xs:documentation>
                Original TextArea Attributes (in Forms Module)
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.textarea.events.attlist">
                <xs:annotation>
                    <xs:documentation>
               Redefinition by Event Attribute Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
        <xs:attributeGroup name="xhtml.button.attlist">
            <xs:attributeGroup ref="xhtml.button.attlist">
                <xs:annotation>
                    <xs:documentation>
                Original Button Attributes (in Forms Module)
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.button.events.attlist">
                <xs:annotation>
                    <xs:documentation>
               Redefinition by Event Attribute Module
             </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
    </xs:redefine>
    <xs:include schemaLocation="xhtml-ruby-basic-1.xsd">
        <xs:annotation>
            <xs:documentation>
        Ruby module

        Elements defined here:
          * ruby, rbc, rtc, rb, rt, rp

        Note that either Ruby or Basic Ruby should be used but not both
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/2001/REC-ruby-20010531/#simple-ruby1"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="xhtml-events-1.xsd">
        <xs:annotation>
            <xs:documentation>
        XHTML Events Modules

        Attributes defined here:
          XHTML Event Types
      </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_intrinsiceventsmodule"/>
        </xs:annotation>
    </xs:include>
</xs:schema>

D.3. XHTML 1.1 Customizations

XHTMLファミリー文書型(XHTML 1.1のような)は、それが利用する内容モデルを定義しなければならない。 これは、XHTMLモジュラー・フレームワークによってインスタンス化される別の内容モデル・モジュールを通して行われる。 内容モデル・モジュールとXHTML 1.1ドライバ(上掲)は、その文書型の固有の要求に対するモジュール実装をカスタマイズするために一緒に働く。 XHTML 1.1の内容モデル・モジュールは次の通り:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/">
    <xs:import
        namespace="http://www.w3.org/1999/xhtml/datatypes/"
        schemaLocation="xhtml-datatypes-1.xsd"/>
    <xs:annotation>
        <xs:documentation> 
            This is the XML Schema module of common content models for XHTML11 
            
            $Id: xhtml11-model-1.xsd,v 1.5 2006/09/13 13:07:26 ahby Exp $ 
        </xs:documentation>
        <xs:documentation source="xhtml-copyright-1.xsd"/>
    </xs:annotation>
    <xs:annotation>
        <xs:documentation> 
            XHTML Document Model 
            This module describes the groupings of elements/attributes 
            that make up common content models for XHTML elements. 
            XHTML has following basic content models: 
               xhtml.Inline.mix; character-level elements
               xhtml.Block.mix; block-like elements, e.g., paragraphs and lists
               xhtml.Flow.mix; any block or inline elements 
               xhtml.HeadOpts.mix; Head Elements 
               xhtml.InlinePre.mix; Special class for pre content model 
               xhtml.InlineNoAnchor.mix; Content model for Anchor 
            
            Any groups declared in this module may be used to create 
            element content models, but the above are considered 'global' 
            (insofar as that term applies here). XHTML has the
            following Attribute Groups 
               xhtml.Core.extra.attrib 
               xhtml.I18n.extra.attrib
               xhtml.Common.extra 
            
            The above attribute Groups are considered Global 
        </xs:documentation>
    </xs:annotation>
    <xs:attributeGroup
        name="xhtml.I18n.extra.attrib">
        <xs:annotation>
            <xs:documentation> Extended I18n attribute </xs:documentation>
        </xs:annotation>
        <xs:attributeGroup
            ref="xhtml.dir.attrib">
            <xs:annotation>
                <xs:documentation> 
                "dir" Attribute from Bi Directional Text (bdo) Module
                </xs:documentation>
            </xs:annotation>
        </xs:attributeGroup>
    </xs:attributeGroup>
    <xs:attributeGroup
        name="xhtml.Common.extra">
        <xs:annotation>
            <xs:documentation> Extended Common Attributes </xs:documentation>
        </xs:annotation>
        <xs:attributeGroup
            ref="xhtml.style.attrib">
            <xs:annotation>
                <xs:documentation> 
                "style" attribute from Inline Style Module 
                </xs:documentation>
            </xs:annotation>
        </xs:attributeGroup>
    </xs:attributeGroup>
    <xs:attributeGroup
        name="xhtml.Core.extra.attrib">
        <xs:annotation>
            <xs:documentation> Extend Core Attributes </xs:documentation>
        </xs:annotation>
    </xs:attributeGroup>
    <xs:attributeGroup
        name="xhtml.Global.core.extra.attrib">
        <xs:annotation>
            <xs:documentation> Extended Global Core Attributes </xs:documentation>
        </xs:annotation>
    </xs:attributeGroup>
    <xs:attributeGroup
        name="xhtml.Global.I18n.extra.attrib">
        <xs:annotation>
            <xs:documentation> Extended Global I18n attributes </xs:documentation>
        </xs:annotation>
    </xs:attributeGroup>
    <xs:attributeGroup
        name="xhtml.Global.Common.extra">
        <xs:annotation>
            <xs:documentation> Extended Global Common Attributes </xs:documentation>
        </xs:annotation>
    </xs:attributeGroup>
    <xs:group
        name="xhtml.Head.extra">
        <xs:sequence/>
    </xs:group>
    <xs:group
        name="xhtml.HeadOpts.mix">
        <xs:choice>
            <xs:element
                name="script"
                type="xhtml.script.type"/>
            <xs:element
                name="style"
                type="xhtml.style.type"/>
            <xs:element
                name="meta"
                type="xhtml.meta.type"/>
            <xs:element
                name="link"
                type="xhtml.link.type"/>
            <xs:element
                name="object"
                type="xhtml.object.type"/>
            <xs:group
                ref="xhtml.Head.extra"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.head.content">
        <xs:sequence>
            <xs:group
                ref="xhtml.HeadOpts.mix"
                minOccurs="0"
                maxOccurs="unbounded"/>
            <xs:choice>
                <xs:sequence>
                    <xs:element
                        name="title"
                        minOccurs="1"
                        maxOccurs="1"
                        type="xhtml.title.type"/>
                    <xs:group
                        ref="xhtml.HeadOpts.mix"
                        minOccurs="0"
                        maxOccurs="unbounded"/>
                    <xs:sequence
                        minOccurs="0">
                        <xs:element
                            name="base"
                            type="xhtml.base.type"/>
                        <xs:group
                            ref="xhtml.HeadOpts.mix"
                            minOccurs="0"
                            maxOccurs="unbounded"/>
                    </xs:sequence>
                </xs:sequence>
                <xs:sequence>
                    <xs:element
                        name="base"
                        type="xhtml.base.type"
                        minOccurs="1"
                        maxOccurs="1"/>
                    <xs:group
                        ref="xhtml.HeadOpts.mix"
                        minOccurs="0"
                        maxOccurs="unbounded"/>
                    <xs:element
                        name="title"
                        minOccurs="1"
                        maxOccurs="1"
                        type="xhtml.title.type"/>
                    <xs:group
                        ref="xhtml.HeadOpts.mix"
                        minOccurs="0"
                        maxOccurs="unbounded"/>
                </xs:sequence>
            </xs:choice>
        </xs:sequence>
    </xs:group>
    <!--
    ins and del are used to denote editing changes
  -->
    <xs:group
        name="xhtml.Edit.class">
        <xs:choice>
            <xs:element
                name="ins"
                type="xhtml.edit.type"/>
            <xs:element
                name="del"
                type="xhtml.edit.type"/>
        </xs:choice>
    </xs:group>
    <!--
    script and noscript are used to contain scripts
    and alternative content
  -->
    <xs:group
        name="xhtml.Script.class">
        <xs:choice>
            <xs:element
                name="script"
                type="xhtml.script.type"/>
            <xs:element
                name="noscript"
                type="xhtml.noscript.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.Misc.extra">
        <xs:sequence/>
    </xs:group>
    <!--
    These elements are neither block nor inline, and can
    essentially be used anywhere in the document body.
  -->
    <xs:group
        name="xhtml.Misc.class">
        <xs:choice>
            <xs:group
                ref="xhtml.Edit.class"/>
            <xs:group
                ref="xhtml.Script.class"/>
            <xs:group
                ref="xhtml.Misc.extra"/>
        </xs:choice>
    </xs:group>
    <!-- Inline Elements -->
    <xs:group
        name="xhtml.InlStruct.class">
        <xs:choice>
            <xs:element
                name="br"
                type="xhtml.br.type"/>
            <xs:element
                name="span"
                type="xhtml.span.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.InlPhras.class">
        <xs:choice>
            <xs:element
                name="em"
                type="xhtml.em.type"/>
            <xs:element
                name="strong"
                type="xhtml.strong.type"/>
            <xs:element
                name="dfn"
                type="xhtml.dfn.type"/>
            <xs:element
                name="code"
                type="xhtml.code.type"/>
            <xs:element
                name="samp"
                type="xhtml.samp.type"/>
            <xs:element
                name="kbd"
                type="xhtml.kbd.type"/>
            <xs:element
                name="var"
                type="xhtml.var.type"/>
            <xs:element
                name="cite"
                type="xhtml.cite.type"/>
            <xs:element
                name="abbr"
                type="xhtml.abbr.type"/>
            <xs:element
                name="acronym"
                type="xhtml.acronym.type"/>
            <xs:element
                name="q"
                type="xhtml.q.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.InlPres.class">
        <xs:choice>
            <xs:element
                name="tt"
                type="xhtml.InlPres.type"/>
            <xs:element
                name="i"
                type="xhtml.InlPres.type"/>
            <xs:element
                name="b"
                type="xhtml.InlPres.type"/>
            <xs:element
                name="big"
                type="xhtml.InlPres.type"/>
            <xs:element
                name="small"
                type="xhtml.InlPres.type"/>
            <xs:element
                name="sub"
                type="xhtml.InlPres.type"/>
            <xs:element
                name="sup"
                type="xhtml.InlPres.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.I18n.class">
        <xs:sequence>
            <xs:element
                name="bdo"
                type="xhtml.bdo.type"/>
        </xs:sequence>
    </xs:group>
    <xs:group
        name="xhtml.Anchor.class">
        <xs:sequence>
            <xs:element
                name="a"
                type="xhtml.a.type"/>
        </xs:sequence>
    </xs:group>
    <xs:group
        name="xhtml.InlSpecial.class">
        <xs:choice>
            <xs:element
                name="img"
                type="xhtml.img.type"/>
            <xs:element
                name="map"
                type="xhtml.map.type"/>
            <xs:element
                name="object"
                type="xhtml.object.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.InlForm.class">
        <xs:choice>
            <xs:element
                name="input"
                type="xhtml.input.type"/>
            <xs:element
                name="select"
                type="xhtml.select.type"/>
            <xs:element
                name="textarea"
                type="xhtml.textarea.type"/>
            <xs:element
                name="label"
                type="xhtml.label.type"/>
            <xs:element
                name="button"
                type="xhtml.button.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.Inline.extra">
        <xs:sequence/>
    </xs:group>
    <xs:group
        name="xhtml.Ruby.class">
        <xs:sequence>
            <xs:element
                name="ruby"
                type="xhtml.ruby.type"/>
        </xs:sequence>
    </xs:group>
    <!--
    Inline.class includes all inline elements,
    used as a component in mixes
  -->
    <xs:group
        name="xhtml.Inline.class">
        <xs:choice>
            <xs:group
                ref="xhtml.InlStruct.class"/>
            <xs:group
                ref="xhtml.InlPhras.class"/>
            <xs:group
                ref="xhtml.InlPres.class"/>
            <xs:group
                ref="xhtml.I18n.class"/>
            <xs:group
                ref="xhtml.Anchor.class"/>
            <xs:group
                ref="xhtml.InlSpecial.class"/>
            <xs:group
                ref="xhtml.InlForm.class"/>
            <xs:group
                ref="xhtml.Ruby.class"/>
            <xs:group
                ref="xhtml.Inline.extra"/>
        </xs:choice>
    </xs:group>
    <!--
     InlNoRuby.class includes all inline elements
     except ruby
  -->
    <xs:group
        name="xhtml.InlNoRuby.class">
        <xs:choice>
            <xs:group
                ref="xhtml.InlStruct.class"/>
            <xs:group
                ref="xhtml.InlPhras.class"/>
            <xs:group
                ref="xhtml.InlPres.class"/>
            <xs:group
                ref="xhtml.I18n.class"/>
            <xs:group
                ref="xhtml.Anchor.class"/>
            <xs:group
                ref="xhtml.InlSpecial.class"/>
            <xs:group
                ref="xhtml.InlForm.class"/>
            <xs:group
                ref="xhtml.Inline.extra"/>
        </xs:choice>
    </xs:group>
    <!--
    InlinePre.mix
    Used as a component in pre model
  -->
    <xs:group
        name="xhtml.InlinePre.mix">
        <xs:choice>
            <xs:group
                ref="xhtml.InlStruct.class"/>
            <xs:group
                ref="xhtml.InlPhras.class"/>
            <xs:element
                name="tt"
                type="xhtml.InlPres.type"/>
            <xs:element
                name="i"
                type="xhtml.InlPres.type"/>
            <xs:element
                name="b"
                type="xhtml.InlPres.type"/>
            <xs:group
                ref="xhtml.I18n.class"/>
            <xs:group
                ref="xhtml.Anchor.class"/>
            <xs:group
                ref="xhtml.Misc.class"/>
            <xs:element
                name="map"
                type="xhtml.map.type"/>
            <xs:group
                ref="xhtml.Inline.extra"/>
        </xs:choice>
    </xs:group>
    <!--
    InlNoAnchor.class includes all non-anchor inlines,
    used as a component in mixes
  -->
    <xs:group
        name="xhtml.InlNoAnchor.class">
        <xs:choice>
            <xs:group
                ref="xhtml.InlStruct.class"/>
            <xs:group
                ref="xhtml.InlPhras.class"/>
            <xs:group
                ref="xhtml.InlPres.class"/>
            <xs:group
                ref="xhtml.I18n.class"/>
            <xs:group
                ref="xhtml.InlSpecial.class"/>
            <xs:group
                ref="xhtml.InlForm.class"/>
            <xs:group
                ref="xhtml.Ruby.class"/>
            <xs:group
                ref="xhtml.Inline.extra"/>
        </xs:choice>
    </xs:group>
    <!--
    InlNoAnchor.mix includes all non-anchor inlines
  -->
    <xs:group
        name="xhtml.InlNoAnchor.mix">
        <xs:choice>
            <xs:group
                ref="xhtml.InlNoAnchor.class"/>
            <xs:group
                ref="xhtml.Misc.class"/>
        </xs:choice>
    </xs:group>
    <!--
    Inline.mix includes all inline elements, including Misc.class
  -->
    <xs:group
        name="xhtml.Inline.mix">
        <xs:choice>
            <xs:group
                ref="xhtml.Inline.class"/>
            <xs:group
                ref="xhtml.Misc.class"/>
        </xs:choice>
    </xs:group>
    <!--
   InlNoRuby.mix includes all of inline.mix elements
   except ruby
  -->
    <xs:group
        name="xhtml.InlNoRuby.mix">
        <xs:choice>
            <xs:group
                ref="xhtml.InlNoRuby.class"/>
            <xs:group
                ref="xhtml.Misc.class"/>
        </xs:choice>
    </xs:group>
    <!--
    In the HTML 4 DTD, heading and list elements were included
    in the block group. The Heading.class and
    List.class groups must now be included explicitly
    on element declarations where desired.
  -->
    <xs:group
        name="xhtml.Heading.class">
        <xs:choice>
            <xs:element
                name="h1"
                type="xhtml.h1.type"/>
            <xs:element
                name="h2"
                type="xhtml.h2.type"/>
            <xs:element
                name="h3"
                type="xhtml.h3.type"/>
            <xs:element
                name="h4"
                type="xhtml.h4.type"/>
            <xs:element
                name="h5"
                type="xhtml.h5.type"/>
            <xs:element
                name="h6"
                type="xhtml.h6.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.List.class">
        <xs:choice>
            <xs:element
                name="ul"
                type="xhtml.ul.type"/>
            <xs:element
                name="ol"
                type="xhtml.ol.type"/>
            <xs:element
                name="dl"
                type="xhtml.dl.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.Table.class">
        <xs:choice>
            <xs:element
                name="table"
                type="xhtml.table.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.Form.class">
        <xs:choice>
            <xs:element
                name="form"
                type="xhtml.form.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.Fieldset.class">
        <xs:choice>
            <xs:element
                name="fieldset"
                type="xhtml.fieldset.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.BlkStruct.class">
        <xs:choice>
            <xs:element
                name="p"
                type="xhtml.p.type"/>
            <xs:element
                name="div"
                type="xhtml.div.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.BlkPhras.class">
        <xs:choice>
            <xs:element
                name="pre"
                type="xhtml.pre.type"/>
            <xs:element
                name="blockquote"
                type="xhtml.blockquote.type"/>
            <xs:element
                name="address"
                type="xhtml.address.type"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.BlkPres.class">
        <xs:sequence>
            <xs:element
                name="hr"
                type="xhtml.hr.type"/>
        </xs:sequence>
    </xs:group>
    <xs:group
        name="xhtml.BlkSpecial.class">
        <xs:choice>
            <xs:group
                ref="xhtml.Table.class"/>
            <xs:group
                ref="xhtml.Form.class"/>
            <xs:group
                ref="xhtml.Fieldset.class"/>
        </xs:choice>
    </xs:group>
    <xs:group
        name="xhtml.Block.extra">
        <xs:sequence/>
    </xs:group>
    <!--
    Block.class includes all block elements,
    used as an component in mixes
  -->
    <xs:group
        name="xhtml.Block.class">
        <xs:choice>
            <xs:group
                ref="xhtml.BlkStruct.class"/>
            <xs:group
                ref="xhtml.BlkPhras.class"/>
            <xs:group
                ref="xhtml.BlkPres.class"/>
            <xs:group
                ref="xhtml.BlkSpecial.class"/>
            <xs:group
                ref="xhtml.Block.extra"/>
        </xs:choice>
    </xs:group>
    <!--
   Block.mix includes all block elements plus %Misc.class;
  -->
    <xs:group
        name="xhtml.Block.mix">
        <xs:choice>
            <xs:group
                ref="xhtml.Heading.class"/>
            <xs:group
                ref="xhtml.List.class"/>
            <xs:group
                ref="xhtml.Block.class"/>
            <xs:group
                ref="xhtml.Misc.class"/>
        </xs:choice>
    </xs:group>
    <!--
    All Content Elements
    Flow.mix includes all text content, block and inline
    Note that the "any" element included here allows us
    to add data from any other namespace, a necessity
    for compound document creation.
    Note however that it is not possible to add
    to any head level element without further
    modification. To add RDF metadata to the head
    of a document, modify the structure module.
  -->
    <xs:group
        name="xhtml.Flow.mix">
        <xs:choice>
            <xs:group
                ref="xhtml.Heading.class"/>
            <xs:group
                ref="xhtml.List.class"/>
            <xs:group
                ref="xhtml.Block.class"/>
            <xs:group
                ref="xhtml.Inline.class"/>
            <xs:group
                ref="xhtml.Misc.class"/>
        </xs:choice>
    </xs:group>
    <!--
    BlkNoForm.mix includes all non-form block elements,
    plus Misc.class
  -->
    <xs:group
        name="xhtml.BlkNoForm.mix">
        <xs:choice>
            <xs:group
                ref="xhtml.Heading.class"/>
            <xs:group
                ref="xhtml.List.class"/>
            <xs:group
                ref="xhtml.BlkStruct.class"/>
            <xs:group
                ref="xhtml.BlkPhras.class"/>
            <xs:group
                ref="xhtml.BlkPres.class"/>
            <xs:group
                ref="xhtml.Table.class"/>
            <xs:group
                ref="xhtml.Block.extra"/>
            <xs:group
                ref="xhtml.Misc.class"/>
        </xs:choice>
    </xs:group>
    <xs:element
        name="html"
        type="xhtml.html.type"/>
</xs:schema>

E. 謝辞 (Acknowledgements)

この付録は参考的

この仕様書は、W3C HTML作業部会によって提示された。第一版の公開当時のメンバは次の通り:

第二版の公開当時のメンバは次の通り:

(insert the list here)