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