<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> <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>,
周辺事項について。</p><p><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:">XML</anchor>
と同じ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">具象構文</anchor>を想定する。</p><p>また、ここで「空白」はなんとなくそれっぽい意味(謎)で曖昧に使います。
(詳しい意味は抽象構文・具象構文によりますが、
大体の場合は <code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SPACE</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RS</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RE</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SEPCHAR</anchor></code> ≒ <code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SP</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">TAB</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CR</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">LF</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="char">SPACE</code> を指します。
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>WebSGML</anchor> では、まさに <code xmlns="http://www.w3.org/1999/xhtml" class="ABNF"><dfn>空白</dfn> = <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SPACE</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RS</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RE</anchor> / <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SEPCHAR</anchor></code> です。 (K.2.4.2)</weak></p><p>括弧内の番号などは、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JISX4151</anchor> の該当部分です。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form><section><h1>無視される空白</h1><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> <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:">s</anchor></code> 
(<code class="ABNF">= SPACE / RE / RS / SEPCHAR ;; (5) </code>) は無視されます。 (5.2.1)</p><p>つまり、<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>の一部ではない空白</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>の一部ではない空白</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><weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">例えば、 <anchor>HTML</anchor> の <code xmlns="http://www.w3.org/1999/xhtml" class="HTML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">head</anchor></code> 要素の内容であって、子要素・子マークの一部ではない空白。</weak></li><li>?? マークの最小化の影響で一見これに該当しても無視されない (データタグとかになる) 空白はあり得るか否か?</li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">現対応表</anchor>によって対応付けされておらず、
区切子として認知できるもの (8.4.6)</li></ul></p><p>は無視されます。</p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内容</anchor>の中で、 (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO8879</anchor> 7.6.1, JIS 6.6.1, 参考 3 3.3.3 も参照。)<ul><li><code class="SGML">RS</code> はマークとして解釈できなければ無視する。</li><li>すべての参照の置換・マークの認知の後に残る <code class="SGML">RE</code> は、<ol><li>要素の最初の <code class="SGML">RE</code> は、その直前に <code class="SGML">RS</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><samp class="SGML">&lt;e&gt;<code class="SGML">RE</code>foo&lt;/e&gt;</samp> -&gt; <samp>foo</samp></li><li><samp class="SGML">&lt;e&gt;<code class="SGML">RS</code><code class="SGML">RE</code>foo&lt;/e&gt;</samp> -&gt; <samp><code class="SGML">RS</code><code class="SGML">RE</code>foo</samp> -&gt; <samp><code class="SGML">RE</code>foo</samp></li><li><samp class="SGML">&lt;e&gt;data<code class="SGML">RE</code>foo&lt;/e&gt;</samp> -&gt; <samp>data<code class="SGML">RE</code>foo</samp></li><li><samp class="SGML">&lt;e&gt;&lt;pSub/&gt;<code class="SGML">RE</code>foo&lt;/e&gt;</samp> -&gt; <samp>&lt;pSub/&gt;<code class="SGML">RE</code>foo</samp></li><li><samp class="SGML">&lt;e&gt;&lt;add/&gt;<code class="SGML">RE</code>foo&lt;/e&gt;</samp> -&gt; <samp>foo</samp></li><li><samp class="SGML">&lt;e&gt;&lt;!&gt;<code class="SGML">RE</code>foo&lt;/e&gt;</samp> -&gt; <samp>&lt;!&gt;foo</samp></li></ul></li><li>要素の最後の <code class="SGML">RE</code> は、その直後にデータ又は真の部分要素がなければ、無視する。</li><li><code class="SGML">RS</code> 又は <code class="SGML">RE</code> の直後に位置しない <code class="SGML">RE</code> は、その前にデータ又は真の部分要素がなければ、無視する。<ul><li><samp class="SGML">foo<code class="SGML">RE</code>bar</samp> -&gt; <samp>foo<code class="SGML">RE</code>bar</samp></li><li><samp class="SGML">&lt;!&gt;<code class="SGML">RE</code>&lt;!&gt;<code class="SGML">RE</code>bar</samp> -&gt; <samp>bar</samp></li><li><samp class="SGML">&lt;e&gt;&lt;pSub/&gt;<code class="SGML">RE</code><code class="SGML">RE</code>foo&lt;/e&gt;</samp> -&gt; <samp>&lt;pSub/&gt;<code class="SGML">RE</code><code class="SGML">RE</code>foo</samp></li><li><samp class="SGML">&lt;e&gt;<code class="SGML">RE</code><code class="SGML">RE</code>foo&lt;/e&gt;</samp> -&gt; <samp>foo</samp></li></ul></li><li>以上に該当しない場合は、データとする。</li></ol><ul><li><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></li></ul></li></ul></p><blockquote><p><code class="SGML">RE</code> をデータとするかどうかの判定は、
マークの認知の過程で行う。マークの認知に、
タグの省略の認知を含めて、 (1)〜(3)に従って
<code class="SGML">RE</code> か無視できるかどうかの判定に先立って行う。
この手順では、<pre>  (quote | #PCDATA)*</pre></p></blockquote><p>のように、要素の内容のどこにでもデータが現れ得る通常の場合、
直感に合った結果が得られる。しかしながら、<pre>  (x, #PCDATA)</pre></p><p>のように、内容モデルがデータの現れ得る位置に制限を課す場合には、
(1)又は(2)の状況がマークの認知の最中に誤りとなることがある。
このような内容モデルは、通常必要としないので、推奨しない
(10.2.4 参照)。</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> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal> の例 (JIS X 4151 より):<pre><code class="SGML">RS<ins><sub>1</sub></ins></code> record 1 &lt;outer&gt;&lt;sub&gt; <code class="SGML">RE<ins><sub>1</sub></ins></code>
<code class="SGML">RS<ins><sub>2</sub></ins></code> record 2 &lt;/sub&gt; <code class="SGML">RE<ins><sub>2</sub></ins></code>
<code class="SGML">RS<ins><sub>3</sub></ins></code> &lt;/outer&gt; record 3 <code class="SGML">RE<ins><sub>3</sub></ins></code></pre></p><p>で、要素 <samp class="SGML">outer</samp> について考える。
<code class="SGML">RE<ins><sub>1</sub></ins></code> 及び
<code class="SGML">RS<ins><sub>2</sub></ins></code> は子要素内にあるので、
ここでは考えないことになる。従って、
<code class="SGML">RE<ins><sub>2</sub></ins></code> が内容の最初の
<code class="SGML">RE</code> である。</p><p>さて、 <samp class="SGML">sub</samp> が真の部分要素であるなら、
この <code class="SGML">RE<ins><sub>2</sub></ins></code> はデータとなるが、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">添加要素</anchor>であれば、前にデータも真の部分要素も無いので、
無視される。</p><p>要素 <samp class="SGML">sub</samp> について、最初の <code class="SGML">RE</code>
は <code class="SGML">RE<ins><sub>1</sub></ins></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><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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal> 参考3 3.3.1 参照。それっぽいことが書いてある。
(処理指令だけの<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="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal> の続き。 <code class="SGML">RE</code> は、それに続く最初のデータ又は真の部分要素の直前に位置するものとして扱います。
つまり、その間に他のマークがある場合、その後に位置するものとします。
ずなわち、 <samp class="SGML">&lt;e&gt;foo<code class="SGML">RE</code>&lt;!&gt;bar&lt;/e&gt;</samp> -&gt; <samp>foo&lt;!&gt;<code class="SGML">RE</code>bar</samp>,
<samp class="SGML">&lt;e&gt;foo<code class="SGML">RE</code>&lt;add/&gt;bar&lt;/e&gt;</samp> -&gt; <samp>foo&lt;add/&gt;<code class="SGML">RE</code>bar</samp>。
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">(なんでこんな面倒な規則があるんだろう?)</weak></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> 参考3 3.3.1 の例で、<pre>&lt;p&gt;
最初のデータ
&lt;?処理指令1&gt;
&lt;?処理指令2&gt;
最後のデータ
&lt;/p&gt;</pre></p><p>と<pre>&lt;p&gt;最初のデータ
&lt;?処理指令1&gt;&lt;?処理指令2&gt;最後のデータ&lt;/p&gt;</pre></p><p>は同値って書いてある。で、 <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> によれば更に<pre>&lt;p&gt;最初のデータ&lt;?処理指令1&gt;&lt;?処理指令2&gt;
最後のデータ&lt;/p&gt;</pre></p><p>と同値と解釈されるのか?</p><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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal>-8 で、「データ」として扱うのは通常の意味のデータのほかに、
<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:">SGML部分文書実体</anchor>も含んでいます。<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>処理指令実体</anchor>は含みません。</weak>
<weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">これについては直感とおおむね一致する動作でしょう。</weak></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> <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参照終了</anchor></code>である <code class="SGML">RE</code>
は無視されます (8.4.5)。例えば、<pre>&lt;e&gt;&amp;ref<code class="SGML">RE</code>
<code class="SGML">RS</code>non-ref&lt;/e&gt;</pre></p><p>→ <samp><var>ref</var>non-ref</samp></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:">WebSGML</anchor> で <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">KEEPRSRE</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>は、
<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:">s分離子節</anchor>としてグローブ中に含まれます。
(K.3.8.2 参照。)</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></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> <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>を行った後で、
<code class="SGML">RS</code> および <code class="SGML">RE</code>
を無視する前に行います。
(6.3.2)</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>表記の中の空白と正規化</h1><ul><li><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></li></ul><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:">引数表記</anchor>には、それ自体には空白と正規化についての規定はありません。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>実体参照・文字参照</h1><p><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:">文字参照</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>として、後者は生の文字と同等として扱われます。 (8.5)</p><p>例えば、 <samp class="SGML">&amp;ref&amp;#RE;</samp> と 
<samp class="SGML">&amp;ref<code class="SGML">RE</code></samp>
は同値で、 <samp class="SGML">&amp;ref;</samp> とほぼ同じ意味です。
一方、 <samp class="SGML">&amp;ref&amp;#13;</samp> は
<samp class="SGML">&amp;ref;&amp;#13;</samp> と同値で、後半は SGML
的な意味を持たない単なる文字 <code>0x0D</code> です。</p><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:">機能文字</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="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end>
ですから、空白を含む短縮参照の途中に文字参照を使うことも、東漸できません。 (<code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">nero</anchor></code> の直前で区切れがあると見なされるはずです。)
もっとも、短縮参照の一部を文字参照で表そうとするのは普通では考えられないです。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form><section><h1>短縮参照と空白</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">短縮参照</anchor>について (8.4.6)。<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>に対応付けてある場合には一般実体に置換しますが、そうでない場合には、<ul><li>区切子として認知できるなら、分離子 <code class="SGML">s</code> とみなし、結果無視します (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal>)。</li><li>できないなら、データとして扱います。</li></ul></li></ul></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> 8.4.6.1 では、<dfn>同値な参照列</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>が長くなり過ぎないようにするための措置らしいです。<table><tbody><tr><td colspan="2">短縮参照に含まれるか否か</td><td>同値な参照列</td></tr><tr><td><code class="SGML">RS</code></td><td><code class="SGML">RE</code></td><td></td></tr><tr><td>×</td><td>×</td><td><code class="ABNF"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ero</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">refc</anchor></code></td></tr><tr><td>○</td><td>×</td><td><code class="ABNF">RS ero <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor> refc</code></td></tr><tr><td>×</td><td>○</td><td><code class="ABNF">ero <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor> RE</code></td></tr><tr><td>○</td><td>○</td><td><code class="ABNF">RS ero <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前</anchor> RE</code></td></tr></tbody></table></p><p>内容の <code class="SGML">RS</code> は無視されるし参照終了の
<code class="SGML">RE</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> で、次の例でも影響が無いんでしょうか?<pre>&lt;!ENTITY ref &quot;&amp;#RE;something&quot;&gt;
 <ins>...</ins>
&lt;e&gt;<var>&amp;#RS;&amp;ref;</var>foo&lt;/e&gt;
&lt;!-- ここで、 <var>&amp;#RS;&amp;ref;</var> はそれと同値な
     <em>短縮参照</em>とします。 --&gt;</pre></p><p>う〜ん。。。</p><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:">B列</anchor>があります。
その中では文字 <code class="SGML">B</code> が1つの空白に対応します。
詳しくは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">短縮参照</anchor>を参照。 (8.6.5)</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section></section><section><h1>内容中の空白の保持 — Web SGML</h1><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:">WebSGML</anchor> K.3.8.2 では、新しい<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:">KEEPRSRE</anchor></code> を定義しています。</p><p><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML宣言</anchor>でこの機能を <code class="SGML">YES</code>
にすると、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO8879</anchor>:1986 7.6.1 == JIS X 4151‐1992
6.6.1 == <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal>,<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> は無視されます。
つまり、<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:">s分離子節</anchor>としてグローブに含まれます。</p><p>なお、この機能が影響するのは要素内容の空白だけです。
属性値表記などでの規則は変化しません。</p><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:">XML</anchor> の <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">xml</anchor>:<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">space</anchor></code>
辺りとこの機能が関連しているといえます。</p><p><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>
<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;25</anchor-internal> XML は常に <code class="SGML">KEEPRSRE YES</code>
で、 <code class="XMLa">xml:space</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><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1><figure><figcaption><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:">Web SGML</anchor></figcaption><blockquote><dl><dt>K.2.4.2 空白 (white space)</dt><dd>
<code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SEPCHAR</anchor></code>, <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SPACE</anchor></code>,
<code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RE</anchor></code> 及び <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RS</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>。</dd></dl></blockquote></figure><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> <cite>IRC logs: freenode / #whatwg / 20130221</cite>
( (<time>2013-02-26 21:20:52 +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://krijnhoetmer.nl/irc-logs/whatwg/20130221">http://krijnhoetmer.nl/irc-logs/whatwg/20130221</anchor-external></p><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> <cite xml:lang="en">Breaking: stop treating alpha and alphanumeric as mass nouns</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">annevk</anchor>著, <time>2017-02-04 03:52:58 +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="https://github.com/whatwg/infra/commit/4707bf7b3d8b5b6314ee3dabd29856011eebbb00">https://github.com/whatwg/infra/commit/4707bf7b3d8b5b6314ee3dabd29856011eebbb00</anchor-external></p></section></body></html>