[1]
- (179) データタグ (data tag)
-
開いている要素のデータタグ形式に適合する列。
備考 開いている要素の終了タグ及びデータタグを含む要素の中の文字データとして作用する。
JIS X 4151‐1992 3.
改訂が必要
[2] JIS X 4151‐1992 6.3.2 の要約 :
DATATAG YES
であればデータタグが有効- 要素型にデータタグ群を指定できる
- {要素のデータがデータタグ群に呼応する内容を持つ1個の要素になっている} = {要素及びその部分要素のデータ内容で、
データタグ形式のデータタグ雛形に合致する文字列がある → 合致した文字列とそれに続くデータ埋め草雛形に合致する文字列を、その要素のデータタグという} → データタグは、要素の終了タグ兼その親要素の文字データとなる。
- 要素型名がその要素のデータタグ群に呼応する要素として現れても、要素型名が別の文脈で見ると1個の要素字句となっているときは、データタグとはみなさない
- 要素型名が別のデータタグ群の異なったデータタグ形式に合致している場合も、データタグとはみなさない
- データタグはデータタグ雛形に最長一致する直近要素を終了させる。
- 要素のデータ内容は、前から1字ずつ検査し、各文字位置でデータタグ形式のデータタグ雛形と最長一致で照合する。
- 検査対象の開いている要素が複数ある場合、直近の要素から順に照合する。
- データタグ雛形と内容の照合は、内容のマーク認知と参照置換の後で、
RS
, RE
無視の前に行う。 - 終了タグを認知しない文脈 (CDATA区間とか) では認知しない。
- データ埋め草雛形との照合では、雛形の文字列が零回以上出現してよい。最後のものが雛形全体の終端となる。
- データタグを持つ要素は終了タグを省略したとはみなさない。
- データタグ長は
DTAGLEN
以下でなければならない。
[3] 参考 3 2.4 に解説がありますから、 >>2
のわけわかめな規定で理解できなくても、
これを読めばどういうものかは分かります。
JIS の参考では他のマーク最小化機構と組合せた説明になっているので、
ここではデータタグに絞った例でご説明しましょう。
例えば、
<s><h>Note</h>: <t>データタグは多少は便利。</t></s>
という文書を考えます。
ここで、 Note の部分 (小見出し)
は常に親要素の先頭に来ますし、常に : が続きます。
(但し : は小見出しの一部とはみなしません。)
このような場合には、
<s>Note: <t>データタグは多少は便利。</t></s>
とだけ書けば構造は (少なくても人間には) 十分自明です。
これを SGML 的にはっきりさせるために、
文書型定義中で
<!ELEMENT s - - (h, #PCDATA, t)>
だった部分を、
<!ELEMENT s - - ([h, ":", " "], t)>
とします。