Hallo zusammen,
ich versuche mit XSLT eine XML-Datei in ein anderes Format zu bringen. Die Ausgangsdatei hat folgendes aussehen:
Und so soll sie später aussehen:
Eigentlich nicht schwer, dachte ich. Aber vielleicht ist mein Ansatz auch falsch. Auszug aus meinem Code:
Ich dachte, dass es wie in dem kommentierten Teil gehen müsste. Es kommt aber ein Fehler vom XSLT-Prozessor.
Hat jemand eine Idee?
Grüße aus FFM
emka
ich versuche mit XSLT eine XML-Datei in ein anderes Format zu bringen. Die Ausgangsdatei hat folgendes aussehen:
Code:
<csvimport> <row> <Begriffsid>100</Begriffsid> <Benennung>Emil</Benennung> <Status>vater</Status> </row> <row> <Begriffsid>101</Begriffsid> <Benennung>Max</Benennung> <Status>vater</Status> </row> <row> <Begriffsid>100</Begriffsid> <Benennung>Frank</Benennung> <Status>sohn</Status> </row> <row> <Begriffsid>100</Begriffsid> <Benennung>Martin</Benennung> <Status>sohn</Status> </row> <row> <Begriffsid>101</Begriffsid> <Benennung>Thomas</Benennung> <Status>sohn</Status> </row> <row> <Begriffsid>101</Begriffsid> <Benennung>Anke</Benennung> <Status>tochter</Status> </row> </csvimport>
Code:
<documents> <document> <Begriffsid>100</Begriffsid> <Benennung>Emil</Benennung> <kinder>Frank, Martin</kinder> </document> <document> <Begriffsid>101</Begriffsid> <Benennung>Emil</Benennung> <kinder>Thomas, Anke</kinder> </document> </documents>
Code:
<xsl:for-each select="/csvimport/row"> <xsl:if test="Status='vater'"> <xsl:variable name="grad"> <xsl:copy-of select="Begriffsid"/> </xsl:variable> ... <element name="begriffsid"> <value> <xsl:value-of select="$grad"/> </value> </element> <!-- <xsl:for-each select="/csvimport/row/Begriffsid=$grad"> <element name="kinder"> <value> <xsl:value-of select="Benennung"/> </value> </element> </xsl:for-each> --> ... </xsl:if> </xsl:for-each>
Hat jemand eine Idee?
Grüße aus FFM
emka
Comment