COBOL2002 XML連携機能ガイド

[目次][用語][索引][前へ][次へ]

7.4.1 XMLドキュメントを入出力,更新する場合のメモリ所要量

XMLドキュメントを入出力,または更新する場合のメモリ所要量を求める概算式を次に示します。

表7-10 XMLドキュメントを入出力,または更新時のメモリ所要量を求める概算式

システム 概算式
PC,AIX,Linux(x86),Linux(x64) 上限値=DT+MA+(NS+2×(XC×2.6+MC×5))×1.2+MC+ML+UP

概算式で使用している変数について説明します。

<この項の構成>
(1) DT
(2) MA
(3) NS
(4) XC
(5) MC
(6) ML
(7) UP

(1) DT

文書型定義(DTD)がある場合に,このDTDの情報を保持するために必要なメモリ領域です。DTDがない場合には,この項の値は0としてください。

DTDの情報を保持するために必要なメモリ所要量の詳細は,「7.4.2 文書型定義(DTD)の情報を保持するためのメモリ所要量」を参照してください。

(2) MA

XML連携機能内で使用する情報を管理するために必要なメモリ領域です。

この値は固定値で,次に示す値です。

表7-11 情報管理で使用するメモリ量

システム PC,AIX,Linux(x86),Linux(x64)
MA 220キロバイト

(3) NS

XMLドキュメントでの各構成要素の種類ごとのメモリ領域の累計です。

各構成要素の単価と構成要素数の積の総和になります。各構成要素の単価を次に示します。

表7-12 XMLドキュメントでの各構成要素の単価

構成要素 システム
PC(x86),AIX(32),Linux(x86) PC(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

注※1
タグ間のテキストや子要素は含みません。

注※2
属性値は含みません。

注※3
タグを間に含まない連続するテキストデータです。
タグの前後の改行や空白文字もテキストデータとして扱われることに注意してください。

注※4
エンティティの内容のテキストは含みません。

注※5
DTDの内容(要素型宣言やエンティティ宣言など)は含みません。

注※6
XMLドキュメント1つに対して1つ生成されます。XMLドキュメント内のDTD,タグ,およびテキストデータは含みません。

(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)

各変数は,次のとおりです。

Σはデータ定義ファイル(DDF)でマッピングしたすべてのItem要素の合計を示します。

(7) UP

XMLドキュメントを更新するときに,更新の情報などを保持するために必要なメモリ領域です。

XMLドキュメントを更新しない場合は,この項の値は0としてください。XMLドキュメントを更新のために必要なメモリ所要量の詳細は「7.4.3 XMLドキュメントを更新するためのメモリ所要量」を参照してください。