[1] 【[[SGML]]/[[XML]]】[[実体宣言]]などにおいて、 [[外部実体]]などを参照するのに使用される識別子です。 [DFN[外部識別子 external identifier]] には、 [[公開識別子]]と[[システム識別子]]の2種類があります。 [5] > 外部実体又は[[データ内容記法]]を[[識別]]する[[引数]]。 External identifier。 :備考:システム識別子及び公開識別子の2種類がある。 ([[JISX4151]]‐1992 定義 (32)) [2] >[INS[([[JISX4151]]‐1992 9.1.6)]] - 外部識別子 = ("SYSTEM" | ("PUBLIC", [[ps]]+, [[公開識別子]])) (ps+, [[システム識別子]])? —(73) - 公開識別子 = [[最小表記]] —(74) - システム識別子 = ([[lit]], [[システムデータ]], lit) | ([[lita]], システムデータ, lita) —(75) > システム識別子は、公開識別子及びその他の情報から[[システム]]が補充できるのであれば、省略してもよい。 > [[SGML宣言]]で [CODE(SGML)[[[FORMAL]] YES]] と指定してある場合、公開識別子は、[[公的公開識別子]]として解釈する。 したがって、公的公開識別子としての[[誤り]]が生じ得る。 -備考 この場合でも、公開識別子は、最小表記であることに変わりがないので、最小表記に対する要件を満たしていなければならない。 >'''量的制限''' システム識別子の長さは、その[[区切り子]]の分を除いて、量 [CODE(SGML)[[[LITLEN]]]] の値以下でなければならない。 >'''容量''' 容量値 [CODE(SGML)[[[ENTCHCAP]]]] に対して合計する[[要素]]文の[[文字数]]において、 外部識別子に対しては、そのシステム識別子 (直接に指定してあるものであれ、補充したものであれ) の文字数 (区切り子の分を除く。) だけを合計する。 [6] > :3.32 [DFN[[RUBYB[外部識別子][external identifier]]]]: [[SGML]] [[マーク宣言]] (普通は[[実体宣言]]) の[[引数]]であって、 外部情報物体を[[識別]]するもの。 - 注意24: 色々な方法で行われるが、次のものを含む。 -= [[公式公開識別子]]。[[大域的]]に固有な[[公開識別子]]で、 [[システム]]は表を引いて[[物体]]にアクセスすることができる。 -= [[システム識別子]]。[[ファイル識別子]]、[[蓄積庫所在]]、 [[プログラム]]の呼出し、[[データ流]]の[[位置]]、 その他[[システム]]規定の[[蓄積庫]]中の[[物体]]を[[所在付け]]する手段。 出典: [[ISO/IEC 10744]]:1997 [CSECTION[3 Definition]] [3] 例: -[SAMP(SGML)[PUBLIC "+//IDN example.org//ENTITIES example entity set//JA" "http://www.example.org/entities/example.ja"]] -[SAMP(SGML)[SYSTEM]] --[[XML]] では不正です。 -[SAMP(SGML)[PUBLIC "an example external identifier"]] --[[XML]] では[[記法宣言]]以外では不正です。 --[CODE(SGML)[FORMAL YES]] の場合不正です。 (公的公開識別子ではありません。) -[SAMP(SGML)[SYSTEM "http://www.example.com/example/entity"]] -[SAMP(SGML)[SYSTEM -- notation for example.app -- "C:\SGML\NOTATION\example.app"]] --[[XML]] では不正です。 (SGML では[[注釈]]を使えませんし、システム識別子の値は [[URI参照]]に変換可能でなければなりません [WEAK[([[XML//URI]] 参照)]]。) - [4] XML で使うことが出来るのは、[[文書型宣言]], [[実体宣言]], [[記法宣言]]だけです。記法宣言の場合を除いて、システム識別子は必須です。