[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] とします。