[7] SGML の出現標識は、 内容モデルにおいて出現の回数を規定するために使う記号です。
[8] SGML の DTD だけでなく、 XML の DTD でも使うことができます。ただし XML の仕様書では「出現標識」という用語は使われていません。
出現標識 := opt
/ plus
/ rep
;; JIS X 4151‐1992 (132)
[2] 出現標識は、 内容モデルで使用して、 標識の付けられた構成要素 (要素またはモデル群またはデータタグ群) が出現できる回数を指定します。
出現標識 | 規格参照区切子 | 最低 | 最大 |
なし | なし | 1 | 1 |
opt | ? | 0 | 1 |
plus | + | 1 | ∞ |
rep | * | 0 | ∞ |
(JIS X 4151‐1992 10.2.4.2 参照。)
[3] 出現標識は正規表現や BNF などで同じような意味に使われる修飾子とよく似ています。
数は 0, 1, +∞ しか用意されていませんが、 他の数もべた書きで実現できます。たとえば e 要素を 3〜∞ 個認める時には (e, e, e+) などと書けます。
[2] 内容モデルの一番外側のモデル群についての出現標識 (例: <!ELEMENT someElementType - - (someContentModel)*>) が、 規格に厳密に従うとすると認知できなくなってしまいまして、 規格のミスではないかとの疑いが持たれています。
詳しくは出現標識の認知 - 2003年12月 - マーク付けノート <http://www.satoshii.org/markup/notes/2003/12#date10> を参照してください。
[4] XML ではマーク付け宣言中の引数の部分に現れる引数実体参照が展開されるときに置換文の前後に
S
があるかのように処理されます。
出現標識の前には S
を挿入することができません。
ですから、出現標識だけを引数実体に入れることはできません。
S
の挿入が行われないので、一旦別の引数実体を使って間接的に出現標識だけを引数実体にすることはできます。