#?SuikaWiki/0.9 [1] [DFN[[RUBYB[体系] [architeture]] DTD]] は、体系定義の宣言を集めたものです。 体系 DTD は、[[文書実現値]]内の体系物体の[[妥当性検証]]のために使用できますが、 体系物体以外 (他の体系に属する物体や、[[非体系的]]である物体) の検証はできません。 (当たり前。) 仕様書: ISO/IEC 10744:1997 A.3.2.1.2 [2] [[メタDTD]] = [[高次DTD]] = meta DTD ともいいますが、 ([[ISO/IEC 10744]]:1997 もそう呼んでいますが、) 数学や論理学でいう「メタ」とは意味的に異なっていて誤解を招くので「体系 DTD」 と呼ぶのがお勧めらしいです。 [3] 体系 DTD は、文書実現値を直接検証する普通の [[DTD]] と同じように [[SGML]] の[[マーク宣言]]を使って記述します。 構文的にも意味的にも、ほとんど同じです。 ただし適用対象が文書実現値の物体そのものではなく、 [[体系文書実現値]] (文書実現値を[[文書体系]]の定義によって変形したもの) となります。 [4] 体系や体系 DTD は、文書実現値を制約しますが、文書型定義は制約しません。ですから、ある基底体系から派生した体系で認められている構造が基底体系でも認められているとは限りません。逆に、派生体系で認められている構造はどうしても基底体系で認められないという状況すら可能です。 しかし、そのような状態が好ましくないことは確かです。 検証体系機関は任意選択でそのような状況にないかを検証してもよいことになっています。 ([[名無しさん]]) [5] 体系 DTD は、[[クライアント文書]]と同じ [[SGML宣言]]が適用されます。ただし、体系 DTD を参照する[[体系支援宣言]]に[[体系量集合]] (ArcQuant) 支援属性がある場合は、体系量集合属性の値が SGML の量集合引数に代えて用いられます。 仕様書: ISO/IEC 10744:1997 A.3.4.2 [6] ISO/IEC 10744:1997 の拡張を使った体系 DTD は、体系 DTD のできるだけはじめの方で、 拡張を使う以前に、 [SAMP(SGML)[]] と書かなければなりません。 (拡張を使っていない体系 DTD では必要ありません。) 仕様書: ISO/IEC 10744:1997 A.3.8.1 [7] 適合体系から[[派生]]した体系や文書は、 [[体系支援記法宣言]]に [PRE[ A base architecture used in conformance with the Architectural Form Definition Requirements of International Standard ISO/IEC 10744. ]PRE] と書くべき (should) です。 仕様書: ISO/IEC 10744:1997 A.3.8.2