<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> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">外部識別子<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">external identifier</rt></rubyb></dfn>は、
<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:">公開識別子</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>の2種類がありました。</p><section><h1>SGML</h1><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></p><blockquote><p>外部実体又は<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>。
External identifier。<dl><dt>備考</dt><dd>システム識別子及び公開識別子の2種類がある。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JISX4151</anchor>‐1992 定義 (32))</dd></dl></p></blockquote><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> </p><blockquote><p><ins>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JISX4151</anchor>‐1992 9.1.6)</ins><ul><li>外部識別子 = (&quot;SYSTEM&quot; | (&quot;PUBLIC&quot;, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ps</anchor>+, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">公開識別子</anchor>)) (ps+, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>)? —(73)</li><li>公開識別子 = <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最小表記</anchor> —(74)</li><li>システム識別子 = (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">lit</anchor>, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システムデータ</anchor>, lit) | (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">lita</anchor>, システムデータ, lita) —(75)</li></ul></p><p>システム識別子は、公開識別子及びその他の情報から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム</anchor>が補充できるのであれば、省略してもよい。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML宣言</anchor>で <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">FORMAL</anchor> YES</code>
と指定してある場合、公開識別子は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">公的公開識別子</anchor>として解釈する。
したがって、公的公開識別子としての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">誤り</anchor>が生じ得る。<ul><li>備考 この場合でも、公開識別子は、最小表記であることに変わりがないので、最小表記に対する要件を満たしていなければならない。</li></ul></p><p><strong>量的制限</strong> システム識別子の長さは、その<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">区切り子</anchor>の分を除いて、量 <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LITLEN</anchor></code> の値以下でなければならない。</p><p><strong>容量</strong> 容量値 <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ENTCHCAP</anchor></code>
に対して合計する<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></blockquote><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>  </p><blockquote><dl><dt>3.32 <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">外部識別子<rt xmlns="http://www.w3.org/1999/xhtml">external identifier</rt></rubyb></dfn></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</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>であって、
外部情報物体を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">識別</anchor>するもの。<ul><li>注意24: 色々な方法で行われるが、次のものを含む。<ol><li><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:">システム</anchor>は表を引いて<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">物体</anchor>にアクセスすることができる。</li><li><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:">プログラム</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>規定の<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>する手段。</li></ol></li></ul></dd></dl></blockquote><p>出典: <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10744</anchor>:1997 <csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">3 Definition</csection>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-3.html#def-3.32">http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-3.html#def-3.32</anchor-external></p></section><section><h1>XML</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> 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>だけです。記法宣言の場合を除いて、システム識別子は必須です。</p></section><section><h1>処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> 
<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:">SGML</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> は明確な規定を設けていませんでした。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</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:">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:">URL</anchor> とする旨を定めていました。
しかし最終的にそれをどう取り扱うかは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実装依存</anchor>となっていました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> 
<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:">SGML型録</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML型録</anchor>がありました。</p><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> 
<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>の処理を規定していました。</p></section><section><h1>例</h1><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> 例:<ul><li><samp class="SGML">PUBLIC &quot;+//IDN example.org//ENTITIES example entity set//JA&quot; &quot;http://www.example.org/entities/example.ja&quot;</samp></li><li><samp class="SGML">SYSTEM</samp><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> では不正です。</li></ul></li><li><samp class="SGML">PUBLIC &quot;an example external identifier&quot;</samp><ul><li><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>以外では不正です。</li><li><code class="SGML">FORMAL YES</code> の場合不正です。 (公的公開識別子ではありません。)</li></ul></li><li><samp class="SGML">SYSTEM &quot;http://www.example.com/example/entity&quot;</samp></li><li><samp class="SGML">SYSTEM -- notation for example.app -- &quot;C:\SGML\NOTATION\example.app&quot;</samp><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> では不正です。 (SGML では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">注釈</anchor>を使えませんし、システム識別子の値は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URI参照</anchor>に変換可能でなければなりません <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(<anchor>XML//URI</anchor> 参照)</weak>。)</li></ul></li></ul></p></section></body></html>