仕様書: JIS X 4151‐1992 8.8
[1] 文書の大きさ及び複雑さは、その文書の中の個々の対象について、 その容量点の合計が文書容量集合で許容する容量値以下でなければならないとされています。 JIS X 4151‐1992 8.8
※点は一単位。
最近のスクリプト言語とかならともかく、 昔からの言語とかでは、可変長の文字列を扱うのができないか、または難しいのが普通で、予めバッファの大きさを指定しておかないといけなかったわけです。 (C なんかはそうですね。) だからこういう制限があるのでしょう。
規格参照容量集合
ISO 8879-1986//CAPACITY Reference//EN
では、
すべての容量について値は 35000
です。
ちなみに XML では容量無制限になっています。
容量の名前 | 容量点 | 計算対象 |
ATTCAP | NAMELEN | 定義した属性 |
ATTCHCAP | 1 | 属性の既定値の文字 (見出し語を含まず。) |
AVGRPCAP | NAMELEN | 属性値としての名前群・名前字句群の中の字句 |
ELEMCAP | NAMELEN | 定義した要素 |
ENTCAP | NAMELEN | 定義した実体 |
ENCHCAP | 1 | 実体文の文字 |
EXGRPCAP | NAMELEN | 排除要素・添加要素のある群 |
EXNMCAP | NAMELEN | 排除要素・添加要素のある群の中の名前 |
GRPCAP | NAMELEN | 内容モデル内の内容字句 |
IDCAP | NAMELEN | 定義した識別子属性 |
IDREFCAP | NAMELEN | 定義した識別子参照属性 (既定値も含む。) |
LKNMCAP | NAMELEN | 連結型宣言・連結集合宣言の中の文書型・要素 |
LKSETCAP | NAMELEN | 定義した連結型・連結集合 |
MAPCAP | NAMELEN | 宣言した短縮参照対応表 |
NOTCAP | NAMELEN | 定義した記法 |
NOTCHCAP | 1 | 記法識別子の文字 |
TOTALCAP | (総和) | 容量点総和 |
実体を定義するとして、その最大数は、
ENTCAP
の値に制限されます。
他の値にも制限される可能性がありますが、ここでは無視します。
規格参照容量集合の場合、容量値は 35000
ですから、実体の最大数は 35000 ÷ 8 = 4675 (個) です。