#?SuikaWiki/0.9 [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]]]] に対して合計する[[要素]]文の[[文字数]]において、 外部識別子に対しては、そのシステム識別子 (直接に指定してあるものであれ、補充したものであれ) の文字数 (区切り子の分を除く。) だけを合計する。 [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 で使うことが出来るのは、[[文書型宣言]], [[実体宣言]], [[記法宣言]]だけです。記法宣言の場合を除いて、システム識別子は必須です。