<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor> の<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>出現標識</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">occurrence indicator</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>において出現の回数を規定するために使う記号です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> だけでなく、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> でも使うことができます。ただし <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor>
の仕様書では「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">出現標識</anchor>」という用語は使われていません。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="EN">Extensible Markup Language (XML) 1.0 (Fifth Edition)</cite> (<time>2013-05-28 20:49:56 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/xml/#dt-elemcontent" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/xml/#dt-elemcontent</anchor-external></li></ul></refs></section><section><h1>SGML の場合</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <code class="ABNF"><dfn>出現標識</dfn> := <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">opt</anchor></code> / <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">plus</anchor></code> / <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">rep</anchor></code> ;; <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 4151</anchor>‐1992 (132)</code></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <dfn>出現標識</dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容モデル</anchor>で使用して、
標識の付けられた構成要素
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モデル群</anchor>または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データタグ群</anchor>)
が出現できる回数を指定します。</p><table><tbody><tr><td>出現標識</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">規格参照区切子</anchor></td><td>最低</td><td>最大</td></tr><tr><td>なし</td><td>なし</td><td>1</td><td>1</td></tr><tr><td><code class="SGML">opt</code></td><td><code class="SGML">?</code></td><td>0</td><td>1</td></tr><tr><td><code class="SGML">plus</code></td><td><code class="SGML">+</code></td><td>1</td><td>∞</td></tr><tr><td><code class="SGML">rep</code></td><td><code class="SGML">*</code></td><td>0</td><td>∞</td></tr></tbody></table><p>(JIS X 4151‐1992 10.2.4.2 参照。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end>
出現標識は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規表現</anchor>や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">BNF</anchor> などで同じような意味に使われる修飾子とよく似ています。</p><p>数は 0, 1, +∞ しか用意されていませんが、
他の数もべた書きで実現できます。たとえば <samp class="SGMLe">e</samp>
要素を 3〜∞ 個認める時には <samp class="SGML">(<samp class="SGMLe">e</samp>, <samp class="SGMLe">e</samp>, <samp class="SGMLe">e</samp>+)</samp>
などと書けます。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>最外モデル群の出現標識の認知</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 内容モデルの一番外側のモデル群についての出現標識
(例: <samp class="SGML">&lt;!<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ELEMENT</anchor> someElementType - - (someContentModel)<em>*</em>&gt;</samp>) が、
規格に厳密に従うとすると認知できなくなってしまいまして、
規格のミスではないかとの疑いが持たれています。</p><p>詳しくは<em>出現標識の認知 - 2003年12月 - マーク付けノート</em> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.satoshii.org/markup/notes/2003/12#date10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.satoshii.org/markup/notes/2003/12#date10</anchor-external>
を参照してください。</p></section><section><h1>引数実体参照</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク付け宣言</anchor>中の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>の部分に現れる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体参照</anchor>が展開されるときに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">置換文</anchor>の前後に 
<code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">S</anchor></code> があるかのように処理されます。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">出現標識</anchor>の前には <code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">S</anchor></code> を挿入することができません。
ですから、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">出現標識</anchor>だけを<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体</anchor>に入れることはできません。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体値</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体参照</anchor>なら暗黙の <code xmlns="http://www.w3.org/1999/xhtml" class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">S</anchor></code>
の挿入が行われないので、一旦別の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体</anchor>を使って間接的に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">出現標識</anchor>だけを<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体</anchor>にすることはできます。</comment-p></section></body></html>