<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="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書順<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">document order</rt></rubyb></dfn>は、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XDM</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>の位置の前後が順序の前後となります。</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:">XML</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">W3C DOM</anchor> の時代によく用いられていた用語ですが、
現在ではあまり用いられていません。似た意味の用語に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">木順</anchor>があり、
こちらが一般的となっています。</p><section><h1>仕様書</h1><p><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>の違いが微妙に定義の違いとなっていますが、実質的な意味はほぼ同じです。</p><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:">XPath 1.0</anchor><ul><li><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#dt-document-order">http://www.w3.org/TR/xpath#dt-document-order</anchor-external></li></ul></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:">XSLT 1.0</anchor><ul><li><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#function-document">http://www.w3.org/TR/xslt#function-document</anchor-external></li></ul></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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM3</anchor><ul><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> <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/DOM-Level-3-Core/glossary.html#dt-document-order">http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order</anchor-external><ul><li><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/DOM-Level-3-XPath/glossary.html#dt-document-order">http://www.w3.org/TR/DOM-Level-3-XPath/glossary.html#dt-document-order</anchor-external> も同じ内容</li></ul></li><li><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-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/DOM-Level-3-XPath/xpath.html#DocumentOrder">http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#DocumentOrder</anchor-external></li></ul></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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合</anchor><ul><li><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/xml-infoset/#infoitem.doctype">http://www.w3.org/TR/xml-infoset/#infoitem.doctype</anchor-external></li></ul></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:">正準XML</anchor><ul><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">2.2 Document Order</csection>
<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/2001/REC-xml-c14n-20010315#DocumentOrder">http://www.w3.org/TR/2001/REC-xml-c14n-20010315#DocumentOrder</anchor-external></li></ul></li><li><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:">XDM</anchor><ul><li><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-datamodel/#document-order">http://www.w3.org/TR/xpath-datamodel/#document-order</anchor-external><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <cite xml:lang="EN">XQuery 1.0: An XML Query Language (Second Edition)</cite> (<time>2011-01-05 01:29:08 +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/2010/REC-xquery-20101214/#id-document-order">http://www.w3.org/TR/2010/REC-xquery-20101214/#id-document-order</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <cite xml:lang="EN">XML Path Language (XPath) 2.0 (Second Edition)</cite> (<time>2011-01-05 01:25:51 +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/2010/REC-xpath20-20101214/#id-document-order">http://www.w3.org/TR/2010/REC-xpath20-20101214/#id-document-order</anchor-external><ul><li>同じもののコピー</li></ul></li></ul></li></ul></li></ul></section><section><h1>基本的な定義</h1><section><h1>DOM、XPath 1.0 データ・モデルにおける定義</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> </p><blockquote><p>There is an ordering, document order, defined on all the nodes in the document corresponding to the order in which the first character of the XML representation of each node occurs in the XML representation of the document after expansion of general entities.</p></blockquote><p><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>の<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:">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>に対応します。 <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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal> (XPath 1.0), <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> (DOM)</src></p></section><section><h1>XDM における定義</h1><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:">XDM</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="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;42</anchor-internal></src> は、実質的には <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XPath 1.0データ・モデル</anchor>での定義と同じですが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> 表現による定義を「<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">非形式的<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">informal</rt></rubyb>」なものとして紹介した上で、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;15</anchor-internal>
などのような満たすべき制約を述べて規定とする形に変わっています。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">後述のように<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><section><h1>XML 情報集合における定義</h1><p><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:">XML情報集合</anchor>仕様書でも文書順を定義に使っていますが、
その「文書順」という用語の定義がありません。</p></section></section><section><h1>属性の文書順</h1><section><h1>DOM、XPath 1.0 データ・モデルにおける定義</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:">XPath 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:">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>よりは前になります。</p><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> 本体には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前空間節点</anchor>が存在しないので、その部分の定義は省略されていますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM XPath</anchor> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前空間節点</anchor>が導入されており、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XPath 1.0</anchor> 同等の定義に拡張されています。</p><p><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> </p><blockquote><p>The namespace nodes are defined to occur before the attribute nodes.</p></blockquote><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>の前に出現すると定義します。 <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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal> (XPath 1.0), <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;36</anchor-internal> (DOM XPath)</src></p><p><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> </p><blockquote><p>The relative order of namespace nodes is implementation-dependent.
The relative order of attribute nodes is implementation-dependent.</p></blockquote><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>です。 <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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal> (XPath 1.0), <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;36</anchor-internal> (DOM XPath)</src>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性節点</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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal> (XPath 1.0), <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> (DOM)</src></p><p><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 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="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XDM</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="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;42</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="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">compareDocumentPosition</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><section><h1>正準 XML における定義</h1><p><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> <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 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>の順序を規定しています。</p><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>の宣言 <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<anchor>修飾名</anchor>が <code xmlns="http://www.w3.org/1999/xhtml" class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xmlns</anchor></code>)</weak>
は一番先になります。</p><p>属性節点の文書順は、最初に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前空間URI</anchor>、2番目に<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:">null名前空間</anchor>は一番最初になります。</p><p>ここで、辞書式順序とは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">UCS</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">符号位置</anchor>の順序になります。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">C14N, 2.2</src></p></section></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:">XPathデータ・モデル</anchor>でも <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</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:">XPathデータ・モデル</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:">DOM</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合</anchor>には存在します。</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:">XML情報集合</anchor>では、<code class="infoitem"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">処理指令</anchor>情報項目</code>の<code class="infoprop"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">子供</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>より前ということが特に規定されています。 <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="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;30</anchor-internal></src>
<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="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> 実はこの箇所は「original document order」といっていて、用語としての「文書順」なのか
一般名詞として「元の文書の順序」と述べているに過ぎないのか不明瞭です。</comment-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="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">compareDocumentPosition</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:">XML</anchor> 表現によらずに <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor>
構造上の位置によって決まることになっています。</comment-p></section><section><h1>実体参照の文書順</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> には <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> <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> の規定が「<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="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">EntityReference</anchor></code> <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="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">compareDocumentPosition</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>でない他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">節点</anchor>であった場合と同じような順序を持ちます。</comment-p></section><section><h1>文書外の節点の文書順</h1><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:">DOM</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="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentFragment</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:">XSLT 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:">節点</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>の定義も明確にされていません。</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:">XDM</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>の順序があるとされています。 <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="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;42</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="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">compareDocumentPosition</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><section><h1>文書を超えた文書順</h1><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:">XSLT 1.0</anchor> は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XPath 1.0データ・モデル</anchor>に基づいていますが、
<code class="XPathf" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">document()</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>が混在することがあるので、
<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="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>の順序は、それぞれの<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="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal></src>。</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</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="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;11</anchor-internal></src></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-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> 文書が同じであるとは、その (絶対) <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">素片識別子</anchor>を取り除いたもの。) 
が同じであることです <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">XSLT 1.0</src>。どの程度同じなら同じかは触れられていません。 
(URI の<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="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <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> この一貫性というのがどの程度維持されていなければならないかについて、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLT 1.0</anchor> は「同じ文書の集合については必ず同じ順序を使わなければならない」
としていますが、この規定はそれほど明確ではありません。
別の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLTスタイル・シート</anchor>を処理する時にも同じ文書の集合が対象だったら同じ順序でなければならないのでしょうか
(これはきっとそうであることを意図しているのでしょう)。
同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XSLTスタイル・シート</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>が編集されたとしたら、その前と同じ順序を維持しなければならないのでしょうか
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(「実装依存」の方法が「ファイルの編集時刻に依存して順序を決定する」とするなら、そうであっても規定の範囲内にはなりますね)</weak>。</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:">XDM</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>の順序があるとされています。 <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="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;42</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="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> <code xmlns="http://www.w3.org/1999/xhtml" class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">compareDocumentPosition</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>となっています。
更に、異なる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</anchor> 実装の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">節点</anchor>同士の比較についても言及があります。</comment-p></section><section><h1>系</h1><ul><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:">根節点</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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal></src>。 <ul><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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM</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>」とありますが <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="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal></src>、正しくは「<anchor xmlns="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="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>よりも前となります <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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal>, <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></src>。</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:">要素節点</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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal>, <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></src>。</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:">要素節点</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>の順序となります <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="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;10</anchor-internal>, <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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;36</anchor-internal></src>。</li></ul></section><section><h1>関連</h1><p><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:">逆文書順</anchor>もあります。</p><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:">DOM</anchor> には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書順</anchor>を比較する <code class="DOMm" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">compareDocumentPosition</anchor></code>
<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="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web Applications 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:">順序関係</anchor>が定義されています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IE</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="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">sourceIndex</anchor></code>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>があります。</p></section><section><h1>メモ</h1><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>
<cite>IT戦記 - ノードの集合を「ドキュメント順」に高速に並べ替える。その1</cite> (<code>2007-09-04 22:12:32 +09:00</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://d.hatena.ne.jp/amachang/20070903/1188844070">http://d.hatena.ne.jp/amachang/20070903/1188844070</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <cite xml:lang="EN">XQuery 3.0: An XML Query Language</cite>
( (<time>2014-04-08 08:26:21 +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/xquery-30/#id-document-order">http://www.w3.org/TR/xquery-30/#id-document-order</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <cite xml:lang="EN">XML Path Language (XPath) 3.0</cite>
( (<time>2014-04-08 07:58: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/TR/xpath-30/#id-document-order">http://www.w3.org/TR/xpath-30/#id-document-order</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <cite xml:lang="en">XQuery and XPath Data Model 3.0</cite>
( (<time>2014-04-08 07:00: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="http://www.w3.org/TR/xpath-datamodel-3/#document-order">http://www.w3.org/TR/xpath-datamodel-3/#document-order</anchor-external></p><figure class="quote"><figcaption><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> <cite xml:lang="en">RFC 7950 - The YANG 1.1 Data Modeling Language</cite>
(<time>2016-09-15 03:32:37 +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://tools.ietf.org/html/rfc7950#section-6.4">https://tools.ietf.org/html/rfc7950#section-6.4</anchor-external></figcaption><blockquote><p>The data tree has no concept of document order.  An implementation</p><p>needs to choose some document order, but how it is done is an</p><p>implementation decision.  This means that XPath expressions in YANG</p><p>modules SHOULD NOT rely on any specific document order.</p></blockquote></figure><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">XQuery 3.1: An XML Query Language</cite>
(<time>2017-03-20 09:23:33 +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-xquery-31-20170321/#id-document-order">https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-document-order</anchor-external></p><p><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> <cite xml:lang="EN">XML Path Language (XPath) 3.1</cite>
(<time>2017-03-20 09:18:04 +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-31-20170321/#id-document-order">https://www.w3.org/TR/2017/REC-xpath-31-20170321/#id-document-order</anchor-external></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> <cite xml:lang="en">XQuery and XPath Data Model 3.1</cite>
(<time>2017-03-20 07:26:25 +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-datamodel-31-20170321/#dt-document-order">https://www.w3.org/TR/2017/REC-xpath-datamodel-31-20170321/#dt-document-order</anchor-external></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> <cite xml:lang="en"><strong>[</strong>css-display-3<strong>]</strong> Define “document order” since we use it in many place…</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">fantasai</anchor>著, <time>2018-03-07 00:10:20 +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://github.com/w3c/csswg-drafts/commit/c2d98a3c518b47ad73e653b707a7d8e8d7f8d3c3">https://github.com/w3c/csswg-drafts/commit/c2d98a3c518b47ad73e653b707a7d8e8d7f8d3c3</anchor-external></p></section></body></html>