<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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end></p><blockquote><dl><dt><dfn><ruby>妥当性制約<rt>だとうせいせいやく</rt><rt xml:lang="en">validity constraint</rt></ruby></dfn></dt><dd>
[定義: すべての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当</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>への違反は<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:">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>により、これを報告しなければ<strong>ならない</strong>。]</dd></dl></blockquote><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">出典: <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="XML1:&quot;#dt-vc&quot;">IW:XML1:&quot;#dt-vc&quot;</anchor-external></comment-p><section><h1>一覧</h1><table><tbody><tr><th></th><th>名前</th><th>対象</th></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">根要素型</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実体</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言</anchor>・<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体</anchor>が適切に入れ子になっていること</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;4</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">単独文書宣言</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実体</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素妥当</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値型</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal></td><td>一意な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型宣言</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">群</anchor>・<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体</anchor>が適切に入れ子になっていること</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">型</anchor>重複なし</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">識別子</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal></td><td>1<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型</anchor>1<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">識別子</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">識別子属性</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定値</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;13</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">識別子参照</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;14</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体名</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;16</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前字句</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;17</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記法属性</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;18</anchor-internal></td><td>1<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型</anchor>1<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記法</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;19</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空要素</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記法</anchor>なし</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;35</anchor-internal></td><td>重複<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">字句</anchor>なし</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;20</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">列挙</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;21</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">必須属性</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;22</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>[既定値]]が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文</anchor>的に正しいこと</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;23</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">固定属性</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定値</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;25</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">条件区間</anchor>・<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体</anchor>が適切に入れ子になっていること</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;26</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言</anchor>されていること</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor>・<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;27</anchor-internal></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記法</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">宣言</anchor>されていること</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal></td><td>一意な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記法名</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor></td></tr><tr><td><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal></td><td><del><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当</anchor>な<code class="XMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml</anchor>:<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">lang</anchor></code></del></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書実現値</anchor></td></tr></tbody></table><ul><li><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> [根要素型]: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書型宣言</anchor>中の <code class="XML">Name</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-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#vc-roottype">http://www.w3.org/TR/REC-xml#vc-roottype</anchor-external>)</li><li><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:">置換文</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク宣言</anchor>で適切に入れ子となっていなければならない。つまり、マーク宣言の最初又は最後のいずれかの文字がパラメーター実体参照の置換文に含まれていたなら、その両方が同じ置換文中に含まれていなければならない。 (<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#vc-PEinMarkupDecl">http://www.w3.org/TR/REC-xml#vc-PEinMarkupDecl</anchor-external>)</li><li><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> [非依存文書宣言]: <ol><li>属性値に既定値が指定されていて、その要素型が文書中で使われており、かつその属性の値が指定されていないものがある場合、</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<code xmlns="http://www.w3.org/1999/xhtml" class="XML">apos</code>, <code xmlns="http://www.w3.org/1999/xhtml" class="XML">lt</code>, <code xmlns="http://www.w3.org/1999/xhtml" class="XML">gt</code>, <code xmlns="http://www.w3.org/1999/xhtml" class="XML">quot</code>, <code xmlns="http://www.w3.org/1999/xhtml" class="XML">apos</code> を除く。)</weak> への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参照</anchor>が文書中にある場合、</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>の対象となる値を取る属性があって、その文書中で正規化の結果変化する値が使われている場合、<ul><li>訂正: 正規化の対象となる値を取る属性があって、その文書中で正規化の結果、<ins>宣言がなかった場合と</ins>変化する値が使われている場合 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/XML/xml-V10-2e-errata#E36">http://www.w3.org/XML/xml-V10-2e-errata#E36</anchor-external></li></ul></li><li><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>を持つものがある場合、</li></ol><ul><li>のいずれかを満たす宣言を外部マーク宣言が持つ時に、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非依存文書宣言</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<code xmlns="http://www.w3.org/1999/xhtml" class="XML">standalone</code>)</weak> の値は <code class="XML">no</code> でなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#vc-check-rmd">http://www.w3.org/TR/REC-xml#vc-check-rmd</anchor-external></li></ul></li><li><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:">ELEMENT</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>で<em>ない</em>時に子要素間に挿入可能な <code class="XML">S</code> を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マーク区間</anchor>とすることは<em>できない</em>のに注意。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#elementvalid">http://www.w3.org/TR/REC-xml#elementvalid</anchor-external></li><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> [属性値の型]: 属性は宣言されていなければならない。その値はその宣言された型でなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#ValueType">http://www.w3.org/TR/REC-xml#ValueType</anchor-external></li><li><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-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#EDUnique">http://www.w3.org/TR/REC-xml#EDUnique</anchor-external></li><li><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-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#vc-PEinGroup">http://www.w3.org/TR/REC-xml#vc-PEinGroup</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> [(混合内容における) 要素型の重複の禁止]: 1つの混合内容宣言で同じ要素型が複数出現してはならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#vc-MixedChildrenUnique">http://www.w3.org/TR/REC-xml#vc-MixedChildrenUnique</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> [ID]: <code class="XML">ID</code> 型の属性の値は生成規則 <code class="XML">Name</code> に一致しなければならない。その値は1つの文書中で複数回出現してはならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#id">http://www.w3.org/TR/REC-xml#id</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> [一要素一 ID]:  一つの要素に複数個の <code class="XML">ID</code> 型の属性は置けない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#one-id-per-el">http://www.w3.org/TR/REC-xml#one-id-per-el</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> [ID 属性の既定値]: <code class="XML">ID</code> 型の属性の既定値宣言は <code class="XML">#IMPLIED</code> 又は <code class="XML">#REQUIRED</code> でなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#id-default">http://www.w3.org/TR/REC-xml#id-default</anchor-external> (<code class="XML">ID</code> 型属性の既定値は指定できない。)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> [IDREF]: <code class="XML">ID</code> 型の属性の値は生成規則 <code class="XML">Name</code> に、 <code class="XML">IDREFS</code> 型の値は <code class="XML">Names</code> に一致しなければならない。各 <code class="XML">Name</code> はその文書中のどれかの要素の <code class="XML">ID</code> 型属性の値と一致していなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#idref">http://www.w3.org/TR/REC-xml#idref</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> [実体名]: ENTITY 型の属性の値は生成規則 Name に、 ENTITIES 型の値は Names に一致しなければならない。各 Name は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> で宣言された<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非解析実体</anchor>の <code class="XML">Name</code> と一致していなければならない。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#entname">http://www.w3.org/TR/REC-xml#entname</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> [名前字句]: <code class="XML">NMTOKEN</code> 型の値は生成規則 <code class="XML">Nmtoken</code>, <code class="XML">NMTOKENS</code> 型の値は <code class="XML">Nmtokens</code> に一致していなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#nmtok">http://www.w3.org/TR/REC-xml#nmtok</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> [記法属性]: 記法 (<code class="XML">NOTATION</code>) 型の属性の値は(属性)宣言に含まれる記法名のいずれかと一致していなければならない。全ての記法名は宣言されていなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#notatn">http://www.w3.org/TR/REC-xml#notatn</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> [一要素一記法]: 一つの要素に複数個の <code class="XML">NOTATION</code> 型属性は存在できない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#OneNotationPer">http://www.w3.org/TR/REC-xml#OneNotationPer</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> [(強制)空要素に記法なし]: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">互換性のため</anchor>、 <code class="XML">EMPTY</code> と宣言された要素に <code class="XML">NOTATION</code> 型の属性は存在できない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#NoNotationEmpty">http://www.w3.org/TR/REC-xml#NoNotationEmpty</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> [列挙]: この型の属性の値は宣言された <code class="XML">Nmtoken</code> 値の一つと一致しなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#enum">http://www.w3.org/TR/REC-xml#enum</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> [必須属性]: 既定値宣言が鍵言葉 <code class="XML">#REQUIRED</code> である場合、その要素型の要素は全てその属性を指定されていなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#RequiredAttr">http://www.w3.org/TR/REC-xml#RequiredAttr</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> [属性既定値の構文的な正しさ]: 宣言した既定値は宣言した型に照らして正当でなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#defattrvalid">http://www.w3.org/TR/REC-xml#defattrvalid</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> なお、この検査は<em>構文的</em>正しさのみであり、他の点は検討しない。例えば <code class="XML">ENTITY</code> 型の属性値でその既定値の名前を持つ外部非解析実体が宣言されているかは、属性の既定値が実際に使われる (補完される) ときに初めて検証される。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/XML/xml-V10-2e-errata#E9">http://www.w3.org/XML/xml-V10-2e-errata#E9</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> [固定属性既定値]: 既定値宣言に鍵言葉 <code class="XML">#FIXED</code> がある場合、その属性の全ての実現値はその既定値と一致していなければならない。
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#FixedAttr">http://www.w3.org/TR/REC-xml#FixedAttr</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> [条件区間及び引数実体の入れ子適当性]: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">条件区間</anchor>の <code class="XML"> &lt;![ </code>, <code class="XML"> [ </code>, <code class="XML"> ]&gt; </code> のいずれかが引数実体参照の置換文に含まれる場合、他の全てが同じ置換文に含まれていなければならない。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#condsec-nesting">http://www.w3.org/TR/REC-xml#condsec-nesting</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> [実体が宣言されていること]: 属性は全て宣言されていなければなりません。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">相互運用性のため</anchor>、 <code class="XML">amp</code> なども宣言するべきです。引数実体は参照される前に、一般実体は直接又は間接に属性の既定値の宣言で参照される前に宣言されていなければなりません。 (詳しくは仕様書参照。) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#vc-entdeclared">http://www.w3.org/TR/REC-xml#vc-entdeclared</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> [記法が宣言されていること]: (実体宣言の記法の) <code class="XML">Name</code> は記法名と一致しなければなりません。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#not-declared">http://www.w3.org/TR/REC-xml#not-declared</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;27</anchor-internal> 記法宣言は実体宣言の前にある必要はあるんだろうか? ないんだろうか?</li><li><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;39</anchor-internal> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記法</anchor>参照。</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> [記法名の一意性]: 同じ名前の記法を複数宣言できません。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#UniqueNotationName">http://www.w3.org/TR/REC-xml#UniqueNotationName</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> 訂正: 内容モデルで同じ要素型が複数回一致することを許す場合 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/XML/xml-V10-2e-errata#E34">http://www.w3.org/XML/xml-V10-2e-errata#E34</anchor-external> </li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> 訂正 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/XML/xml-V10-2e-errata#E15">http://www.w3.org/XML/xml-V10-2e-errata#E15</anchor-external> にも注意。特に、混合でない子要素の内容モデルの場合、<em>生の値</em>が空白間隔である<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字参照</anchor>である実体への参照 (置換文は文字参照ではなく生の文字になる。) は使えても、<em>置換文</em>が文字参照である実体参照は使えないのに注意。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> [(列挙・記法名の)字句の重複無し]: 単一の <code class="XML">NotationType</code> 属性宣言の記法名や単一の <code class="XML">Enumeration</code> 属性宣言の <code class="XML">Nmtoken</code> は、全て異なるものでなければなりません。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/XML/xml-V10-2e-errata#E2">http://www.w3.org/XML/xml-V10-2e-errata#E2</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> [妥当な <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml:lang</anchor></code>] (<strong>削除済み制約</strong>) <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml</anchor>:<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">lang</anchor></code> 属性の値は、 <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NMTOKEN</anchor></code> として正規化した後に、生成規則 [33] に一致しなければならない。 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FE</anchor> errata E31 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/XML/xml-19980210-errata#E31">http://www.w3.org/XML/xml-19980210-errata#E31</anchor-external> で追加, E73 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/XML/xml-19980210-errata#E73">http://www.w3.org/XML/xml-19980210-errata#E73</anchor-external> で <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(明記されていないものの)</weak> 削除。<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">削除理由は、 「XML 処理系の立ち入るべき水準ではない」。</weak>)<ul><li>ちなみに <code class="XML">xml:lang</code> 属性は、 SE の errata で <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor></code> に修正されてます。</li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;28</anchor-internal> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TE</anchor> で文言修正。「ある名前は複数回記法宣言で宣言しては<strong>なりません</strong>。」</li></ul><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</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:">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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal>) から、処理した結果は未定義です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;41</anchor-internal> ということは、例えば<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>なら普通な動作ですが、行わない<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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal>,<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal>,<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;25</anchor-internal> の<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><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">でも <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">生成規則</anchor>を満たしつつ違反するのは無理だろう。</comment-p><p><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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor>互換性のために<q>属性値の列挙の群と引数実体が適当に入れ子になっていること</q>という条件が必要なような。。。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="XML1:&quot;#IDAHXCU&quot;">IW:XML1:&quot;#IDAHXCU&quot;</anchor-external></comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;8</anchor-internal> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モデル群</anchor>しかカバーしていない。</comment-p><p>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</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="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当性を検証する</anchor>処理系は、利用者の任意選択により、 DTD の宣言により表現された制約への違反及び XML 仕様書の妥当性制約への違反を報告しなければなりません。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#dt-validating">http://www.w3.org/TR/REC-xml#dt-validating</anchor-external></p><p>この条件を満たすため、妥当性を検証する処理系は DTD 
全体と全ての外部解析実体を読まなければなりません。 <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/REC-xml#dt-validating">http://www.w3.org/TR/REC-xml#dt-validating</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> 妥当性制約は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML//整形式制約</anchor>に加えての追加の制約です。 
XML 文書は必ずしも妥当性制約を満たしている必要はありませんが、
できるなら満たすことが望ましいでしょう。特に、宣言の完全性 (DTD で定義されていること) 以外の制約は必ず満たすべきです。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1></section></body></html>