7.2.2 省略可能な選択要素

省略可能な選択要素は,次の設定でXMLドキュメントの出力時に削除できます。

DTDの条件設定方法
accessInfo="no"すべての選択要素にemptyValue値を設定する。
accessInfo="yes"すべての選択要素にCBLXML-FLAG-MISSINGを設定する。
(DTDの例)

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE root [
 <!ELEMENT root   (group1?)>
 <!ELEMENT group1 (item1 | item2)>
 <!ELEMENT item1  (#PCDATA)>
 <!ELEMENT item2  (#PCDATA)>
]>
<root/>

(DDFの例)

<?xml version="1.0" encoding="Shift_JIS"?>
<Interface interfaceName="EXAMPLE">
<BaseElement elemName="root">
 <Group elemName="root">
  <Group elemName="group1">
   <Item elemName="item1" size="10" emptyValue="A"/>
   <Item elemName="item2" size="10" emptyValue="B"/>
  </Group>
 </Group>
</BaseElement>
</Interface>

(生成されるCOBOLデータ項目)

01 root.
02 group1.
03 item1 PIC X(10).
03 item2 PIC X(10).

(COBOLプログラムのコーディング例)

      :
   MOVE 'A' TO item1.        …1.
   MOVE 'B' TO item2.        …2.
   CALL 'CBLXML-WR-EXAMPLE-root'
       USING XML-POINTER   root
       RETURNING CBLXML-RETURN-CODE.
     :

(説明)
  1. item1を出力しないようにemptyValue値を設定してください。
  2. item2を出力しないようにemptyValue値を設定してください。