Using the XML Reader with featurepath has some limitations. Especially when the XML Schema allows optional data, featurepath will only produce attributes where tags are in your XML-data (it doesn't know the Schema at all). This means that your Workspace may not work correct, when you get next delivery with other optional data inside. A second annoying issue is, that the decision wether using a list for a specific attribute or using a single attribute cannot be influenced. Therefore i often had the problem to deal the same data as list-attribute an as non-list-attribute in one workspace. Enough reasons to look for another solution --> xfmap.
With the documentation and some easy tutorials I did my first steps. Most things work fine but I cannot figure out how to manage nested lists like in the follwing code:
<data>
<KG>
<KG001>1001</KG001>
<KG211>2</KG211>
<KG301>K</KG301>
<KG302>R</KG302>
<KG305>S</KG305>
<KG306>ZES</KG306>
<KG999/>
<GO>
<GO001>1001</GO001>
<GO002>D</GO002>
<GO003>Pkt</GO003>
<GO999/>
<GP>
<GP001>1001</GP001>
<GP002>UTM</GP002>
<GP003>527138.862</GP003>
<GP004>5736538.884</GP004>
<GP007>100</GP007>
<GP999/>
</GP>
</GO>
<GO>
<GO001>1001</GO001>
<GO002>B</GO002>
<GO003>Pkt</GO003>
<GO999/>
<GP>
<GP001>1001</GP001>
<GP002>UTM</GP002>
<GP003>527138.708</GP003>
<GP004>5736538.718</GP004>
<GP007>98</GP007>
<GP999>S</GP999>
</GP>
</GO>
<GO>
<GO001>1001</GO001>
<GO002>B</GO002>
<GO003>Kr</GO003>
<GO999/>
<GP>
<GP001>1001 1</GP001>
<GP002>UTM</GP002>
<GP003>527138.208</GP003>
<GP004>5736538.718</GP004>
<GP007/>
<GP999/>
</GP>
<GP>
<GP001>1001 2</GP001>
<GP002>UTM</GP002>
<GP003>527138.708</GP003>
<GP004>5736538.718</GP004>
<GP007/>
<GP999/>
</GP>
<GP>
<GP001>1001 3</GP001>
<GP002>UTM</GP002>
<GP003>527138.208</GP003>
<GP004>5736538.718</GP004>
<GP007/>
<GP999/>
</GP>
</GO>
</KG>
</data>
My goal is to produce a Array like GO().GP() .GP001 in the feature KG. Has anybody managed to solve something like this with xfmap? Many thanks in advance.