Hallo,
ich hab ein Problem und weiss gerade einfach nicht mehr weiter.
Idee:
Ich möchte ein Teilkonstrukt eines XML-Baumes in einer Variable speichern.
Aus der Variable möchte ich mir später dann gewisse Daten herausholen.
Aktueller Code:
XML-Input-Datei
xslt-Datei:
Das Problem ist im letzten Abschnitt. Als Ergebnis erhalte ich:
Korrekt sollte es aber so sein: id-neu="1" und nicht leer
Ich nutze den Saxon PE 9.2.0.3
Vielleicht kann mir jemand helfen,
Vielen Dank
ich hab ein Problem und weiss gerade einfach nicht mehr weiter.
Idee:
Ich möchte ein Teilkonstrukt eines XML-Baumes in einer Variable speichern.
Aus der Variable möchte ich mir später dann gewisse Daten herausholen.
Aktueller Code:
XML-Input-Datei
Code:
<?xml version="1.0" encoding="UTF-8"?> <test> <service name="Service1" id="11" /> <service name="Service2" id="22"/> <service name="Service3" id="33"/> </test>
Code:
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns="test" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <xsl:variable name="test"> <Status> <xsl:for-each select="//service/@name"> <Service> <xsl:attribute name="name"> <xsl:value-of select="."/> </xsl:attribute> <xsl:attribute name="id"> <xsl:value-of select="position()"></xsl:value-of> </xsl:attribute> </Service> </xsl:for-each> </Status> </xsl:variable> <test> <!-- Test: output --> <xsl:copy-of select="$test"></xsl:copy-of> <!-- suche in der Variablen --> <xsl:variable name="search" select="'Service1'" /> <xsl:variable name="result"> <xsl:value-of select="$test/Status/Service[@name=$search]/@id"/> </xsl:variable> <id-result> <xsl:attribute name="Service" select="$search" /> <xsl:attribute name="id_neu" select="$result" /> <xsl:attribute name="debug" select="//service[@name=$search]/@id" /> </id-result> </test> </xsl:template> </xsl:stylesheet>
Code:
<id-result Service="Service1" id_neu="" debug="11"/>
Ich nutze den Saxon PE 9.2.0.3
Vielleicht kann mir jemand helfen,
Vielen Dank
Comment