<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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML文書</anchor>の<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正準形<rt xmlns="http://www.w3.org/1999/xhtml">canonical form</rt></rubyb></dfn>とは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正準XML</anchor> 仕様書の方法により生成される XML
文書の<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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end>
仕様書:<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正準XML</anchor><ul><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">1.1 Terminology</csection>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#Terminology" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI">http://www.w3.org/TR/2001/REC-xml-c14n-20010315#Terminology</anchor-external></li></ul></li></ul></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:">XML名前空間 1.0</anchor> 
文書の書式に次のような制限を加えたものです。</p><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UTF-8</anchor> で<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>は <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+000A</anchor></code> とします。</li><li><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>と<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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml" class="XML">CDATA</code>区間</anchor>は消します。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML宣言</anchor>は消します。</li><li><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>は完全な<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 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 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>は<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>は消します。</li><li><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>と名前空間宣言は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書式順序</anchor>にします。</li></ul><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> 正準形にはいくつかの制限があります。<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">外部解析対象実体</anchor>を使うと完全に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">基底URI</anchor> を保存することができません。</li><li><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>や<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>を保存できません。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML 1.1</anchor> では使えません。</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合</anchor>ではなく <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XPathデータ模型</anchor>に基づいています。</li></ul></p></body></html>