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