説明
列の値をXML文書の属性として変換する場合のルールを指定します。
書式
<attributeRule id="属性値" { colname="属性値"| colno="属性値" } attrname="属性値" attrof="属性値" null="属性値" handler="属性値" handler-arg="属性値" /> |
注) colname属性とcolno属性は、どちらか一方を指定します。
属性
属性名 | 説明 | 省略 |
---|---|---|
id | マッピングルール識別子(注1)を指定します。 | 不可 |
colname | attributeRuleタグの要素として取り出したい結果表の列名を指定します。 | 条件により可 |
colno | attributeRuleタグの要素として取り出したい結果表の列の番号を指定します。 | 条件により可 |
attrname | attributeRuleタグの属性名を指定します。attrname属性値を指定しない場合、属性値には結果表の列名が設定されます(注2)。 | 不可 |
attrof | attributeRuleタグを指定するカラムルールのマッピングルール識別子を指定します。 | 不可 |
null | 列の値がnullである場合の属性の出力形式を指定します。
null属性を指定しない場合は、“empty”が指定されたとみなします。 | 可 |
handler | 結果表の列に格納されているデータがバイナリデータの場合、データを文字コード変換して、XML文書として出力します。 | 可 |
handler-arg | handler属性に“BINARYDATA”を指定している場合に有効となる属性です。
handler-arg属性を指定しない場合、データ種別は“TEXT”、文字コードは“UTF-8”が指定されたとみなします。 | 可 |
注1) マッピングルール識別子は、ルールを識別するために使用する識別子です。この識別子は、1つのマッピングルールファイル内で一意である必要があります。
注2) CSVファイルからの変換の場合、CSVSourceクラスのsetFirstRecordToColumn()メソッドにより、1行目のデータを列名として扱うことができます。
注3) XML変換機能で使用できる実体参照を以下に示します。
実体参照 | 表す記号 |
---|---|
< | < |
> | > |
& | & |
' | ' |
" | " |
要素
ありません。
注意事項
属性の値は、データの検索対象となりません。
attributeRuleタグのcolname属性とcolno属性は、1つのマッピングルールファイル内に同時に指定することはできません。同時に指定した場合は、エラーとなります。
例
以下の場合、attributeRuleタグのcolname属性とcolno属性が、1つのマッピングルールファイル内に同時に指定されているため、エラーとなります。
<attributeRule id="a1" colname="B" attrname="NUM" attrof="c1" /> <attributeRule id="a2" colno="3" attrname="NAME" attrof="c1" /> |
1つのマッピングルールファイル内に、colname属性またはcolno属性を同時に指定することはできません。同時に指定した場合は、エラーとなります。
例
以下の場合、1つのマッピングルールファイル内に、colname属性とcolno属性が同時に指定されているため、エラーとなります。
<columnRule id="c1" colname="A" tagname="NAME" parent="p1" /> <attributeRule id="a1" colno="2" attrname="NUM" attrof="c1" /> <attributeRule id="a2" colno="3" attrname="NAME" attrof="c1" /> |
attrof属性で指定するカラムルールのマッピング識別子は、同じマッピングルールファイル内で事前に記述する必要があります。
同一のカラムルールに対する属性ルールの属性名は、同じ属性名を指定することはできません。指定した場合、エラーとなります。
例
以下の場合、同一のカラムルールに対する属性ルールの属性名に、同じ属性名が指定されているため、エラーとなります。
<columnRule id="c1" colname="B" tagname="NAME" parent="p1" /> <attributeRule id="a1" colname="A" attrname="foo" attrof="c1" /> <attributeRule id="a2" colname="C" attrname="foo" attrof="c1" /> |