#?SuikaWiki/0.9
[2] 【[[XHTML]]】 定義: ある種の[[内容]]の型に対応し、この型を反映する[[マーク構造]]に対応する文書型指定の単位。
Abstract module。
[1] XHTML [[文書型]]は抽象モジュールの集合として定義されます。一つの抽象モジュールは、他のすべてのものとは意味的に異なったある種のデータを定義します。抽象モジュールは、それを定義する [[schema]] に関する深い知識なしに文書型に結合する ([[combine]]) ことができます。 [WEAK[(''Modularization of XHTML - Introduction'' )]]
[3]
''Modularization of XHTML - Defining Abstract Modules''
では、 XHTML 抽象モジュールの定義の方法が説明されています。
XHTML 抽象モジュールは自然言語文及び非公式なマーク付け表記法を使って定義されています。
これは機械処理には向きませんが、
人間の理解にはもってこいです。
一般の XHTML 適合モジュールが抽象モジュールを介して定義されることは
XHTML m12n は要求していません。しかし、
その有用性からこれを定義することを推奨しています。
- [6] で、その実際の XHTML 抽象モジュールは ''Modularization of XHTML - XHTML Abstract Modules'' で定義されています。
[[#comment]]
* 内容モデルの表記
[4] XHTML m12n では、 [[XML]] の[[内容モデル]]表記法を拡張したようなものを定義しています。
: [VAR[要素型名]] : その要素型が内容モデルに含まれることを示します。
: [VAR[内容集合]] : [[内容集合]]が内容モデルに含まれることを示します。内容集合は別途定義された要素型名の並びです。
: [VAR[式]]? : [VAR[式]]の零個又は一個の実現値が認められることを示します。
: [VAR[式]]+ : [VAR[式]]の一個以上の実現値が要求されることを示します。
: [VAR[式]]* : [VAR[式]]の零個以上の実現値が認められることを示します。
: [VAR[a]] , [VAR[b]] : 式 [VAR[a]] の実現値に続けて式 [VAR[b]] の実現値が要求されることを示します。
: [VAR[a]] | [VAR[b]] : 式 [VAR[a]] の実現値又は式
[VAR[b]] の実現値のいずれかが要求されることを示します。
: [VAR[a]] - [VAR[b]] : 式 [VAR[b]] に含まれる要素を除く式 [VAR[a]] の実現値が要求されることを示します。
: ([VAR[式]]) : 括弧内の式が先に評価されます。
: [VAR[要素型名]]& : 定義済み要素型に属性を追加することを示します。
: [VAR[属性名]]* : その属性は必須であることを示します。
: [VAR[属性名]]([VAR[型]]) : その属性の型を示します。
: [VAR[属性名]]("[VAR[値]]"|"[VAR[値]]"*) : 属性は[[列挙型]]で、そこに指定された値をとり得ることを示します。
[VAR[*]] がついた値は、既定値です。
: [VAR[属性名]]="[VAR[値]]" : 属性は固定値のみを取ることを示します。
- [7] m12n では、要素型名は小文字、内容集合は最初の文字だけ大文字、 [CODE(XML)[[[PCDATA]]]] と [CODE(XML)[[[EMPTY]]]] は全て大文字で内容モデル中で区別しています。
[[#comment]]
* 属性の型
[5] XHTML m12n は次の型を定義しています。
,[[CDATA]] ,[[文字データ]]
,[[Character]] ,1文字
,[[Charset]] ,[[MIME]] の文字符号化名
,[[Charsets]] ,MIME の文字符号化名の間隔区切りの並び
,[[Color]] ,16進数表記又は[[基本16色]]名
,[[ContentType]] ,[[MIME]] [[媒体型]]
,[[ContentTypes]] ,MIME 媒体型の読点区切りの並び
,[[Coords]] ,定義域の座標を表す読点区切りの並び
,[[Datetime]] ,日時 ([[W3CDTF]])
,[[FPI]] ,[[SGML]] [[公式公開識別子]]
,[[FrameTarget]] ,[[フレーム名]]
,[[ID]] ,[[識別子]]
,[[IDREF]] ,識別子の参照
,[[IDREFS]] ,識別子の参照の[[間隔]]区切りの並び
,[[LanguageCode]] ,IETF [[言語札]]
,[[Length]] ,長さ。単位は[[画素]]又は[[百分率]]
,[[LinkTypes]] ,[[リンク型]] ([[HTML4]]) の間隔区切りの並び
,[[MediaDesc]] ,[[媒体記述子]] ([[HTML4]])
,[[MultiLength]] ,長さ又は相対値 ([CODE(HTML)[[VAR[i]]*]])
,[[MultiLengths]] ,長さ又は相対値の読点区切りの並び
,[[NAME]] ,[[名前]]
,[[NMTOKEN]] ,[[名前字句]]
,[[NMTOKENS]] ,名前字句の間隔区切りの並び
,[[Number]] ,[CODE(ABNF)[1*[[DIGIT]]]]
,[[PCDATA]] ,処理済み文字データ
,[[Pixels]] ,画素単位の数値
,[[Script]] ,[[スクリプト]]
,[[Shape]] ,範囲の形,[[Text]] ,任意の文字データ
,[[URI]] ,URI
,[[URIs]] ,URI の間隔区切りの並び