[1] 【SGML】 マーク区間宣言を閉じる区切子。 Marked section end。 JISX4151‐1992 3. (256) 参照。
[8] 規格参照具象構文や XML など多くの環境では
] ] >
が使われます。
シフトJIS に配慮した具象構文では
*>*>>
が使われることがあるそうです。
なんとも奇妙な・・・。
[9] MSE は、文脈上の制約。区切子に割当ててある文字列の直後に
(JIS X 4151‐1992 8.6.2(1)(d) 参照)mdc
が続く場合、文脈依存区切子として認知する。
[10] >>9 ではなんのことだかさっぱりですが、要はマーク区間終了のことを言っているのです。
[4] マーク区間終了の文字列 (規格参照具象構文や XML
では ] ] >
)
を認知様相 COM
, DSM
の場所で書くと、マーク区間終了とみなされてしまいます。
たとえば、
<element>]]> と書いてはいけません。</element>
と書くと、 element 要素の内容はマーク区間終了と と書いてはいけません。 になってしまいます。ところが、
マーク区間宣言の外側に現れたマーク区間終了は, 誤りとする
に従い、このマーク区間終了は誤りになるのです。
[5] 以下は古い説明。
[2] マーク区間終了の文字列は、「マーク区間宣言の外」では出現してはいけないことになっています。「外」とはどこからどこまでかはよくわかりませんが、 SGML 処理系や XML 仕様の解釈から推測すると、要素の内容と文書型宣言 (後者は元からありえない。) では駄目みたいです。属性値表記内とか、注釈内とかに書いても問題なさげです。
[3] >>2 XML では CharData(14)
<http://www.w3.org/TR/REC-xml#NT-CharData> で表される場所 (要素の内容) には ] ] >
を書くことが出来ません。 ( ] ] >
などとしなければなりません。)
[6] <http://www.satoshii.org/markup/notes/2003/11> より:
msc は認知様相 CON DSM 制約 MSE, mdc は認知様相 CTX MD. ここで、
マーク区間終了 = msc, mdc — (95)
であるから、MSE は CON DSM でしか認知されない。つまり、リテラルや注釈の内部に ]]> という文字列を記述したところで、]] が msc と認知されることはないから、これは MSE とは見なされない。すなわち、この文脈での文字列 ]]> は、マーク区間宣言の外側に現れたマーク区間終了は, 誤りとする
という JIS X 4151 の文言には抵触しないのである。以下、]] が msc として認知される範囲で考える。認知様相 DSM で msc を認知するケースでは、MSE は常に正しい MSE として扱われるので、エラーの要因とはならない (DSM というのはマーク区間の内側なのだから当然)。結局、
マーク区間宣言の外側に現れたマーク区間終了
というのは、「マーク区間宣言の外側の内容として現れた文字列 ]]>」に他ならないわけである。
[11] msc
として認知され得る文字列が見つかった時に、制約 MSE
となります。ここで文字列 mdc
が続いていることがわかれば、文脈依存区切子が認知されます。すなわち、 msc
+ mdc
がマーク区間終了とみなされ、継続中だったマーク区間がそこに終了します。
[12] >>11 を規格参照具象構文を仮定して言い直すと、マーク区間を解釈中に ] ]
を発見すると、その直後に >
がないか探します。あった場合は ] ] >
を認知し、もってマーク区間を終了させます。