一般体系宣言

一般体系宣言

[1] 一般体系から派生した体系文書型を作成する時は、 その DTD一般体系宣言 (General Architecture declaration) を記述します。 といっても一般体系体系の一種なので、 一般体系宣言とは単なる体系支援宣言です。

[2] 仕様書:

属性

[6] 体系支援属性として、通常のものの他に体系選択肢属性が 2種類、独自の属性が1種類あります。

[7] 共通要素属性の選択肢: 共通要素属性選択肢 (common element attribute options) (commatts) 体系選択肢属性は、 共通要素属性に関する選択肢の有効・無効を制御します。

属性型CDATA で、 字句型csname+ (制約: 体系DTD内の引数実体名前並び) です。 指定された名前の引数実体の値が INCLUDE に設定されます。

指定できる値は dafe, dvlist, ireftype, HyLex, HyOrd, lextype, opacity, REGEX です。元々一般体系体系DTD では IGNORE になっているので、指定すれば有効、指定しなければ無効となります。

[7] 共通データ属性の選択肢: 共通データ属性選択肢 (common data attribute options) (dcnatts) 体系選択肢属性は、 共通データ属性に関する選択肢の有効・無効を制御します。

属性型CDATA で、 字句型csname+ (制約: 体系DTD内の引数実体名前並び) です。 指定された名前の引数実体の値が INCLUDE に設定されます。

指定できる値は altreps, included, superdcn です。元々一般体系体系DTD では IGNORE になっているので、指定すれば有効、指定しなければ無効となります。

[8] 複雑な模型群の使用: ID即時参照要素型 (ireftype) 属性では SGML模型群を使いますが、 簡単なものだけが使える場合と完全な SGML模型群で可能なものが使える場合が設けられています。 どちらのモードかを指定するのがID即時参照要素型SGML模型群 (SGML model groups for ireftype) (irefmodl) 体系支援属性です。

属性の値は列挙型SGMLmdl (完全な SGML模型群が使用可能) と nSGMLmdl (簡単な模型群のみ使用可能) です。既定値nSGMLmdl です。

関連

[9] 一般体系を実装した体系機関一般体系システム宣言を用意することになっていますが、 SGML宣言システム宣言の関係のように一般体系宣言に丁度対応するもので、 ほとんど同じことを記述します。

[3] 一般体系宣言の雛形が仕様書 ISO/IEC 10744:1997 A.5.1 にあります。

[4] また、最小適合一般体系文書用の一般体系宣言の例 ISO/IEC 10744:1997 A.5.8.1.1 もあります。

実際には例示されているものに加えて体系実体宣言が必要です。

[5] ISO/IEC 10744 - C.2 HyTime Meta-Declarations <http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-C.2.html>

一般体系から派生した HyTime体系DTD です。

でもこれ、属性値指定の中で引数実体参照らしきものが使われているという非常に怪しい代物です。 一般体系側の選択肢を HyTime 体系DTD を参照する側から制御可能にするために引数実体を使っているのだと思いますが・・・。

メモ