<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>SGML</h1><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>数 (number)</dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">10進数</anchor>だけからなる<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. (133))</dd></dl></blockquote><p>JIS の配列順によれば<q>すう</q>と読ませるようです。</p><ul><li><code class="ABNF"><dfn>数</dfn> := 1*<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DIGIT</anchor></code></li></ul><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> 数は、 SGML 的には単なる文字列です。従って、 <code class="SGML">1</code> と <code class="SGML">01</code> は等価では<strong>ありません</strong>。 (8.3 参照。)</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"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NAMELEN</anchor></code> 
以下でなければなりません。 (8.3.1 参照。)</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> 数は、 <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NAMECASE</anchor></code> 
引数の指定によっては対応する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大文字</anchor>に置換されます。
とわざわざ規格に書いてあるものの (8.3 参照)、
実際には全く影響はありません。
<code class="ABNF">数</code>に使うことのできるのは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文字種別</anchor> 
<code class="SGML">digit</code> だけで、これは 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML宣言</anchor>などで変更できないからです。</p><section><h1>属性型 <code class="SGML" xml:lang="en">NUMBER</code> (SGML)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</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> <dfn><code class="SGML" xml:lang="en">NUMBER</code></dfn> は、1つ<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="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <code class="SGML example">0001</code> のような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">先導零</anchor>も認められていますが、 <code class="SGML example">1</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="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</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:">NaN</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">無限大</anchor>などは表現できません。</p></section></section><section><h1>属性型 <code class="SGML" xml:lang="en">NUMBER</code>、<code class="XML">%Number;</code>、Number (HTML)</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1.0</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:">引数実体</anchor>
<dfn><code class="XML">%Number;</code></dfn> は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性</anchor>の型が
1つ以上の<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:">HTML 4</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DTD</anchor> で <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NUMBER</anchor></code>
が使われていたところで使われています。 <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NMTOKEN</anchor></code>
の方が近いのですが、 <code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</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> 仕様書:<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1.0</anchor><ul><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">A.1.1. XHTML-1.0-Strict</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.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-strict.dtd_Number">http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-strict.dtd_Number</anchor-external></li><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">A.1.2. XHTML-1.0-Transitional</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.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-transitional.dtd_Number">http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-transitional.dtd_Number</anchor-external></li><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">A.1.3. XHTML-1.0-Frameset</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.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-frameset.dtd_Number">http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-frameset.dtd_Number</anchor-external></li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML m12n</anchor><ul><li><csection xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">4.3. Attribute Types</csection>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="XHTML1m12n:&quot;abstraction.html#dt_Number&quot;">IW:XHTML1m12n:&quot;abstraction.html#dt_Number&quot;</anchor-external></li></ul></li></ul></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> <dl><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数実体名</anchor></dt><dd><code class="SGML">%Number</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1.0</anchor>)</dd><dt>抽象属性型名</dt><dd><code>Number</code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML m12n</anchor>)</dd><dt>属性型名</dt><dd><q>number</q> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>)</dd><dt><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></dt><dd><code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NUMBER</anchor></code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor>)</dd><dt><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></dt><dd><code class="XML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor></code> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1.0</anchor>)</dd><dt>大文字・小文字</dt><dd>無関係</dd></dl></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 xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor> の場合、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML宣言</anchor>より
<code class="SGML">NUMBER</code> 型属性値の最大長は
<code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NAMELEN</anchor></code> = 65536 になります。
(65536 桁で表せない数は指定できません。)
注釈に HTML UA は無制限にしろとかいてあります (が、 SGML 的に制限がある以上、強制ではありません)。</p><p>実際には HTML 属性値で 65536 桁以上もある数を指定する必要など到底ないでしょう。</p><p>それから、多くの UA は現実には <code class="math">2<sup>15</sup></code> とか <code class="math">2<sup>16</sup></code> とか <code class="math">2<sup>31</sup></code> とか <code class="math">2<sup>32</sup></code> とか以上の数は扱えない可能性が高いです。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名無しさん</anchor> <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2004-07-29 12:28:02 +00:00</weak>)</p></section></body></html>