PI target

対象 (XML)

[1]XML処理指令の指令対象応用を識別する名前。 Target name。

[2] XML では、処理指令は <?target-name data?> のような形式を取ります。このうちの target-name対象名です。

[3] 対象名は名前ですから、 XML の名前開始文字から始まって、名前文字のみで構成されなければなりません。更に、名前空間整形式であるためには NCName でなければなりません。つまりコロン (:) を含めることは出来ません。

[5] 対象名の一意性はあまり保証されません。つまり、ある名前 foo をある応用 A と別の応用 B が別の意味に使うことは十分あり得ます。 更に、応用 A の対象名 foo の処理指令と応用 B の対象名 bar の処理指令が同じ意味である可能性だって捨て切れません。

XML では一応の解法は用意されています。記法宣言を使うのです。 例えば、対象名 foo を宣言するには、 <!NOTATION foo SYSTEM "http://foo.example/"> のように DTD のどこかに書いておきます。 この記法宣言があれば、応用は処理指令の対象を一意に特定できるという寸法です。

"XML" 予約名

[4] 対象名が "XML" (大文字・小文字を問わない。) から始まるものは、 XML 関連仕様が使うのに予約されています。特に xml という文字列は、 XML宣言に使われるので処理指令の対象名としては使えません。

対象名意味状態仕様書
XMLXML 宣言旧仕様案 (W3C WD)
xmlXML宣言文宣言W3C 勧告[XML]
xml:actionsheetActionSheet の関連付けW3C Member Submission[W3C Note ActionSheet]
xml-edit編集用文書非標準
xml-modelスキーマの関連付けWG Note/国際標準
XML:namespaceXML名前空間宣言旧仕様案 (W3C WD)
XML:stylesheetスタイル・シート関連付け旧仕様案 (W3C WD)
xml-stylesheetスタイル・シート関連付けW3C 勧告[xml-stylesheet]
xml2-stylesheet非標準

[7] XML という3文字の文字列は、処理指令の文法から除外されているので、処理指令の対象名として出現することはありません。

XML 1.0, 1.1 で XML 宣言・文宣言の対象名相当に登場するのは小文字の xml だけです。

つまり、 XML 1.0, 1.1 では、対象名に XML, XMl, XmL, Xml, xML, xMl, xmL は出現し得ないということです。

だからどうしたと言われればどうもしませんが。

勧告以前の古い XML 宣言は XML が大文字だったりします。1998年以前の XML 文書に度々登場します。

一般の対象名

[6] XML での利用が想定されている処理指令の対象名 (擬似属性系処理指令を除く ー— 擬似属性を参照してください):

対象名意味状態仕様書・出典記法識別子有無
cocoon-processCocoon による処理なし
command-options実行オプションDOM 仕様書 XML 原本なし
GENERATE-DEFINITION-INDEX定義索引挿入DOM 仕様書 XML 原本なし
GENERATE-ECMAECMAScript 束縛定義挿入DOM 仕様書 XML 原本なし
GENERATE-EXPANDED-TOC展開目次挿入DOM 仕様書 XML 原本なし
GENERATE-IDLIDL 定義挿入DOM 仕様書 XML 原本なし
GENERATE-JAVAJava 束縛定義挿入DOM 仕様書 XML 原本なし
GENERATE-MINI-TOC小目次挿入DOM 仕様書 XML 原本なし
GENERATE-TOC目次挿入DOM 仕様書 XML 原本なし
jobWindows Script jobなし
microsummaryマイクロ要約[Mozilla]なし
phpPHPなし
pikeなし
profile
pythonPython仕様Kidなし
respec-tocReSpec 目次挿入なし
opendocument
xpathXPath X#なし
zebra-2.0なし

メモ