Hallo,
ich wollte herausfinden, wie ich eine Variable mit einem Tree aus einem Template füllen und diesen danach ausgebe. Sofern ich eine Variable mit einem Tree ohne den Call auf eine Template fülle funktioniert das.
XSLT
XML
Kann mir jemand sagen wie ich beheben kann?
Vielen Dank schon mal und
viele Grüße
Markus Sticker
ich wollte herausfinden, wie ich eine Variable mit einem Tree aus einem Template füllen und diesen danach ausgebe. Sofern ich eine Variable mit einem Tree ohne den Call auf eine Template fülle funktioniert das.
XSLT
Code:
<?xml version="1.0"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:a="http://knlogin.kn.com/v_1_6/outgen" xmlns:saxon="http://saxon.sf.net/" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xalan="http://xml.apache.org/xalan" extension-element-prefixes="saxon" xmlns:exslt="http://exslt.org/common" exclude-result-prefixes="xalan a b exslt fn saxon" xmlns:b="http://somewhere.com/v_1_6/outgen"> <xsl:output method="xml"/> <xsl:template match="/"> <!-- this works fine - start --> <xsl:variable name="def" as="node()*"> <bo> <item>1</item> <boline>4</boline> <totals>6</totals> </bo> </xsl:variable> <!-- this works fine - end --> <!-- this is the part - start --> <xsl:variable name="headlines" as="node()*" > <xsl:call-template name="headlines"/> </xsl:variable> <doc> <xsl:value-of select="exslt:node-set($headlines)"/> </doc> </xsl:template> <xsl:template name="headlines" as="node()*"> <xsl:for-each select="b:doc/b:Headlines"> <field name="L_head"> <xsl:value-of select="."/> </field> </xsl:for-each> </xsl:template> <!-- this is the part - end --> </xsl:stylesheet>
Code:
<?xml version="1.0" encoding="UTF-8"?> <doc xmlns="http://somewhere.com/v_1_6/outgen"> <Headlines id="23467201">Dog bites man</Headlines> <Headlines id="23423441">Man bites dog</Headlines> </doc>
Vielen Dank schon mal und
viele Grüße
Markus Sticker
Comment