7.4.1 XMLドキュメントを入出力,更新する場合のメモリ所要量
XMLドキュメントを入出力,または更新する場合のメモリ所要量を求める概算式を次に示します。
上限値=DT+MA+(NS+2×(XC×2.6+MC×5))×1.2+MC+ML+UP
概算式で使用している変数について説明します。
(1) DT
文書型定義(DTD)がある場合に,このDTDの情報を保持するために必要なメモリ領域です。DTDがない場合には,この項の値は0としてください。
DTDの情報を保持するために必要なメモリ所要量の詳細は,「7.4.2 文書型定義(DTD)の情報を保持するためのメモリ所要量」を参照してください。
(3) NS
XMLドキュメントでの各構成要素の種類ごとのメモリ領域の累計です。
各構成要素の単価と構成要素数の積の総和になります。各構成要素の単価を次に示します。
構成要素 |
システム |
|
---|---|---|
Windows(x86),AIX(32),Linux(x86) |
Windows(x64),AIX(64),Linux(x64) |
|
要素※1 |
240 |
420 |
属性※2 |
160 |
1,190 |
連続するテキスト※3 |
60 |
90 |
CDATAセクション |
60 |
90 |
コメント |
60 |
90 |
エンティティ宣言※4 |
870 |
980 |
エンティティ参照※4 |
140 |
220 |
記法宣言 |
680 |
720 |
処理命令 |
60 |
80 |
文書型宣言※5 |
920 |
1,310 |
XMLドキュメント※6 |
260 |
520 |
(4) XC
XMLドキュメント内の文字数です。多バイト文字が混在している場合は,次の計算方式で算出してください。
- シフトJISまたは日本語EUCで多バイト文字が混在している場合
XC=XS×(100−DR/2)/100 (切り上げ)
各変数は,次のとおりです。
-
XS:XMLドキュメントのサイズ
-
DR:XMLドキュメントの多バイト文字の占有率(%)
-
- UTF-16でエンコードされたXMLドキュメントの場合
XC=XS/2 (切り上げ)
変数は,次のとおりです。
-
XS:XMLドキュメントのサイズ
-
- UTF-8でエンコードされたXMLドキュメントの場合
XC=XS×(100−DR2/2−2×DR3/3)/100 (切り上げ)
各変数は,次のとおりです。
-
XS:XMLドキュメントのサイズ
-
DR2:XMLドキュメントの2バイトコード占有率(%)
-
DR3:XMLドキュメントの3バイトコード占有率(%)
-
(5) MC
連続するテキストデータ(タグ間テキスト,CDATAセクション,およびコメントを含む)の最大文字数です。
文書系のXMLドキュメント※の場合,この値の影響を大きく受けます。
伝票系のXMLドキュメント※の場合,最大文字数がXMLドキュメント全体の文字数に比べて小さいので,ほとんどの場合でこの項の影響を受けません。
- 注※
-
文書系のXMLドキュメントとは,タグが少なくテキストデータの割合の大きいXMLドキュメントです。伝票系のXMLドキュメントとは,タグが多くタグ間テキストが短いXMLドキュメントです。
(6) ML
マッピングしたItem要素のタグ名を管理するメモリ領域です。次の計算方式で算出してください。
Σ(MNL×2+MPL)
各変数は,次のとおりです。
-
MNL:Item要素のタグ名の長さ
-
MPL:Item要素のBaseElement要素からのパス名の長さ
このパス名はBaseElement要素から子要素をたどって,Item要素に至るまでのタグ名をスラント(/)でつなげた文字列です。
Σはデータ定義ファイル(DDF)でマッピングしたすべてのItem要素の合計を示します。
(7) UP
XMLドキュメントを更新するときに,更新の情報などを保持するために必要なメモリ領域です。
XMLドキュメントを更新しない場合は,この項の値は0としてください。XMLドキュメントを更新のために必要なメモリ所要量の詳細は「7.4.3 XMLドキュメントを更新するためのメモリ所要量」を参照してください。