ページの先頭行へ戻る
Interstage Shunsaku Data Manager アプリケーション開発ガイド

L.1.3 columnRule


説明

列要素に関するルールを指定します。


書式


<columnRule id="属性値" { colname="属性値" | colno="属性値" }
 tagname="属性値" parent="属性値" hide="属性値" null="属性値"
 handler="属性値" handler-arg="属性値" />

注) colname属性またはcolno属性のどちらか一方を指定します。


属性

属性名

説明

省略

id

マッピングルール識別子(注1)を指定します。
id属性の指定は必須です。

不可

colname

columnRuleタグの要素として取り出したい結果表の列名を指定します(注2)。
colname属性またはcolno属性のどちらか一方を必ず指定してください。

条件により可

colno

columnRuleタグの要素として取り出したい結果表の列の番号を指定します。colno属性で指定した列から要素が取り出されます。番号は1から始まる整数です。
colname属性またはcolno属性のどちらか一方を必ず指定してください。

条件により可

tagname

columnRuleタグで変換するXMLのタグ名を指定します。
tagname属性を指定しない場合、結果表の列名がタグ名として使用されます(注2)。
tagname属性値に空文字("")を指定した場合、columnRuleタグの開始タグと終了タグは出力されません。

条件により可

parent

columnRuleタグの親タグとなるペアレントルールのマッピングルール識別子を指定します。parent属性の設定は必須です。
なお、parent属性で指定するマッピングルール識別子を持つparentRuleタグは、指定するcolumnRuleタグより前に設定する必要があります。

不可

hide

columnRuleタグに対応する要素をXML文書に出力したくない場合は、hide属性の値を“yes”に指定します。
columnRuleタグに対応する要素をXML文書に出力する場合は、hide属性の設定は不要です。

null

結果表の列の値がnullである場合の要素の出力形式を指定します。
以下のいずれかを指定することができます。

  • empty:
    カラム要素を空要素として出力します。

  • omit:
    カラム要素を省略します。

null属性を省略した場合、“empty”が指定されたとみなします。

handler

結果表の列に格納されているデータがバイナリデータの場合、データを文字コード変換して、XML文書に出力します。
結果表の列のデータがバイナリデータの場合、handler属性に“BINARYDATA”を指定します。handler-arg属性には、変換するデータ種別と文字コードを指定します。
結果表の列のデータがバイナリデータでない場合は、handler属性の設定は不要です。

handler-arg

handler属性に“BINARYDATA”を指定している場合に有効となる属性です。
バイナリデータから文字コード変換するデータ種別と結果表の列に格納されているデータの文字コードを指定します。
データ種別と文字コードは、カンマで区切って指定します。

  • データ種別
    データ種別は、文字コード変換する形式を指定します。データ種別には、以下のいずれかを指定できます。

    • TEXT:
      データをテキストデータとしてXML文書に出力する場合に指定します。
      実体参照(注3)の変換処理を行います。

    • XML:
      データをXMLデータとしてXML文書に出力する場合に指定します。
      実体参照の変換処理を行いません。
      “XML”を指定する場合は、結果表の列に格納されているデータは、XML文書でなければなりません。ただし、XML宣言、DOCTYPE宣言、DTDの記述を含むことはできません。

  • 文字コード
    文字コードにはJavaの文字コード名を指定します。handler-arg属性で指定した文字コード名は、文字コード名を必要とするJavaの各種メソッドに引数として渡されます。

handler-arg属性を指定しない場合、データ種別は“TEXT”、文字コードは“UTF-8”が指定されたとみなします。

注1) マッピングルール識別子は、ルールを識別するために使用する識別子です。この識別子は、1つのマッピングルールファイル内で一意である必要があります。

注2) CSVファイルからの変換の場合、CSVSourceクラスのsetFirstRecordToColumn()メソッドにより、1行目のデータを列名として扱うことができます。

注3) XML変換機能で使用できる実体参照を以下に示します。

実体参照

表す記号

&lt;

<

&gt;

>

&amp;

&

&apos;

'

&quot;

"


要素

ありません。


注意事項

以下の場合、1つのマッピングルールファイル内のcolumnRuleタグに、colname属性とcolno属性が同時に設定されているため、エラーとなります。


<columnRule id="c1" colname="A" tagname="NUM" parent="p1" />
<columnRule id="c2" colno="2" tagname="NAME" parent="p1" />

以下の場合、結果表の異なる列に対して、同じtagname属性値を指定しているためエラーとなりません。


<columnRule id="c1" colno="1" tagname="foo" parent="p1" />
<columnRule id="c2" colno="2" tagname="foo" parent="p1" />

例1

以下の場合、結果表の同じ列に対して同じtagname属性値を指定しているためエラーとなります。


<columnRule id="c1" colno="1" tagname="foo" parent="p1" />
<columnRule id="c2" colno="1" tagname="foo" parent="p1" />

例2

以下の場合、結果表の同じ列に対して異なるtagname属性値を指定しているためエラーとなりません。


<columnRule id="c1" colno="1" tagname="foo" parent="p1" />
<columnRule id="c2" colno="1" tagname="var" parent="p1" />