- WebSGML K.2.2.4 充足タグ付き文書インスタンス (amply‐tagged document instance)
- 文書型宣言へのアクセスを必要としない範囲内のマーク付け最小化を用いている文書インスタンス。
- 備考1. SGML宣言が、
DATATAG NO
,RANK NO
,SHORTTAG ATTRIB OMITNAME NO
, 及びIMPLYDEF ELEMENT NO
又はIMPLYDEF ELEMENT ANYOTHER
のどちらかを指定している場合、文書インスタンスが最小化を用いている限り、 それらは充足タグ付きでなければならない。 SGML 宣言が要求しない場合でも、システムは、処理を起動する際のパラメタなどによって、 インスタンスが充足タグ付きであるかどうかの妥当性検証を要求する手段を提供することが望ましい。- 2. 充足タグ付き文書インスタンス中では、 K.3.7 で規定するとおりにデフォルトで宣言された要素型についても、終了タグを省略できる。
- もっと正確にいうと、充足タグ付き文書インスタンスは、 7.3.1.2 (JIS X 4151 においては、 6.3.1.2) で規定する三つの条件 a), b) 又は c) のどれかを満たすことによって、 暗黙に宣言された型の要素の終了タグを省略できる。 しかし、条件 c) は、
IMPLYDEF ELEMENT ANYOTHER
が SGML 宣言で指定されていて、 その要素に同じ方のほかの要素が続く場合だけ満たすことができる。- 次に示す充足タグ付き文書インスタンスは、
IMPLYDEF ELEMENT ANYOTHER
が指定され、 DTD宣言が一つもない場合におけるこの可能性を例示している。<chapter> <title>Chapter title</title> <list> <item>First item in the list <item>Second item in the list </list>先頭のitem
の終了タグは、 条件 c) “この要素の後ろに、その内容中には出現を許されない他の要素 (この場合、他のitem
) が続いている”が成立するので、省略できる。- 2番目の
item
の終了タグは、条件 b) “この要素の後ろに、他の開要素 (list
) の終了タグが続いている”が成立するので、省略できる。chapter
の終了タグは、条件 a) “この要素の後ろで、 SGML 文書実体が終了する”が成立するので、省略できる。
[2] 充足タグ付き文書実現値は完全タグ付き文書実現値と合わせて、 (文書型定義を読んで解釈しない限り) 文脈によって解釈が変わってしまう可能性を廃して (SGML 適合ではないけど) 簡易的な構文解析器を作って作業させたい時に都合がいいですね。