次に示すXMLドキュメントでの概算式の計算例を示します。ほかのプラットフォームの場合は,概算式に各単価を当てはめて算出してください。
このXMLドキュメントは,サイズが7,284バイトで,シフトJISの2バイトコードが4,000バイト(2,000文字)あります。2バイトコードの占有率が約55%となっています。
この例では,改行文字を「↓」と表記しています。
<?xml version="1.0" encoding="Shift_JIS"?>↓
<root>↓ …1
<e1>abcdefghij</e1>↓ …2
<e2>klmnopqrst<e3>uvw</e3>xyz</e2>↓ …3
<!--comment-->↓ …4
<e4></e4>↓ …5
<e5 a1="abc" a2=""/>↓ …6
<e5 a1="12345"/>↓ …7
<e5>↓
<?pi-target pi-data?>↓
<e6>xxxxxx ...(3000文字)... xxxxxx<e6/>↓
<e6>あああ ...(2000文字)... あああ<e6/>↓
</e5>↓
</root>
データ定義ファイル(DDF)はBaseElement要素をrootに対応づけし,e1をItem要素に対応づけします。
<?xml version="1.0" encoding="Shift_JIS"?>↓
<Interface interfaceName="EXAMPLE">↓
<BaseElement elemName="root" cobName="BE">↓
<Item elemName="e1" size="10"/>↓
</BaseElement>↓
</Interface>
このXMLドキュメントをXML連携機能で解析する場合のメモリ所要量の概算値は次のようになります。ここでは,PC(x86)の場合の例を示します。ほかのプラットフォームの場合は,それぞれの概算式に各単価を当てはめて算出してください。
上限値=DT+MA+(NS+2×(XC×2.6+MC×5))×1.2+MC+ML+UP
DT=0 …DTDがない場合,0バイト。
MA=220×1,024 …固定値(220キロバイト)
NS=240×10 …要素数=10(root,e1,e2,e3,e4,e5×3,e6×2)
+160×3 …属性数=3(a1×2,a2)
+60×21 …連続するテキストの数=21※
+60×1 …コメント数=1
+60×1 …処理命令数=1
+260 …XMLドキュメント
=4,520
XC=XS×(100-DR/2)/100
=7,284×(100-55/2)/100
≒5,281 …XMLドキュメントの文字数。
XMLドキュメントのサイズ7,284バイト,
2バイトコード占有率55%として換算。
MC=3,000 …最大長のテキストデータxxx...xxx(3,000文字)
ML=Σ(2×2+8) …DDFでBaseElement要素をrootに対応づけし,
=12 e1をItem要素に対応づけした場合,12バイト。
マッピングしたタグ名のサイズ(e1)=2
BaseElementからのパス名のサイズ(/root/e1)=8
UP=0 …更新しない場合,0バイト。