COBOL2002 XML連携機能ガイド


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)の情報を保持するためのメモリ所要量」を参照してください。

(2) MA

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

この値は固定値で,220キロバイトです。

(3) NS

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

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

表7‒10 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

注※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ドキュメントを更新するためのメモリ所要量」を参照してください。