[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: how to "print" xsl:element result from inside a f
...Changed all xsl:value-of to xsl:sequence (also in the how I call the function) and also as="element()*" and it WORKS! Thanks, you have helped me a lot. I had hard times trying to figure out this myself, do you know any good web page/site with guides on XML and information alike (I mean st. like this list, mulberrytech.com, dpawson.co.uk, etc. )? -----Original Message----- From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx] Sent: 10. maja 2009 8:01 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: how to "print" xsl:element result from inside a function? On Sun, May 10, 2009 at 9:04 AM, Mtekel <thx@xxxxxxxxx> wrote: > <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. xsl:value-of prints the 'text nodes' and not elements as you want. I think, you must declare the function to return element()* and then do, xsl:sequence select="" instead of xs:value-of. -- Regards, Mukul Gandhi
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|