<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>】 <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>。 Target name。</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> XML では、処理指令は <samp class="XML">&lt;?<var>target-name</var> <var>data</var>?&gt;</samp> 
のような形式を取ります。このうちの <var class="XML">target-name</var> 
が<dfn>対象名</dfn>です。</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> 対象名は名前ですから、 XML の<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:">NCName</anchor> でなければなりません。つまり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コロン</anchor> (<code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:</anchor></code>) を含めることは出来ません。</p><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> 対象名の一意性はあまり保証されません。つまり、ある名前 <samp class="XML">foo</samp>
をある応用 <samp>A</samp> と別の応用 <samp>B</samp> が別の意味に使うことは十分あり得ます。
更に、応用 <samp>A</samp> の対象名 <samp>foo</samp> の処理指令と応用 <samp>B</samp>
の対象名 <samp>bar</samp> の処理指令が同じ意味である可能性だって捨て切れません。</p><p>XML では一応の解法は用意されています。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記法宣言</anchor>を使うのです。
例えば、対象名 <samp class="XML">foo</samp> を宣言するには、
<samp class="XML">&lt;!<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NOTATION</anchor> foo SYSTEM &quot;http://foo.example/&quot;&gt;</samp>
のように <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> のどこかに書いておきます。
この記法宣言があれば、応用は処理指令の対象を一意に特定できるという寸法です。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form><section><h1><code class="ABNF">&quot;XML&quot;</code> 予約名</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> 対象名が <code class="ABNF">&quot;XML&quot;</code> (大文字・小文字を問わない。) から始まるものは、
XML 関連仕様が使うのに予約されています。特に <code class="XML">xml</code> という文字列は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML宣言</anchor>に使われるので処理指令の対象名としては使えません。</p><table><tbody><tr><th>対象名</th><th>意味</th><th>状態</th><th>仕様書</th></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor></code></td><td>XML 宣言</td><td>旧仕様案 (W3C WD)</td></tr><tr><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml</anchor></td><td><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></td><td>W3C 勧告</td><td>[XML]</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml:actionsheet</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ActionSheet</anchor> の関連付け</td><td>W3C Member Submission</td><td>[W3C Note ActionSheet]</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml-edit</anchor></code></td><td>編集用文書</td><td>非標準</td></tr><tr><td><code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml-model</anchor></code></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:">WG Note</anchor>/<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">国際標準</anchor></td></tr><tr><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML:namespace</anchor></td><td><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></td><td>旧仕様案 (W3C WD)</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML:stylesheet</anchor></code></td><td>スタイル・シート関連付け</td><td>旧仕様案 (W3C WD)</td></tr><tr><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml-stylesheet</anchor></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スタイル・シート</anchor>関連付け</td><td>W3C 勧告</td><td>[xml-stylesheet]</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml2-stylesheet</anchor></code></td><td></td><td>非標準</td></tr></tbody></table><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>
<code class="XML">XML</code> という3文字の文字列は、処理指令の文法から除外されているので、処理指令の対象名として出現することはありません。</p><p>XML 1.0, 1.1 で XML 宣言・文宣言の対象名相当に登場するのは小文字の <code class="XML">xml</code> だけです。</p><p>つまり、 XML 1.0, 1.1 では、対象名に <code>XML</code>, <code>XMl</code>, <code>XmL</code>, <code>Xml</code>, <code>xML</code>, <code>xMl</code>, <code>xmL</code> は出現し得ないということです。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">だからどうしたと言われればどうもしませんが。</comment-p><p>勧告以前の古い XML 宣言は <code>XML</code> が大文字だったりします。1998年以前の XML 文書に度々登場します。</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="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> XML での利用が想定されている処理指令の対象名
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">擬似属性</anchor>系処理指令を除く ー— <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">擬似属性</anchor>を参照してください):</p><table><tbody><tr><td>対象名</td><td>意味</td><td>状態</td><td>仕様書・出典</td><td>記法識別子有無</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">cocoon-process</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cocoon</anchor> による処理</td><td></td><td></td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">command-options</anchor></code></td><td>実行オプション</td><td></td><td>DOM 仕様書 XML 原本</td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GENERATE-DEFINITION-INDEX</anchor></code></td><td>定義索引挿入</td><td></td><td>DOM 仕様書 XML 原本</td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GENERATE-ECMA</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ECMAScript</anchor> 束縛定義挿入</td><td></td><td>DOM 仕様書 XML 原本</td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GENERATE-EXPANDED-TOC</anchor></code></td><td>展開目次挿入</td><td></td><td>DOM 仕様書 XML 原本</td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GENERATE-IDL</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDL</anchor> 定義挿入</td><td></td><td>DOM 仕様書 XML 原本</td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GENERATE-JAVA</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Java</anchor> 束縛定義挿入</td><td></td><td>DOM 仕様書 XML 原本</td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GENERATE-MINI-TOC</anchor></code></td><td>小目次挿入</td><td></td><td>DOM 仕様書 XML 原本</td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GENERATE-TOC</anchor></code></td><td>目次挿入</td><td></td><td>DOM 仕様書 XML 原本</td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">job</anchor></code></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows Script</anchor> job</td><td></td><td>なし</td></tr><tr><td><code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">microsummary</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マイクロ要約</anchor></td><td></td><td>[Mozilla]</td><td>なし</td></tr><tr><td><code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">php</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">PHP</anchor></td><td></td><td></td><td>なし</td></tr><tr><td><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pike</anchor></code></td><td></td><td></td><td></td><td>なし</td></tr><tr><td><code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">profile</anchor></code></td></tr><tr><td><code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">python</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Python</anchor></td><td>仕様</td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Kid</anchor></td><td>なし</td></tr><tr><td><code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">respec-toc</anchor></code></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ReSpec</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">目次</anchor>挿入</td><td></td><td></td><td>なし</td></tr><tr><td><code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">opendocument</anchor></code></td></tr><tr><td><code>python<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">&lt;?python?&gt;</title></code></td></tr><tr><td><code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xpath</anchor></code></td><td><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></td><td></td><td><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">X#</anchor></td><td>なし</td></tr><tr><td><code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">zebra-2.0</anchor></code></td><td></td><td></td><td></td><td>なし</td></tr></tbody></table><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1></section></body></html>