• 検索結果がありません。

AttrItem 要素

ドキュメント内 COBOL2002 XML連携機能ガイド (ページ 80-86)

2.3  データ定義言語(DDL)の文法

2.3.6  AttrItem 要素

AttrItem 要素は,XML 要素の属性を COBOL データ項目に対応づけます。

AttrItem 要素は,要素内容が EMPTY と宣言された要素に対しても指定できます。要素内容が EMPTY で ある要素に対して指定した場合,属性に対するデータ項目だけが生成されます。

形式

<AttrItem elemName="XML の要素名"

attrName="属性名"

〔cobName="AttrItem 要素に対応する名称"〕

〔type="type 属性値"〕

〔size="けた数"〕

〔fractionalDigits="けた数"〕

〔emptyValue="type 属性値に対応した COBOL の定数"〕

〔sign="符号種別"〕

〔trim="データ項目の整形の有無"〕

〔nameOfFlagVar="アクセス情報フラグの名称"〕

〔nameOfLengthVar="データ長の名称"〕

〔emptyContentValue="type 属性値に対応した COBOL の定数"〕

〔invalidCharValue="type 属性値に対応した COBOL の定数"〕

〔overflowValue="type 属性値に対応した COBOL の定数"〕

/>

規則

• DTD の属性に指定されたデフォルト値より小さい値を AttrItem 要素の size 属性に指定した場合,

COBOL 原始プログラムの生成時にエラーとなります。

• DTD の属性に指定できるデフォルト値の最大値は,英数字項目および日本語項目の場合は 160 文 字,数字項目の場合は 18 けた(符号,小数点は含まない)です。最大値を超える値を指定した場 合,COBOL 原始プログラムの生成時にエラーとなります。

指定例

(DTD の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<!DOCTYPE table [

<!ELEMENT table (sale)*>

<!ELEMENT sale (brand, style)>

<!ATTLIST sale color (black | white | brown) #REQUIRED >

<!ATTLIST style age (child | adult) #REQUIRED >

<!ELEMENT brand (#PCDATA)>

<!ELEMENT style (#PCDATA)>

]>

(DDF の例)

<?xml version="1.0" encoding="Shift_JIS"?>

<Interface interfaceName="EXAMPLE">

<BaseElement elemName="sale">

<Group elemName="sale">

<AttrItem elemName="sale" attrName="color"

cobName="colorname" type="alphanumeric"

size="10"/>

<Item elemName="style" size="100"/>

<AttrItem elemName="style" attrName="age"

type="alphanumeric" size="5"/>

</Group>

</BaseElement>

</Interface>

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

01 sale.

02 colorname PIC X(10).

02 style PIC X(100).

02 style-age PIC X(5).

(1) elemName 属性

形式

elemName="XML の要素名"

機能

AttrItem 要素で対応づける属性が関連づけられている XML 要素の名称を指定します。

elemName 属性の規則,指定例については,「2.3.4(1) elemName 属性」を参照してください。

(2) attrName 属性

形式

attrName="属性名"

機能

AttrItem 要素で対応づける XML 要素の属性の名称を指定します。

規則

• AttrItem 要素に指定する属性の名称は,elemName 属性で指定した要素の属性として DTD 内で宣 言されている必要があります。

• cobName 属性を省略した場合,elemName 属性の値と attrName 属性の値を'-'(ハイフン)でつ ないだ名称が COBOL データ項目名になります。

elemName 属性値の長さと attrName 属性値の長さの合計は 29 文字以下でなければなりません。

(3) cobName 属性

形式

cobName="COBOL データ項目名"

機能

attrName 属性の値の代わりに COBOL データ項目の名称を指定します。attrName 属性に指定する XML 要素の名称が,COBOL データ項目名に使用できない場合などに指定します。

規則

二つ以上の異なる属性を,同じ COBOL データ項目に対応づけられません。

cobName 属性の指定例については,「2.3.4(2) cobName 属性」を参照してください。

(4) type 属性

形式

type="type 属性値"

機能

AttrItem 要素に対応する COBOL データ項目の形式を指定します。

type 属性に指定できる値と,type 属性の値に対応する COBOL データ項目を表 2-11 に示します。

表 2‒11 type 属性に指定できる値

type 属性の値 COBOL データ項目

alphanumeric 英数字項目

national 日本語項目

numeric 数字項目(外部 10 進形式)

規則

• type 属性を省略した場合,type="alphanumeric"が仮定されます。

• type 属性に表 2-11 に示した type 属性値以外を指定した場合,COBOL 原始プログラムの生成時 にエラーとなります。

type 属性の指定例については,「2.3.4(3) type 属性」を参照してください。

(5) その他の属性

次に示す属性の形式,機能,規則,指定例については,「2.3.4 Item 要素(要素の対応づけの定義)」を参 照してください。ただし,Item 要素と記載されている部分は AttrItem 要素と読み替えてください。

• size 属性

• fractionalDigits 属性

• emptyValue 属性

• sign 属性

• trim 属性

• nameOfFlagVar 属性

• nameOfLengthVar 属性

• emptyContentValue 属性

• invalidCharValue 属性

• overflowValue 属性

3 入出力データ情報定義機能

入出力データ情報定義機能を使用すると,XML データの入出力状態を取得ま たは定義できます。

この章では,入出力データ情報定義機能と DDL 要素について説明します。

ドキュメント内 COBOL2002 XML連携機能ガイド (ページ 80-86)