* 抽象モジュール (XHTML 式マーク付け言語定義) [1] > [[XHTML]] [[文書型]]は抽象モジュールの[[集合]]として定義します。 抽象モジュールは他の全てと意味的に異なるある種のデータを定義します。 抽象モジュールは、そのモジュールを定義する [[schema]] に関する深い理解がなくとも[[文書型]]に[[結合]]することができます。 [SRC[XHTML m12n Intro] [3] > 抽象モジュールは、[[自然言語]]の[[文章]]と少々の非公式なマーク表記法を使った [[XHTML]] [[モジュール]]の定義です。この定義は[[文書型]]の機械処理には通常便利とはいえませんが、 人間が[[モジュール]]に何が含まれているのかを理解しやすくするためには重要です。[INS[(略)]] [[XHTML]] 適合[[モジュール]]が[[抽象モジュール]]定義を提供することは''必須ではありません''。 しかし、 [[XHTML]] [[モジュール]]の開発者は[[モジュール]]が使いやすいように抽象化することを推奨します。 [SRC[XHTML m12n AbsMod]] * 定義 [2] > [[内容]]の種類の区分に対応し、その区分を反映したマーク構造に対応する、 [[文書型]]指定の単位。 [SRC[XHTML m12n Term、>>10]] * 仕様書 - [8] [[XHTML m12n]] --[XHTML m12n Intro] [CSECTION[1.3.1. Abstract modules]] --[XHTML m12n Term] [CSECTION[2. Terms and Definitions]] --[XHTML m12n AbsMod] [CSECTION[4. Defining Abstract Modules]] - [10] [CITE@en[XHTML™ 2.0 - Terms and Definitions]] ([TIME[2010-12-17 00:44:37 +09:00]] 版) - [6] で、その実際の XHTML 抽象モジュールは ''Modularization of XHTML - XHTML Abstract Modules'' で定義されています。 [[#comment]] * 内容モデルの表記 [4] XHTML m12n では、 [[XML]] の[[内容モデル]]表記法を拡張したようなものを定義しています。 :[CODE[[VAR[要素型名]]]]:[[要素]]を表します。 :[CODE[[VAR[内容集合名]]]]:[[内容集合]]を表します。 [[内容集合]]は[[要素型名]]の[[並び]]です。 :[CODE[[VAR[式]]?]]:[VAR[式]]の[[実現値]]が零個または一個認められることを示します。 :[CODE[[VAR[式]]+]]:[VAR[式]]の[[実現値]]が一個以上認められることを示します。 :[CODE[[VAR[式]]*]]:[VAR[式]]の[[実現値]]が零個以上認められることを示します。 :[CODE[[VAR[a]], [VAR[b]]]]:式 [VAR[a]] の後に式 [VAR[b]]。 :[CODE[[VAR[a]] | [VAR[b]]]]:式 [VAR[a]] または式 [VAR[b]]。 :[CODE[[VAR[a]] - [VAR[b]]]]:式 [VAR[a]]、ただし [VAR[b]] の[[要素型]]を除く。 :[CODE[([VAR[式]])]]:括弧内を先に評価。 :[CODE[[VAR[要素型名]]&]]:定義済みの[[要素型]]に[[属性]]を追加することを示します。 :[CODE[[VAR[属性名]]*]]:[[属性]]が必須であることを示します。 :[CODE[[VAR[属性名]] ([VAR[型名]])]]:[[属性]]の[[型]]を示します。 :[CODE[[VAR[属性名]] ("[VAR[属性値]]" | "[VAR[属性値]]")]]: [[属性]]の[[合法]]な値を示します。 :[CODE["[VAR[属性値]]"*]]:既定の[[属性値]]を示します。 :[CODE[[VAR[属性名]]="[VAR[属性値]]"]]:[[固定属性]]を示します。 - [7] m12n では、要素型名は小文字、内容集合は最初の文字だけ大文字、 [CODE(XML)[[[PCDATA]]]] と [CODE(XML)[[[EMPTY]]]] は全て大文字で内容モデル中で区別しています。 [[#comment]] * 内容型 [9] [[内容模型]]で使われる記号 [SRC[XHTML m12n 4.2]]: :[CODE(XML)[[[PCDATA]]]]:[[文章]]が使えることを表します。 :[CODE(XML)[[[EMPTY]]]]:[[最小内容模型]]で[[内容]]を持たないことを表します。 [[#comment]] * 属性の型 [5] 抽象モジュール定義で使う[[属性型]]として次のものが定義されています [SRC[XHTML m12n 4.3]]。 :[CODE(XML)[[[CDATA]]]]:[[文字データ]] [SRC[XML 1.0]] :[CODE[[[Character]]]]:[[ISO/IEC 10646]] の1[[文字]] :[CODE[[[Charset]]]]:[[RFC 2045]] による [[charset]] :[CODE[[[Charsets]]]]:[[間隔]]区切りの [[RFC 2045]] による [[charset]] の[[並び]] :[CODE[[[Color]]]]:[[sRGB]] 色指定 (十六進数または基本16色名) :[CODE[[[ContentType]]]]:[[RFC 2045]] による[[媒体型]] :[CODE[[[ContentTypes]]]]:[[読点]]区切りの [[RFC 2045]] による[[媒体型]]の[[並び]] :[CODE[[[Coords]]]]:[[読点]]区切りの[[座標]]の[[並び]] :[CODE[[[Datetime]]]]:[[日時]] :[CODE[[[FPI]]]]:[[SGML]] [[公式公開識別子]] :[CODE[[[FrameTarget]]]]:[[枠]]名 :[CODE(XML)[[[ID]]]]:[[文書]]内[[固有識別子]] [SRC[XML 1.0]] :[CODE(XML)[[[IDREF]]]]:[[文書]]内[[固有識別子]]への[[参照]] [SRC[XML 1.0]] :[CODE(XML)[[[IDREFS]]]]:[[文書]]内[[固有識別子]]への[[参照]]の[[間隔]]区切りの[[並び]] [SRC[XML 1.0]] :[CODE[[[LanguageCode]]]]:[[RFC 3066]] [[言語札]] :[CODE[[[Length]]]]:[[画素]]値または[[百分率]]値 :[CODE[[[LinkTypes]]]]:[[間隔]]区切りの[[リンク型]]の[[並び]] :[CODE[[[MediaDesc]]]]:[[読点]]区切りの[[媒体記述子]]の[[並び]] :[CODE[[[MultiLength]]]]:[CODE[[[Length]]]] または相対長 :[CODE[[[MultiLengths]]]]:[[読点]]区切りの [CODE[[[MultiLength]]]] の[[並び]] :[CODE[[[NAME]]]]:[CODE(XML)[[[ID]]]] と同じ[[文字]]制約の[[名前]] :[CODE(XML)[[[NMTOKEN]]]]:[[名前字句]] [SRC[XML 1.0]] :[CODE(XML)[[[NMTOKENS]]]]:[[空白]]区切りの[[名前字句]]の[[並び]] [SRC[XML 1.0]] :[CODE[[[Number]]]]:1桁以上の[[数字]] :[CODE(XML)[[[PCDATA]]]]:処理済文字データ [SRC[XML 1.0]] (ここに含まれているのは XHTML m12n の間違い?) :[CODE[[[Pixels]]]]:[[画素]]数 :[CODE[[[Script]]]]:[[スクリプト]]・データ :[CODE[[[Shape]]]]:範囲の形 :[CODE[[[Text]]]]:任意の多分[[人間可読]]な[[文章]]データ :[CODE[[[URI]]]]:[[RFC 2396]] [[URI]] :[CODE[[[URIs]]]]:[[間隔]]区切りの [[RFC 2396]] [[URI]] の[[並び]] [[#comment]] * メモ