Subject: RE: [xsl] how to "print" xsl:element result from inside a function? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sun, 10 May 2009 09:14:04 +0100 |
xsl:value-of creates a text node. You want xsl:copy-of or xsl:sequence (in most cases, either will do). Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > -----Original Message----- > From: Mtekel [mailto:thx@xxxxxxxxx] > Sent: 10 May 2009 04:35 > To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] how to "print" xsl:element result from inside > a function? > Importance: High > > Hello, > > I have a question concerning getting the output from the > recursively called functions. > > In short, I have code: > > <xsl:function name="F:TagIT" as="xs:string"> > <xsl:param name="TAG"/> > <xsl:element name="{$TAG}">MISSING!</xsl:element> > </xsl:function> > > <xsl:function name="F:AddMissing" > > <xsl:param name="List" /> > <xsl:if test="not(empty($List))"> > <xsl:variable name="TAG" > select="subsequence($List,1,1)"/> > > <xsl:value-of select="F:TagIT($TAG)"/> > > <xsl:value-of select="F:AddMissing(remove($List,1))"/> > </xsl:if> > </xsl:function> > > And then later I call the function by: > > <xsl:value-of select="F:AddMissing(('Test1','t2','tst3'))"/> > > It will print MISSING!MISSING!MISSING! - but without the XML > tags generated by xsl:element. > > When I debug the program in Altova XML spy and go step by > step, I can see that the correct tag is generated in F:TagIT, > but then as the recursion goes on, it is lost - it seems to > me like if the output of the function was lost... however the > word MISSING is printed without problems... > > Do you know how to solve this? > > Any advice appreciaded. > > Thx in advance.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] how to "print" xsl:elemen, Mukul Gandhi | Thread | [xsl] how to do set operations (int, Mtekel |
Re: [xsl] how to "print" xsl:elemen, Mukul Gandhi | Date | RE: [xsl] How to use following-sibl, Michael Kay |
Month |