<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">public 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>が使われる。</p><section><h1>SGML における定義</h1><figure class="quote"><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><dl><dt><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">公開識別子<rt xmlns="http://www.w3.org/1999/xhtml">public identifier</rt></rubyb></dt><dd><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>備考1. <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>中の公開識別子は、公的公開識別子として解釈可能としてもよい、</li><li>備考2. システムは、公開識別子から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>への変換に対して責任をもつ。
.<ins>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JISX4151</anchor>‐1992 定義 (82))</ins></li></ul></dd></dl></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><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>。<ul><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:">SGML公式公開識別子</anchor>及び<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構造化名公開識別子</anchor>を認識する。 <ins>(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JISX4172</anchor>:1998 3.11)</ins></li></ul></p></blockquote></figure></section><section><h1>DSSSL における公開識別子</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> 関連:
<code>writing-mode</code>,
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO/IEC 10179の用字系</anchor></p></section><section><h1>XML における公開識別子</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</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>は<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><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</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:">システム識別子</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><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite xml:lang="EN">Extensible Markup Language (XML) 1.0 (Fifth Edition)</cite> (<time>2013-05-28 20:49:56 +09:00</time> 版) <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.w3.org/TR/xml/#dt-pubid">http://www.w3.org/TR/xml/#dt-pubid</anchor-external></li></ul></refs></section><section><h1>正規化</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</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> (<code class="XML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">S</anchor></code>) を <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">U+0020</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>を行わなければ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><strong xmlns="http://www.w3.org/1999/xhtml">なりません</strong></anchor> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;20</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> の <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> の <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor></code>
には<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>された後の値が現れます。 <time>2014-03-02T04:59:45.500Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</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:">DTD</anchor> を読み込むかの判定に関して、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>しますが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">正規化</anchor>しません。 <time>2014-03-02T05:09:08.00Z</time></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">テスト用: <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="data:text/xml,&lt;!DOCTYPE hoge PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN &quot; &quot;http://hoge/&quot;%3E&lt;hoge%3E&amp;copy;&lt;/hoge%3E">data:text/xml,&lt;!DOCTYPE hoge PUBLIC &quot;-//W3C//DTD XHTML 1.1//EN &quot; &quot;http://hoge/&quot;%3E&lt;hoge%3E&amp;copy;&lt;/hoge%3E</anchor-external></comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTMLの構文解析</anchor>ではこの正規化に相当する処理は行われません。</comment-p></section><section><h1>処理</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</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>を参照してください。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</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>について、特に区別しないというような規定はありません。</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> XML の場合:<ul><li><code class="ABNF"><dfn>PubidLiteral</dfn> = &lt;&quot;&gt; *PubidChar &lt;&quot;&gt; / &quot;'&quot; *(PubidChar - &quot;'&quot;) &quot;'&quot; ;; [12] </code></li><li><code class="ABNF"><dfn>PubidChar</dfn> = %x0A / %x0D / %x20 / ALPHA / DIGIT / &quot;-&quot; / &quot;'&quot; / &quot;(&quot; / &quot;)&quot; / &quot;+&quot; / &quot;,&quot; / &quot;.&quot; / &quot;/&quot; / &quot;:&quot; / &quot;=&quot; / &quot;?&quot; / &quot;;&quot; / &quot;!&quot; / &quot;*&quot; / &quot;#&quot; / &quot;@&quot; / &quot;$&quot; / &quot;_&quot; / &quot;%&quot; ;; [13] </code></li></ul></p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <cite xml:lang="en">Character set &quot;$xml10-5e:PubidChar&quot;</cite> (<time>2015-01-10 22:06:57 +09:00</time> 版) <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://chars.suikawiki.org/set/%24xml10-5e%3APubidChar">http://chars.suikawiki.org/set/%24xml10-5e%3APubidChar</anchor-external></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> この文字集合は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebSGML</anchor> で拡張された <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Special</anchor>
と一致します。</p><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-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.w3.org/TR/REC-xml#dt-pubid">http://www.w3.org/TR/REC-xml#dt-pubid</anchor-external>
にあります。<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム識別子</anchor>に加えて、公開識別子も指定できる。<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">記法宣言</anchor>では公開識別子だけでもよい。</li></ul></li><li>公開識別子を、代替 <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>SGML</anchor> でいう<anchor>型録</anchor>。)</weak></li><li>代替 URI を作れないときにはシステム識別子から作った URI
を使う。</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>する。<ul><li>全ての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白</anchor>の連続を、1つの <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SP</anchor></code> にまとめる。</li><li>最初と最後の空白の連続は削除する。</li></ul></li></ul></p><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> <code class="char"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TAB</anchor></code> をかけないのに注意。</p><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><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML情報集合</anchor>では...</ed></section></section><section><h1>HTML における公開識別子</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</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>は行われません。そのまま <code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</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:">DOCTYPEスイッチ</anchor>でもそのまま比較されます。</p></section><section><h1><code class="DOMa" xml:lang="en">publicId</code> 属性 (DOM)</h1><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> ...</ed></section><section><h1>公開識別子の欠落</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</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:">連結型宣言</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>として指定することができます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</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>については<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>未知</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">unknown</rt></rubyb>となることを、
それ以外についても<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>無値</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">no value</rt></rubyb>となることを認めています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM Standard</anchor> はこのうち <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> しか定義していませんが、
値として <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> を認めていません。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML Living Standard</anchor> および <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>は
<code class="HTML" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOCTYPE</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>を
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor></code> とします。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM3</anchor> は <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DocumentType</anchor></code> の
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">publicId</anchor></code> が <code class="IDL" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor></code>
になる可能性に言及していません。
<code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Entity</anchor></code>, <code class="DOMi" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Notation</anchor></code>
については <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">null</anchor> になり得るとしています。</p></section><section><h1>URL 表現</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</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:">URL</anchor> として表現する手法として
<code>urn:publicid:<var>*</var></code> がありました。</p></section><section><h1>メモ</h1><ul><li><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:">Google</anchor> で検索すると見つかる公開識別子の説明は、大抵は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書型宣言</anchor>の説明の一部で、しかもみんなほとんど同じ内容で、かつ公開識別子と公式公開識別子の違いを理解していないとか、微妙に間違ったことを言っているとか、そういうのばっかです。寂しいことですな。</li><li><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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;7</anchor-internal> ちゃんと分かってる人は当然いるはずだし、実際日記とか ML とかでそれは明らかなんだけど、そういう人が解説を書いてないので。。。</li><li><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:">公式公開識別子</anchor>又は <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URN</anchor> を使用するのが望ましいでしょう。</li></ul><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> 公開識別子 <var>P</var> で識別される<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">実体文</anchor> <var>S<sub>1</sub></var> が<pre><var>...</var>
&lt;!ENTITY % p.mod PUBLIC &quot;<var>P</var>&quot; &quot;<var>S<sub>2</sub></var>&quot;&gt;
%p.mod;
<var>...</var></pre>であるようなこと <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(つまり、公開識別子だけを追いかけると循環参照に見えるけど、システム識別子を追いかけるとそうではない場合)</weak> があります。</p><p>SGML や XML には、これを直接に禁止する規定はないと思いますけど、もし<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">型録</anchor>を使用していると実際に循環参照になってしまうでしょうから注意が必要です。</p><p>それに、仕様的に問題がないとしても意味的にどうかなあと思いませんか。</p></section></body></html>