%Number;

数 (SGML)

SGML

[1]

数 (number)
10進数だけからなる名前字句。 (JIS X 4151‐1992 3. (133))

JIS の配列順によればすうと読ませるようです。

[2] 数は、 SGML 的には単なる文字列です。従って、 101 は等価ではありません。 (8.3 参照。)

[3] 数は名前字句であり、その長さは NAMELEN 以下でなければなりません。 (8.3.1 参照。)

[4] 数は、 NAMECASE 引数の指定によっては対応する大文字に置換されます。 とわざわざ規格に書いてあるものの (8.3 参照)、 実際には全く影響はありません。 に使うことのできるのは文字種別 digit だけで、これは SGML宣言などで変更できないからです。

属性型 NUMBER (SGML)

[33] SGML属性型 NUMBER は、1つ以上数字を表します。

[34] 0001 のような先導零も認められていますが、 1 のような先導零がないものと同じ値であるという規定は特になされていません。

[35] の値、小数NaN無限大などは表現できません。

属性型 NUMBER%Number;、Number (HTML)

[5] XHTML 1.0DTD で使われている引数実体 %Number; は、属性の型が 1つ以上の数字であることを表します。

この属性型は HTML 4 DTDNUMBER が使われていたところで使われています。 NMTOKEN の方が近いのですが、 CDATA として定義されています。

[6] 仕様書:

[7]

引数実体名
%Number (XHTML 1.0)
抽象属性型名
Number (XHTML m12n)
属性型名
number (HTML 4)
SGML 属性型
NUMBER (HTML 4)
XML 属性型
CDATA (XHTML 1.0)
大文字・小文字
無関係

[8] HTML 4 の場合、 SGML宣言より NUMBER 型属性値の最大長は NAMELEN = 65536 になります。 (65536 桁で表せない数は指定できません。) 注釈に HTML UA は無制限にしろとかいてあります (が、 SGML 的に制限がある以上、強制ではありません)。

実際には HTML 属性値で 65536 桁以上もある数を指定する必要など到底ないでしょう。

それから、多くの UA は現実には 215 とか 216 とか 231 とか 232 とか以上の数は扱えない可能性が高いです。 (名無しさん 2004-07-29 12:28:02 +00:00)