集約によるタグの階層があるXML文書を抽出する場合の例を、以下に示します。
結果表
結果表の1行の中から指定した列のデータを取り出し、“PERSON”タグの要素とし、次の行でも繰り返し同じ変換を行うようにします。また、A,B,C列で共通の値がある場合、集約してXML文書出力するパターンのマッピングルールを、以下に示します。
マッピングルール
<?xml version= "1.0"?> <MappingRule> <parentRule id="p1" tagname="PERSON" controller="KEY" controller-arg="c1,c2,c3"/> <columnRule id="c1" colname="A" tagname="NUM" parent="p1"/> <columnRule id="c2" colname="B" tagname="NAME" parent="p1"/> <columnRule id="c3" colname="C" tagname="JOB" parent="p1"/> <parentRule id="p2" tagname="DETAIL" parent="p1"/> <columnRule id="c4" colname="E" tagname="LOCNUM" parent="p2"/> <columnRule id="c5" colname="F" tagname="LOC" parent="p2"/> </MappingRule> |
上記マッピングルールから出力されるXML文書は、以下のようになります。