<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> </p><blockquote><dl><dt>B 列 (B sequence)</dt><dd>
<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:">B</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:">文字</anchor> <code class="SGML">B</code> の個数以上の長さを持つ<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空白列</anchor>を意味する。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 4151</anchor>‐1992 3. (217))</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>
B 列・空白列に関係する規定:<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 4151</anchor>-1992<ul><li>3. <cite>(61) 空白列(blank sequence)</cite></li><li>3. <cite>(217) B列(B sequence)</cite></li><li><cite>表4 規格参照区切り子集合(短縮参照)</cite></li><li><cite>8.6.5 空白列を含む短縮参照</cite></li><li><cite>8.6.6 名前文字</cite></li><li><cite>9.1.2 引数表記</cite></li><li><cite>10.5 短縮参照対応表宣言</cite></li><li><cite>12.4.5 命名方法</cite></li><li><cite>12.4.6.2 短縮参照区切り子</cite></li><li>参考4 <cite>2.3.2 タイプライタの打けん—短縮参照対応表の定義</cite></li></ul></li></ul></p><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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> <q>連続した</q>とありますが、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JIS X 4151</anchor> 8.6.5 の通り、一個の <code class="SGML">&quot;B&quot;</code> でも一個以上の<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="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 例えば、<code class="SGML">SHORTREF SGMLREF &quot;ABC&quot;</code> などとやると、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">短縮参照区切り子</anchor>としてマッチするのは <code class="SGML">&quot;ABC&quot;</code> でなく <code class="SGML">&quot;A C&quot;</code> ということになるわけです。</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> <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">&quot;ABC&quot;</code> をマッチさせたい場合にはどうすればよいのでしょう。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字参照</anchor>で <code>SHORTREF SGMLREF &quot;A&amp;#66;C&quot;</code> などとしても意味がないわけですが…。</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="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NAMECASE</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GENERAL</anchor> YES</code>
のときは、 <samp class="SGML">&quot;AbC&quot;</samp> と指定すればよいのではないでしょうか。
<code class="SGML">NO</code> のときは・・・。
(<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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> ここでの <code class="SGML">B</code> 文字自体が<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:">NAMECASE</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">GENERAL</anchor> YES</code> の時は、<code class="SGML">SHORTREF SGMLREF &quot;AbC&quot;</code> = <code class="SGML">SHORTREF SGMLREF &quot;ABC&quot;</code> と解釈されて、やはり <code class="SGML">&quot;A C&quot;</code> などがマッチすることになります。(この場合は、小文字の b をマッチさせることも不可能な気が…)</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="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;5</anchor-internal> と書いたのは、 12.4.6.2 の <q>短縮参照区切り子の引数表記は、 B 列を 1 個含んでいてもよい。</q>
より、 <code class="SGML">B</code> が B 列であるかの判断は引数表記内の表記で決定されるのかもしれないと考えたからです。
但し、この解釈は <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal> の定義とややずれがあります。
この解釈だと他にもつじつまがあわないところが出てくるかもしれません。</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>
ところで、 12.4.6.2 には<q>短縮参照区切り子は、その引数表記を解釈して得た文字列を具象構文での短縮参照区切り子として割り当てる。</q>
とも書かれています。大文字化が行われるとは書いてありません。
<q>解釈</q>というのは参照の置換のことでしょう。
次の 12.4.7 <cite>予約名使用</cite> も同じで、大文字化するとは明記されていません。</p><p>12.4.5 <cite>命名方法</cite>には、<q><code class="SGML">NAMECASE</code>: 大文字への代替を行うかどうか指定する。<ins>(略)</ins> <code class="SGML">GENERAL</code> はその他の名前、名前字句、数字句及び区切り子に対する指定を行う。</q>
と書いてあります。この規定に従って同じ SGML 宣言内の区切り子の定義まで大文字化してしまってよいのかは、
よくわかりません。なお、 8.3 <cite>名前</cite>では、<code class="ABNF">名前</code>などが
<code class="SGML">NAMECASE</code> の影響を受けると明記されています。</p><p>ということは、区切り子は引数表記内で大文字で定義しないと、
<q><code class="SGML">GENERAL YES</code> と指定してある場合、区切り子機能に割り当ててある名前文字は、区切り子の認知に関する限り、その大文字に代替して扱う。</q>
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">JIS X 4151‐1992 8.6.6</src> ので、使えないことになります。
HTML 4 の SGML 宣言には <samp class="SGML">&quot;&amp;#x&quot;</samp> が出てきますが、
こちらは大文字化されないので、一致することはありません。</p><p>やっぱりこの解釈はいけません。</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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;9</anchor-internal> の 8.6.6 の引用部の<q>区切り子の認知に関する限り</q>から、
B 列であるかの判定では大文字化が行われないのでは、
という仮説も立ててみましたが、 8.6 は認知に関する規定ですし、
無理があるでしょうか。</p><p>結局、短縮参照区切り子に <code class="SGML">B</code> を含めるのは不可能?</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>
B 列は引数表記内に1つだけ書けて、他に制限が無いようなので、
<samp class="SGML">&quot;B,b&quot;</samp> は <code class="SGML">NAMECASE GENERAL YES</code> でも合法? (規格のバグだろうけど。)
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor>)</p></body></html>