XHTML™ 1.1 - モジュールベースXHTML


W3C

XHTML 1.1 - モジュールベースXHTML

W3Cワーキングドラフト 2000年1月5日

このバージョン[原文]:
http://www.w3.org/TR/2000/WD-xhtml11-20000105
([原文の]単一ファイル版, Postscript版, PDF版, ZIPアーカイブ, Gzip圧縮TARアーカイブ)
最新のバージョン:
http://www.w3.org/TR/xhtml11
以前のバージョン:
http://www.w3.org/TR/1999/WD-xhtml11-19990910
[原文の]差分注記バージョン:
xhtml11-diff-20000105.html
編集者:
Murray Altheim, Sun Microsystems
Shane McCarron, Applied Testing and Technology

概要

このワーキングドラフトは、Building XHTML Modules [BUILDING] で定義されているモジュールフレームワークと、Modularization of XHTML [XHTMLMOD] で定義されているモジュールとにのみ基づく、新しいXHTML文書型を定義する。この文書型の目的は、将来の拡張されたXHTML「ファミリー」文書型の基礎として機能すること、および、一貫性があり、先を見通しており、HTML4の廃止方向の遺物的な機能 文書型を用意するところにある。この文書型の目的は、将来的な拡張されたXHTML「ファミリー」文書型の基礎として機能すること、および、XHTML 1.0 [XHTML1] 文書型に持ち込まれた HTML 4 [HTML4] の廃止方向の遺物的な機能から明確に分離された、一貫性があって先の見通しのある文書型を用意するところにある。この文書の中の素材は、以前は Modularization of XHTML 文書の一部であったが、編集上の目的から分離されたものであるので注意してほしい。

この文書の位置付け

このセクションは、この文書の公開時点における位置づけを記述するものである。他の文書がこの文書に取って代わることがある。この文書シリーズの最新の位置づけは、W3Cにおいて維持管理されている。

これは "XHTML 1.1" の "ラストコール ワーキングドラフト" である。ラストコール レビュー期間は、2000年2月1日の23時59分に終了する。レビューコメントは、レビュー期間が終了する前に、www-html-editor@w3.org へお送りいただきたい。

ワーキンググループは、ワーキンググループがラストコール レビューコメントを処理し、解決策をガイドラインに組み込んだ後、W3Cディレクターに対し、この文書を勧告案(Proposed Recommendation)へと進めるよう依頼する予定である。

この文書は W3C HTML Activity の一部として作成されているものである。HTML Working Group (会員専用) の目標は、HTMLワーキンググループ憲章 (会員専用) で論じられている。

これは、W3C会員およびその他の利害関係者によるレビューのためのW3Cワーキングドラフトである。この文書はドラフト文書であって、何時にても他の文書によって更新され、置換され、または廃止されることがある。W3Cワーキングドラフトを参照素材として利用したり、「進行中の作業」以外のものとして引用することは不適切である。これは進行中の作業であって、W3Cや、HTMLワーキンググループの参加者による保証や合意という意味合いを含むものではない。

現行のW3C勧告およびその他の技術文書の一覧は http://www.w3.org/TR で見ることができる。

簡略目次

詳細目次

1. はじめに

このセクションは規範的である。

XHTMLファミリーのモジュールや文書型の導入により、W3Cは、インターネットコンテンツ開発コミュニティわ、不格好で非標準的なマークアップの時代から、整形式で妥当なXMLの世界へと移行させる手助けをしている。XHTML 1.0 では、この動きは、HTML 4.0 (またはそれ以前) ベースの既存のコンテンツを簡単にXHTMLやXMLへ移行させる用意を整えるという目的によって、和らげられた。Modularization of XHTML で定義されるXHTMLモジュールの出現により、W3Cは、廃止方向の要素や属性のサポートをXHTMLファミリーから除外している。これらの要素や属性は、大半は、スタイルシートやクライアント特有のデフォルト挙動を経由する方がうまくいく表現指向の機能であった。

前進するにつれて、XHTMLファミリー文書型は、この新しくてさらに構造的な機能上の集合物に基礎をおくことになる。この仕様書では、W3CのHTMLワーキンググループは、モジュールにのみ基づいた初期的な文書型を定義している。この文書型は、広い範囲のクライアントデバイスへ持ち運ぶことができ、大多数のインターネットコンテンツに適用できるよう設計されている。コンテンツをこの仕様書に表記されている機能に基づかせているコンテンツ開発者は、XHTMLファミリーに適合しているユーザエージェントにまたがって一貫性をもって持ち運びが可能であるだろうということに自信を持つことができる。

2. 適合性の定義

このセクションは規範的である。

2.1. 文書の適合性

このバージョンのXHTMLは、厳格に適合的であるXHTML文書の定義を用意するものであり、それは、XHTML 1.1 名前空間に由来する要素と属性とに制限される。

2.1.1. 厳格適合文書

厳格適合的な XHTML 1.1 文書とは、この仕様書において義務的なものとして記述されている装備だけを必須とする文書である。そうした文書は、以下の判断基準のすべてに沿わなければならない。

  1. 付録 C で見られるDTDに従って妥当でなければならない。

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

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

  4. 文書内にはルート要素に先立って DOCTYPE 宣言1個がなければならない。存在する場合、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" xml:lang="ja" >
  <head>
    <title>バーチャル図書館</title>
  </head>
  <body>
    <p><a href="http://vlib.org/">vlib.org</a> へ移転しました。</p>
  </body>
</html>

この例では、XML宣言が組み込まれていることに注意してほしい。上記のもののようなXML宣言は、すべてのXML文書に必須というわけではない。XHTML文書の制作者は、すべての文書でXML宣言を使うよう強く推奨される。そうした宣言は、文書のキャラクタエンコーディングがデフォルトのUTF-8かUTF-16以外であるときには必須である。

2.2. ユーザエージェントの適合性

適合的なユーザエージェントは、[XHTMLMOD] で定義されているユーザエージェント適合性の必要条件のすべてに沿わなければならない。

3. XHTML 1.1 文書型

このセクションは規範的である。

XHTML 1.1 文書型は、リッチな意味論を有する完全に機能的な文書型である。もっとも、XHTML 1.0 Transitional 文書型や Frameset 文書型と、機能においてはさほど変わらない。これらの文書型は、多数の表現的なコンポーネントを定義していたが、それらはスタイルシートやその他の類似のメカニズムを通じての方がうまく扱われるものである。それだけでなく、XHTML 1.1 文書型は、XHTML Modules で定義されている装備に、排他的に基礎を置いているから、XHTML 1.0 や HTML 4.0 の廃止方向の機能をひとつも含んでいない。これらの例外にもかかわらず、またおそらくはこれらの例外ゆえに、XHTML 1.1 文書型は、さまざまなユーザエージェント環境を標的とした将来の文書型のための、強固な基礎となるのである。

XHTML 1.1 文書型は、以下の抽象的モジュールからなる。[XHTMLMOD] で定義されている Structure, Basic Text, Hypertext, List, Applet, Presentation, Edit, BDO, Forms, Tables, Image, Image Map, Intrinsic Events, Metainformation, Scripting, Stylesheet, Link モジュール, および [RUBY] で定義されている Ruby Annotation モジュール. この文書型によって必須とされる追加的な定義はない。この文書型の XML DTD としての実装は、付録 C で定義される。

A. XHTML 1.0 からの変更点

この付録は参考である。

この付録は、XHTML 1.1 と XHTML 1.0 との間の相違点を解説するものである。XHTML 1.1 は、HTML 1.0 と XHTML 1.0 との両方からの出発を表している。最も重大なのは、廃止方向であった機能の除去である。さらに、利用可能であった機能のいくつかが除去されている。一般的に、構造的な機能においてはリッチであるが、表現についてはスタイルシートに頼るというマークアップ言語を定義するところに戦略がある。

下記の表では、XHTML 1.0 に存在した要素がそれぞれ列挙されている。要素ごとに、表は、それがサポートされているかどうか、もしサポートされているならばその内容モデルが変わっているかどうかや利用可能な属性が変わっているかどうかを示している。

要素 変更点
全要素 -lang
a -accesskey, -name, -tabindex, -target
abbr 変更なし
acronym 変更なし
address 変更なし
applet 変更なし
area -target
b 変更なし
base サポートされない
basefont サポートされない
bdo 変更なし
big 変更なし
blockquote 変更なし
body -background, -bgcolor, -text, -link, -vlink, -alink
br -clear
button 変更なし
caption -align
center サポートされない
cite 変更なし
code 変更なし
col 変更なし
colgroup 変更なし
dd 変更なし
del 変更なし
dfn 変更なし
dir 変更なし
div -align
dl 変更なし
dt 変更なし
em 変更なし
fieldset 変更なし
font サポートされない
form 変更なし
frame サポートされない
frameset サポートされない
h1 -align
h2 -align
h3 -align
h4 -align
h5 -align
h6 -align
head 変更なし
hr -align, -noshade, -size, -width
html 変更なし
i 変更なし
iframe サポートされない
img -align, -border, -hspace, -vspace
input -align
ins 変更なし
isindex サポートされない
kbd 変更なし
label 変更なし
legend -align
li -type, -value
link -target
map -name
menu サポートされない
meta 変更なし
noframes サポートされない
noscript 変更なし
object サポートされない
ol -compact, -start, -type
optgroup 変更なし
option 変更なし
p -align
param 変更なし
pre -width
q 変更なし
s サポートされない
samp 変更なし
script -language
select 変更なし
small 変更なし
span 変更なし
strike サポートされない
strong 変更なし
style 変更なし
sub 変更なし
sup 変更なし
table -align, -bgcolor
tbody 変更なし
td -bgcolor, -height, -nowrap, -width
textarea 変更なし
tfoot 変更なし
th -bgcolor, -height, -nowrap, -width
thead 変更なし
title 変更なし
tr -bgcolor
tt 変更なし
u サポートされない
ul -compact, -type
var 変更なし

B. 参照資料

この付録は規範的である。

B.1. 規範的な参照資料

[HTML4]
HTML 4.01 Specification: W3C Recommendation, Dave Raggett, Arnaud Le Hors, Ian Jacobs, 1999年12月24日.
http://www.w3.org/TR/1999/REC-html401-19991224 を見よ。
[XHTML1]
XHTML 1.0: The Extensible HyperText Markup Language, Steven Pemberton 他, 1999年12月10日.
http://www.w3.org/TR/xhtml1 を見よ。
[XHTMLMOD]
Modularization of XHTML, Shane P. McCarron 他, 2000年1月5日.
http://www.w3.org/TR/2000/WD-xhtml-modularization-20000105 を見よ。
[XML]
Extensible Markup Language (XML) 1.0: W3C Recommendation, Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, 10 February 1998.
See: http://www.w3.org/TR/REC-xml
[BUILDING]
Building XHTML Modules, Murray Altheim, Shane P. McCarron, 2000年1月5日.
http://www.w3.org/TR/2000/WD-xhtml-building-20000105 を見よ。
[RUBY]
Ruby Annotation, Marcin Sawicki 他, 1999年12月17日.
http://www.w3.org/TR/ruby を見よ。
[SGML]
Information Processing -- Text and Office Systems -- Standard Generalized Markup Language (SGML), ISO 8879:1986.
標準規格についての情報は http://www.iso.ch/cate/d16387.html を、またSGMLについては http://www.oasis-open.org/cover/general.html#overview を参照されたい。

B.2. 参考的な参照資料

[CATALOG]
Entity Management: OASIS Technical Resolution 9401:1997 (Amendment 2 to TR 9401) Paul Grosso, Chair, Entity Management Subcommittee, SGML Open, 1997年9月10日.
http://www.oasis-open.org/html/a401.htm を見よ。
[DEVDTD]
Developing SGML DTDs: From Text to Model to Markup, Eve Maler, Jeanne El Andaloussi.
Prentice Hall PTR, 1996, ISBN 0-13-309881-8.
[STRUCTXML]
Structuring XML Documents, David Megginson. Part of the Charles Goldfarb Series on Information Management.
Prentice Hall PTR, 1998, ISBN 0-13-642299-3.
[DOCBOOK]
DocBook DTD, Eve Maler, Terry Allen.
元々は the Davenport Group の賛助の元に作成されたものであるが、DocBook は今はOASISによって維持管理されている。The Customizer's Guide for the DocBook DTD V2.4.1 がこのサイトから入手できる。
http://www.oasis-open.org/docbook/index.html を見よ。
[DUBLIN]
The Dublin Core: A Simple Content Description Model for Electronic Resources, The Dublin Core Metadata Initiative.
http://purl.oclc.org/dc/ を見よ。
[SMIL]
Synchronized Multimedia Integration Language (SMIL) 1.0 Specification, Philipp Hoschka, 1998年6月15日.
http://www.w3.org/TR/REC-smil を見よ。
[TEI]
The Text Encoding Initiative (TEI)
http://www.uic.edu/orgs/tei/ を見よ。
[URI]
Uniform Resource Identifiers (URI): Generic Syntax, T. Berners-Lee, R. Fielding, L. Masinter, 1998年8月.
http://www.ietf.org/rfc/rfc2396.txt を見よ。このRFCは、RFC 1738 [URL][RFC1808] とを更新するものである。
[URL]
IETF RFC 1738, Uniform Resource Locators (URL), T. Berners-Lee, L. Masinter, M. McCahill.
http://www.ietf.org/rfc/rfc1738.txt を見よ。
[RFC-1808]
Relative Uniform Resource Locators, R. Fielding.
http://www.ietf.org/rfc/rfc1808.txt を見よ。
[CSS2]
"Cascading Style Sheets, level 2 (CSS2) Specification", B. Bos, H. W. Lie, C. Lilley, I. Jacobs, 1998年5月12日.
http://www.w3.org/TR/REC-CSS2 で入手可能。
[DOM]
"Document Object Model (DOM) Level 1 Specification", Lauren Wood , 1998年10月1日.
http://www.w3.org/TR/REC-DOM-Level-1 で入手可能。
[RFC2119]
"RFC2119: Key words for use in RFCs to Indicate Requirement Levels", S. Bradner, 1997年3月.
http://www.ietf.org/rfc/rfc2119.txt で入手可能。
[RFC2376]
"RFC2376: XML Media Types", E. Whitehead, M. Murata, 1998年7月.
http://www.ietf.org/rfc/rfc2376.txt で入手可能。
[TIDY]
"HTML Tidy" は、HTMLで蔓延している広範囲なマークアップエラーを検知して訂正するためのツールである。これはまた、既存のHTMLコンテンツを整形式のXMLに変換するためのツールとしても利用できる。Tidyは、他のW3Cサンプルコードと同じ約款に基づいて、すなわち、目的を問わず無料であるが、完全にあなた自身のリスクにおいて、利用できるようにされている。http://www.w3.org/Status.html#TIDY から入手できる。
[XMLNAMES]
"Namespaces in XML", T. Bray, D. Hollander, A. Layman, 1999年1月14日.
XML名前空間は、XML文書で使われる名前を、URIによって識別特定される名前空間と結びつけることにより修飾するための簡素な方法を提供する。
http://www.w3.org/TR/REC-xml-names で入手可能。
[XMLSTYLE]
"Associating stylesheets with XML documents Version 1.0", J. Clark, 1999年1月14日.
この文書は、XML文書のプロローグ部分に xml-stylesheet というターゲットをもつ1個以上の処理命令を組み込むことにより、スタイルシートをXML文書に結びつける手段を解説する。
http://www.w3.org/TR/PR-xml-stylesheet で入手可能。

C. XHTML 1.1 文書型定義

この付録は規範的である。

C.1. XHTML 1.1 用 SGMLオープンカタログエントリ

このセクションは、XHTML 1.1 FPI のSGMLオープンカタログフォーマット定義を内容とする。

-- .......................................................................... --
-- ファイルカタログ ......................................................... --

--  XHTML 1.1 カタログデータファイル

    Revision:  @(#)xhtml11.cat 1.8 99/08/26 SMI

    カタログデータの供給や利用に関する詳しい情報については、SGML Open Technical
    Resolution 9401 の "Entity Management" を見ること。この文書は、OASISからつぎ
    のURLから入手することができる。

        <http://www.oasis-open.org/cover/tr9401.html>
--

-- .......................................................................... --
-- XHTMLと結びつけられたSGML宣言 ............................................ --

OVERRIDE YES

-- SGMLDECL "xml1.dcl" --

-- Unicode非互換のパーサで利用するために --
SGMLDECL "xml1n.dcl"

-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --

-- XHTML 1.1 DTD モジュラドライバファイル  .................................. --

PUBLIC "-//W3C//DTD XHTML 1.1//EN"                                "xhtml11.dtd"

-- XHTML 1.1 フレームワークモジュール ....................................... --

PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"        "xhtml11-model-1.mod"


-- カタログデータの末尾 ..................................................... --
-- .......................................................................... --


C.2. XHTML 1.1 ドライバ

このセクションは、XML DTD としての XHTML 1.1 文書型実装のためのドライバを内容とする。[XHTMLMOD] や [RUBY] で定義されているXHTMLモジュール実装を頼る。

<!-- ....................................................................... -->
<!-- XHTML 1.1 DTD  ........................................................ -->
<!-- file: xhtml11.dtd
-->

<!-- XHTML 1.1 DTD

     これは、XTHML 1.0 のモジュラ変種たる XHTML 1.1 である。

     Copyright 1998-2000 World Wide Web Consortium
        (マサチューセッツ工科大学, フランス国立情報処理自動化研究所,
         慶應義塾大学).
         すべての権利が留保されている。

     目的を問わず無料で XHTML 1.1 DTD およびその付随文書を利用し、複製し、
     修正し、配布することの許可は、上記の著作権表示とこの段落とがすべての
     コピーに現れている限りにおいて、ここに永久に許与される。著作権保有者
     は、いかなる目的についてもDTDの適合性について、何ら保証しない。

     これは、明示黙示の保証なしに「あるがまま」で提供される。

        著作者:     Murray M. Altheim <altheim@eng.sun.com>
        リビジョン: $Id: xhtml11.dtd,v 1.5 2000/01/04 19:50:19 ahby Exp $ SMI

-->
<!-- これは、XHTML DTD のバージョン 1.1 のためのドライバファイルである。

     それを識別特定するためには、この公式の公開識別子をお使いいただきたい。

         "-//W3C//DTD XHTML 1.1//EN"
-->
<!ENTITY % XHTML.version  "-//W3C//DTD XHTML 1.1//EN" >

<!-- デフォルト名前空間を識別特定するには、このURIを使うこと。

         "http://www.w3.org/1999/xhtml"
-->
<!ENTITY % XHTML.ns  "http://www.w3.org/1999/xhtml" >

<!-- XLink名前空間で利用するために予約済み
-->
<!ENTITY % XLINK.ns "" >
<!ENTITY % XLinkns.attrib "" >

<!-- たとえば、直接に XHTML 1.1 を使っているならば、デフォル
     ト名前空間を識別特定するため、文書要素上に xmlns 属性をつけ
     て、DOCTYPE 宣言の中でFPIを使うこと。

         <?xml version="1.0"?>
         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
                               "xhtml11.dtd" >
         <html xmlns="http://www.w3.org/TR/xhtml"
               xmlns:xlink="http://www.w3.org/XML/XLink/0.9"
               xml:lang="en" >
         ...
         </html>

     見直し
     (なし)
-->

<!-- 将来的に文書プロファイルで利用するために予約済み -->
<!ENTITY % XHTML.profile  "" >

<!-- 国際化機能
     この機能テスト実体は、国際化サポートのために使われる要
     素や属性を宣言するために使われる。
-->
<!ENTITY % XHTML.I18n  "INCLUDE" >

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!ENTITY % xhtml-events.module "INCLUDE" >

<!-- 内容モデルの定義 -->
<!ENTITY % xhtml-model.mod
     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
     SYSTEM "xhtml11-model-1.mod" >

<!-- フレームワーク前再宣言場所 .................................. -->
<!-- これは、フレームワーク宣言に先立って、マークアップ宣言
     をDTDに挿入するべき場所として機能する。
-->
<!ENTITY % xhtml-prefw-redecl.module "IGNORE" >
<![%xhtml-prefw-redecl.module;[
%xhtml-prefw-redecl.mod;
<!-- xhtml-prefw-redecl.module の末尾 -->]]>

<!-- モジュラフレームワークモジュール ............................ -->
<!ENTITY % xhtml-framework.module "INCLUDE" >
<![%xhtml-framework.module;[
<!ENTITY % xhtml-framework.mod
     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Modular Framework 1.0//EN"
            "xhtml11-framework-1.mod" >
%xhtml-framework.mod;]]>

<!-- フレームワーク後再宣言場所 .................................. -->
<!-- これは、フレームワーク宣言に続けて、マークアップ宣言を
     DTDに挿入するための場所として機能する。
-->
<!ENTITY % xhtml-postfw-redecl.module "IGNORE" >
<![%xhtml-postfw-redecl.module;[
%xhtml-postfw-redecl.mod;
<!-- xhtml-postfw-redecl.module の末尾 -->]]>

<!-- 基本テキストモジュール (必須) ............................... -->
<!ENTITY % xhtml-text.module "INCLUDE" >
<![%xhtml-text.module;[
<!ENTITY % xhtml-text.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Basic Text 1.0//EN"
            "xhtml11-text-1.mod" >
%xhtml-text.mod;]]>

<!-- ハイパーテキストモジュール (必須) ............................ -->
<!ENTITY % xhtml-hypertext.module "INCLUDE" >
<![%xhtml-hypertext.module;[
<!ENTITY % xhtml-hypertext.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Hypertext 1.0//EN"
            "xhtml11-hypertext-1.mod" >
%xhtml-hypertext.mod;]]>

<!-- リストモジュール (必須)  ..................................... -->
<!ENTITY % xhtml-list.module "INCLUDE" >
<![%xhtml-list.module;[
<!ENTITY % xhtml-list.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Lists 1.0//EN"
            "xhtml11-list-1.mod" >
%xhtml-list.mod;]]>

<!-- 文書構造モジュール (必須)  ................................... -->
<!ENTITY % xhtml-struct.module "INCLUDE" >
<![%xhtml-struct.module;[
<!ENTITY % xhtml-struct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Document Structure 1.0//EN"
            "xhtml11-struct-1.mod" >
%xhtml-struct.mod;]]>

<!-- 必須セクションの末尾 :::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- ルビモジュール ............................................... -->
<!ENTITY % Ruby.fallback "INCLUDE" >
<!ENTITY % Ruby.common.attlists "INCLUDE" >
<!ENTITY % Ruby.common.attrib "%Common.attrib;" >

<!ENTITY % xhtml-ruby.module "INCLUDE" >
<![%xhtml-ruby.module;[
<!ENTITY % xhtml-ruby.mod
     PUBLIC "-//W3C//ELEMENTS Ruby 1.0//EN"
            "ruby-1.mod" >
%xhtml-ruby.mod;]]>

<!-- 編集モジュール  .............................................. -->
<!ENTITY % xhtml-edit.module "INCLUDE" >
<![%xhtml-edit.module;[
<!ENTITY % xhtml-edit.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Editing Elements 1.0//EN"
            "xhtml11-edit-1.mod" >
%xhtml-edit.mod;]]>

<!-- 表現モジュール ............................................... -->
<!ENTITY % xhtml-pres.module "INCLUDE" >
<![%xhtml-pres.module;[
<!ENTITY % xhtml-pres.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Presentation 1.0//EN"
            "xhtml11-pres-1.mod" >
%xhtml-pres.mod;]]>

<!-- Javaアプレット要素モジュール ................................ -->
<!ENTITY % xhtml-applet.module "INCLUDE" >
<![%xhtml-applet.module;[
<!ENTITY % xhtml-applet.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Java Applets 1.0//EN"
            "xhtml11-applet-1.mod" >
%xhtml-applet.mod;]]>

<!-- パラメータ要素モジュール .................................... -->
<!ENTITY % xhtml-param.module "INCLUDE" >
<![%xhtml-param.module;[
<!ENTITY % xhtml-param.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Param Element 1.0//EN"
            "xhtml11-param-1.mod" >
%xhtml-param.mod;]]>

<!-- 双方向筆記オーバーライドモジュール .......................... -->
<!ENTITY % xhtml-bdo.module "INCLUDE" >
<![%xhtml-bdo.module;[
<!ENTITY % xhtml-bdo.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 BIDI Override Element 1.0//EN"
            "xhtml11-bdo-1.mod" >
%xhtml-bdo.mod;]]>

<!-- フォームモジュール .......................................... -->
<!ENTITY % xhtml-form.module "INCLUDE" >
<![%xhtml-form.module;[
<!ENTITY % xhtml-form.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Forms 1.0//EN"
            "xhtml11-form-1.mod" >
%xhtml-form.mod;]]>

<!-- テーブルモジュール .......................................... -->
<!ENTITY % xhtml-table.module "INCLUDE" >
<![%xhtml-table.module;[
<!ENTITY % xhtml-table.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Tables 1.0//EN"
            "xhtml11-table-1.mod" >
%xhtml-table.mod;]]>

<!-- 画像モジュール .............................................. -->
<!ENTITY % xhtml-image.module "INCLUDE" >
<![%xhtml-image.module;[
<!ENTITY % xhtml-image.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Images 1.0//EN"
            "xhtml11-image-1.mod" >
%xhtml-image.mod;]]>

<!-- クライアント側イメージマップモジュール ...................... -->
<!ENTITY % xhtml-csismap.module "INCLUDE" >
<![%xhtml-csismap.module;[
<!ENTITY % xhtml-csismap.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Client-side Image Maps 1.0//EN"
            "xhtml11-csismap-1.mod" >
%xhtml-csismap.mod;]]>

<!-- サーバ側イメージマップモジュール ............................ -->
<!ENTITY % xhtml-ssismap.module "INCLUDE" >
<![%xhtml-ssismap.module;[
<!ENTITY % xhtml-ssismap.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Server-side Image Maps 1.0//EN"
            "xhtml11-ssismap-1.mod" >
%xhtml-ssismap.mod;]]>

<!-- 文書メタ情報モジュール ...................................... -->
<!ENTITY % xhtml-meta.module "INCLUDE" >
<![%xhtml-meta.module;[
<!ENTITY % xhtml-meta.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Metainformation 1.0//EN"
            "xhtml11-meta-1.mod" >
%xhtml-meta.mod;]]>

<!-- スクリプティングモジュール .................................. -->
<!ENTITY % xhtml-script.module "INCLUDE" >
<![%xhtml-script.module;[
<!ENTITY % xhtml-script.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Scripting 1.0//EN"
            "xhtml11-script-1.mod" >
%xhtml-script.mod;]]>

<!-- スタイルシートモジュール .................................... -->
<!ENTITY % xhtml-style.module "INCLUDE" >
<![%xhtml-style.module;[
<!ENTITY % xhtml-style.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Stylesheets 1.0//EN"
            "xhtml11-style-1.mod" >
%xhtml-style.mod;]]>

<!-- リンク要素モジュール ........................................ -->
<!ENTITY % xhtml-link.module "INCLUDE" >
<![%xhtml-link.module;[
<!ENTITY % xhtml-link.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Link Element 1.0//EN"
            "xhtml11-link-1.mod" >
%xhtml-link.mod;]]>

<!-- ベース要素モジュール ........................................ -->
<!ENTITY % xhtml-base.module "INCLUDE" >
<![%xhtml-base.module;[
<!ENTITY % xhtml-base.mod
     PUBLIC "-//W3C//ELEMENTS XHTML 1.1 Base Element 1.0//EN"
            "xhtml11-base-1.mod" >
%xhtml-base.mod;]]>

<!-- XHTML 1.1 DTD の末尾 .................................................. -->
<!-- ....................................................................... -->

C.3. XHTML 1.1 カスタマイズ

XHTML 1.1 ファミリー文書型 (XHTML 1.1 といったようなもの) は、利用する内容モデルを定義しなければならない。これは、XHTMLモジュラフレームワークによってインスタンス化される別個の内容モデルモジュールを通じてなされる。内容モデルモジュールと XHTML 1.1 ドライバ (上記) とは、一緒に働いて、モジュール実装物をその文書型に特有の要求事項にカスタマイズする。XHTML 1.1 のための内容モデルモジュールは、下記に定義される。

<!-- ....................................................................... -->
<!-- XHTML 1.1 文書モデルモジュール ........................................ -->
<!-- file: xhtml11-model-1.mod

     これは、XHTML 1.0 のモジュラ変種たる XHTML 1.1 である。
     Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
     リビジョン: $Id: xhtml11-model-1.mod,v 1.5 2000/01/05 13:26:27 ahby Exp $ SMI

     このDTDモジュールは、PUBLIC および SYSTEM 識別子によって識別特定される。

     PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
     SYSTEM "xhtml11-model-1.mod"

     見直し:
     (なし)
     ....................................................................... -->

<!-- 文書モデル

     このモジュールは、XHTML要素のための共通の内容モデルをな
     す要素をまとめたものを記述する。

     XHTMLには、基本的な内容モデルが3つある。

         %Inline.mix;  キャラクタレベルの要素
         %Block.mix;   ブロック風の要素. 例えば段落やリスト
         %Flow.mix;    任意のブロック要素またはインライン要素

     このモジュールの中で宣言されるパラメータ実体はどれも、要
     素内容モデルを作成するために利用してもかまわないが、上記
     の3つは(その用語がここで適用される限りにおいて)「グローバ
     ル」とみなされる。

     '#PCDATA' という予約語 (テキスト文字列を示す) は、混合内
     容として宣言されるそれぞれの要素宣言と一緒にここで組み込
     まれる。XMLは、このトークンが内容モデル仕様書の最初に出現
     することを要求しているからである。
-->
<!-- モデルの拡張

     場合によっては、文書モデルに対する変更を取り込むためにこ
     のモジュールを書き直す必要があるかもしれないが、小規模な
     拡張は、以下のとおり、3つの *.extra のうちのどれかを再宣
     言して拡張要素型を包含することにより実現されることもある。

         %Misc.extra;    親はどのようなブロック要素またはイン
                         ライン要素であってもかまわない。

         %Inline.extra;  親はどのようなインライン要素であって
                         もかまわない。

         %Block.extra;   親はどのようなブロック要素であっても
                         かまわない。

     使われる場合には、これらのパラメータ実体は、OR セパレータ
     ("|") で始まりORで区切られたリストでなければならない。
     例. "| a | b | c"

     *struct.class クラスの一部でないブロックおよびインライン
     *.class パラメータ実体はすべて、混合からの排除を可能にす
     るために "| " で始まる。
-->

<!-- .............. ヘッダ内の任意的要素 ......................... -->

<!ENTITY % Head-opts.mix  "( script | style | meta | link )*" >

<!-- .................  その他の要素 ............................. -->

<!-- ins と del とは、編集の変更を示すために使われる。
-->
<!ENTITY % Edit.class "| ins | del" >

<!-- script と noscript とは、スクリプトや代替的コンテンツ
     を内容にとるために使われる。
-->

<!ENTITY % Misc.extra "| script | noscript" >

<!-- これらの要素はブロックでもインラインでもなく、また、
     本質的に、文書本文のどこで使うことも可能である。
-->
<!ENTITY % Misc.class
     "%Edit.class;
      %Misc.extra;"
>

<!-- .................... インライン要素 ......................... -->

<!ENTITY % Inlstruct.class "br | span" >

<!ENTITY % Inlphras.class
     "| em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym | q" >

<!ENTITY % Inlpres.class
     "| tt | i | b | big | small | sub | sup" >

<!ENTITY % I18n.class "| bdo" >

<!ENTITY % Anchor.class "| a" >

<!ENTITY % Inlspecial.class "| img | map | applet" >

<!ENTITY % Inline.extra 
     "| input | select | textarea | label | button" >

<!ENTITY % Ruby.class "| ruby" >

<!-- %Inline.class; はすべてのインライン要素を含んでおり、混
     在パラメータ実体のコンポーネントとして使われる。
-->
<!ENTITY % Inline.class
     "%Inlstruct.class;
      %Inlphras.class;
      %Inlpres.class;
      %I18n.class;
      %Anchor.class;
      %Inlspecial.class;
      %Ruby.class;
      %Inline.extra;"
>

<!-- %Inline-noruby.class; は、ruby を除いてすべてのインライ
     ン要素を含んでおり、混在パラメータ実体のコンポーネントとし
     て使われる。
-->
<!ENTITY % Inline-noruby.class
     "%Inlstruct.class;
      %Inlphras.class;
      %Inlpres.class;
      %I18n.class;
      %Anchor.class;
      %Inlspecial.class;
      %Inline.extra;"
>

<!-- %Noruby.content; は、ruby を除いてすべてのインライン要素
     を含んでいる。
-->
<!ENTITY % Noruby.content
     "( #PCDATA 
      | %Inline-noruby.class;
      %Misc.class; )*"
>

<!-- %Inline-noa.class; は、すべての非アンカーのインライン要
     素を含んでおり、混合内のコンポーネントとして使われる。
-->
<!ENTITY % Inline-noa.class
     "%Inlstruct.class;
      %Inlphras.class;
      %Inlpres.class;
      %I18n.class;
      %Inlspecial.class;
      %Ruby.class;
      %Inline.extra;"
>

<!-- %Inline-noa.mix; は、すべての非アンカーのインライン要素
     を含む。
-->
<!ENTITY % Inline-noa.mix
     "%Inline-noa.class;
      %Misc.class;"
>

<!-- %Inline.mix; は、%Misc.class; を含め、すべてのインライン
     要素を含む。
-->
<!ENTITY % Inline.mix
     "%Inline.class;
      %Misc.class;"
>

<!-- ..................... ブロック要素 .......................... -->

<!-- HTML 4.0 DTD では、見出し要素とリスト要素とは % block 
     パラメータ実体の中に組み込まれていた。
     ここでは % Heading.class パラメータ実体や % List.class 
     パラメータ実体は、必要な要素宣言で明示的に組み込まれな
     ければならない
-->

<!ENTITY % Heading.class "h1 | h2 | h3 | h4 | h5 | h6" >

<!ENTITY % List.class "ul | ol | dl" >

<!ENTITY % Blkstruct.class "p | div" >

<!ENTITY % Blkphras.class "| pre | blockquote | address" >

<!ENTITY % Blkpres.class "| hr" >

<!ENTITY % Block.extra "| table | form | fieldset" >

<!-- %Block.class; は、すべてのブロック要素を含み、混在パラ
     メータ実体のコンポーネントとして使われる
-->
<!ENTITY % Block.class
     "%Blkstruct.class;
      %Blkphras.class;
      %Blkpres.class;
      %Block.extra;"
>

<!-- %Block.mix; は、すべてのブロック要素と %Misc.class; と
     を含む
-->
<!ENTITY % Block.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      %Misc.class;"
>

<!-- ................  全内容要素  ............................ -->

<!-- %Flow.mix; は、すべてのテキスト内容、ブロック、インライ
     ンを含む
-->
<!ENTITY % Flow.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      | %Inline.class;
      %Misc.class;"
>

<!-- xhtml11-model-1.mod の末尾 -->


どら猫本舗 (webmaster@doraneko.org)