<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="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> <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">fully-normalized</rt></rubyb></dfn>とは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML文書</anchor>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NFC</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><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="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <strong><cite xml:lang="en">Character Model for the World Wide Web 1.0: Normalization</cite> (<time>2012-04-27 11:15:23 +09:00</time> 版) <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/charmod-norm/#sec-FullyNormalized">http://www.w3.org/TR/charmod-norm/#sec-FullyNormalized</anchor-external></strong></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> <cite xml:lang="en">Character Model for the World Wide Web 1.0: Normalization</cite> (<time>2012-04-27 11:15:23 +09:00</time> 版) <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/charmod-norm/#sec-NormalizationApplication">http://www.w3.org/TR/charmod-norm/#sec-NormalizationApplication</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> <cite xml:lang="en">Extensible Markup Language (XML) 1.1 (Second Edition)</cite> (<time>2006-09-29 19:02:09 +09:00</time> 版) <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/2006/REC-xml11-20060816/#sec-CharNorm">http://www.w3.org/TR/2006/REC-xml11-20060816/#sec-CharNorm</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <cite xml:lang="en">Extensible Markup Language (XML) 1.1 (Second Edition)</cite> (<time>2006-09-29 19:02:09 +09:00</time> 版) <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/2006/REC-xml11-20060816/#dt-relconst">http://www.w3.org/TR/2006/REC-xml11-20060816/#dt-relconst</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <cite xml:lang="en">Errata in REC-xml-20081126</cite> (<time>2013-02-13 15:08:50 +09:00</time> 版) <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-5e-errata#E20090916">http://www.w3.org/XML/xml-V10-5e-errata#E20090916</anchor-external></li></ul></refs></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:">テキスト</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">fully-normalized</rt></rubyb></dfn>であるとは、次のいずれか指します <src 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></src>。<ul><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:">テキスト</anchor>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicode符号化形</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>を含まない</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 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:">Unicode符号化形</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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> を満たす</li></ul></p><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:">言語</anchor>における <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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構造</anchor>」とされる単位のことを<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関係する構造</anchor>と呼んでいます。</p></section><section><h1>Charmod における完全正規化済みテキスト</h1><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Charmod</anchor> に適合する仕様書やそのデータや実装は次のことを要求されています <src 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></src>。<figure><ul><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> <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:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。そうでなくても<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">取り込み正規化済み</anchor>である<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。</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> 構文定義は<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:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。
<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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構造</anchor>の境界を正確に定義する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">suspect text</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:">normalization-sensitive</anchor>
な操作を適用しては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>し、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">normalization-sensitive</anchor> な操作の直後にも同じく<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。</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> <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:"><strong xmlns="http://www.w3.org/1999/xhtml">べきではありません</strong></anchor>。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化転符号化器</anchor>を使う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。</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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</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:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>し、
任意選択とするなら行う方を既定値とする<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。</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> 最終的な出力が<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:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。</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> 仕様書や実装が以上の条件に違反する時は、明記しなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。</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> 仕様書は<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:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。</li></ul></figure></p><p><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:">Charmod</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">string identity matching</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="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</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:">W3C</anchor>
のごく一部の仕様書以外ではほとんど無視されています。</comment-p></section><section><h1>XML 1.1 における完全正規化済み形</h1><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.1</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Charmod</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コピペ<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">新規格の先行コピペ</title></anchor>により同等の「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">完全正規化済み</anchor>」を独自に定義しています <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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></src>。</p><p><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:">XML 1.1</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:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src>。
ここで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関連する構造</anchor>は次のものです <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src>。<figure><ul><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>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">置換文</anchor></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="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CData</anchor></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>)</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> <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CharData</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>)</li><li><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> <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">content</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>)</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Name</anchor></code></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <code class="ABNF" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Nmtoken</anchor></code></li></ul></figure></p><p><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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.1</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:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src>。検査しない選択肢は、入力が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">certified text</anchor> の時だけ選ぶ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src>。</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="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="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;32</anchor-internal> 後半は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に対する適合性???</comment-p><p><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> <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:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src>。</p><p><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> 新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Unicodeの版</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:"><strong xmlns="http://www.w3.org/1999/xhtml">構いません</strong></anchor>。
信頼性や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">セキュリティー</anchor>が重要な時はこれを選ぶ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきではありません</strong></anchor>。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src></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>は入力を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">完全正規化済み</anchor>形に変形しては<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor>。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.1</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:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor>。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src></p><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化転符号化器</anchor>を使う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;24</anchor-internal></src>。</p></section><section><h1>XML 1.0 における完全正規化済み形</h1><p><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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">完全正規化済み</anchor>形に関する規定は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.1</anchor> の変更点として扱われていて、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.0</anchor>
には追加されていませんでした。その後、事実上 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.1</anchor> を廃止するものとして <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.0 5e</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="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> しかし2009年9月になって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正誤表</anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src> によって<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="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 1.1</anchor> の規定とは違って簡潔で、コピペではなく <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Charmod</anchor> の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CR</anchor> を参照しています。
「Note」なのに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">SHOULD</strong></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="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> の仕様書では Note も <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">normative</anchor> なようです。</comment-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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.1</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:">XML 1.0</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:"><strong xmlns="http://www.w3.org/1999/xhtml">べきです</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.0</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:"><strong xmlns="http://www.w3.org/1999/xhtml">構いません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;38</anchor-internal></src>。</p></section><section><h1>XDM における完全正規化済みテキスト</h1><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> <cite xml:lang="EN">XPath and XQuery Functions and Operators 3.0</cite>
( (<time>2014-04-08 07:02:07 +09:00</time> 版))
<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/xpath-functions-3/#func-normalize-unicode">http://www.w3.org/TR/xpath-functions-3/#func-normalize-unicode</anchor-external></p><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> <cite xml:lang="en">XSLT and XQuery Serialization 3.0</cite>
( (<time>2014-04-07 23:19:15 +09:00</time> 版))
<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/xslt-xquery-serialization-3/#XML_NORMALIZATION-FORM">http://www.w3.org/TR/xslt-xquery-serialization-3/#XML_NORMALIZATION-FORM</anchor-external></p><p><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> <cite xml:lang="en">Extensible Markup Language (XML) 1.1 (Second Edition)</cite>
( (<time>2006-09-29 19:02:09 +09:00</time> 版))
<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/2006/REC-xml11-20060816/#sec-CharNorm">http://www.w3.org/TR/2006/REC-xml11-20060816/#sec-CharNorm</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> <cite xml:lang="EN">XPath and XQuery Functions and Operators 3.1</cite>
(<time>2017-03-21 16:02:06 +09:00</time>)
<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="https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#func-normalize-unicode">https://www.w3.org/TR/2017/REC-xpath-functions-31-20170321/#func-normalize-unicode</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <cite xml:lang="en">XSLT and XQuery Serialization 3.1</cite>
(<time>2017-03-20 12:35:18 +09:00</time>)
<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="https://www.w3.org/TR/2017/REC-xslt-xquery-serialization-31-20170321/#XML_NORMALIZATION-FORM">https://www.w3.org/TR/2017/REC-xslt-xquery-serialization-31-20170321/#XML_NORMALIZATION-FORM</anchor-external></p></section><section><h1>メモ</h1></section></body></html>