[1] 外部識別子は、 実体宣言などで外部実体などを参照するための識別子であり、 公開識別子とシステム識別子の2種類がありました。
外部実体又はデータ内容記法を識別する引数。 External identifier。
- 備考
- システム識別子及び公開識別子の2種類がある。 (JISX4151‐1992 定義 (32))
(JISX4151‐1992 9.1.6)
- 外部識別子 = ("SYSTEM" | ("PUBLIC", ps+, 公開識別子)) (ps+, システム識別子)? —(73)
- 公開識別子 = 最小表記 —(74)
- システム識別子 = (lit, システムデータ, lit) | (lita, システムデータ, lita) —(75)
システム識別子は、公開識別子及びその他の情報からシステムが補充できるのであれば、省略してもよい。
SGML宣言で
FORMAL YES
と指定してある場合、公開識別子は、公的公開識別子として解釈する。 したがって、公的公開識別子としての誤りが生じ得る。
- 備考 この場合でも、公開識別子は、最小表記であることに変わりがないので、最小表記に対する要件を満たしていなければならない。
量的制限 システム識別子の長さは、その区切り子の分を除いて、量
LITLEN
の値以下でなければならない。容量 容量値
ENTCHCAP
に対して合計する要素文の文字数において、 外部識別子に対しては、そのシステム識別子 (直接に指定してあるものであれ、補充したものであれ) の文字数 (区切り子の分を除く。) だけを合計する。
出典: ISO/IEC 10744:1997 3 Definition <http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-3.html#def-3.32>
[4] XML で使うことが出来るのは、文書型宣言, 実体宣言, 記法宣言だけです。記法宣言の場合を除いて、システム識別子は必須です。
[8] 公開識別子やシステム識別子を具体的にどう処理するかについて、 SGML や XML は明確な規定を設けていませんでした。
[9] SGML は公式システム識別子により細かなシステム識別子の構文と意味を定めていましたし、 XML はシステム識別子を URL とする旨を定めていました。 しかし最終的にそれをどう取り扱うかは、実装依存となっていました。
[3] 例:
FORMAL YES
の場合不正です。 (公的公開識別子ではありません。)