Subject: Re: [xsl] XSLT 2.0: When to use xsl:sequence, when to use xsl:value-of, and why? From: Florent Georges <darkman_spam@xxxxxxxx> Date: Sat, 16 Jun 2007 22:55:24 +0200 (CEST) |
"M. David Peterson" wrote: Hi > I guess more of what I was asking was along the lines of > given two scenarios where, as far as a human is concerned, > the output is the same, would it be preferable to use > xsl:sequence or xsl:value-of? For example, > <xsl:template match="/"> > <xsl:sequence select="$elem/text()" /> > </xsl:template> > <xsl:template match="/"> > <xsl:value-of select="$elem/text()" /> > </xsl:template> > will both produce 'foo' in the final serialized output. > In this regard, is there a reason why one might use > xsl:sequence over xsl:value-of or vice-versa? Well, in this particular example, that doesn't change a lot. But there are cases where the generated content will not be the same, depending on the content of the sequence itself. Read through the '5.7 "Sequence Constructors", this is very useful, interesting and well, required to write XSLT ;-) For an example: <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output indent="yes" omit-xml-declaration="yes"/> <xsl:variable name="v" as="element()+"> <elem>1</elem> </xsl:variable> <xsl:variable name="s" select=" $v/text(), 'a', $v/text()"/> <xsl:template match="/"> <sequence> <xsl:sequence select="$s"/> </sequence> <value-of> <xsl:value-of select="$s"/> </value-of> </xsl:template> </xsl:transform> should produce: <sequence>1a1</sequence> <value-of>1 a 1</value-of> I say "should" because I've really evaluated the example with Saxon and got instead: <sequence>1a1</sequence> <value-of>1 a1</value-of> So I reread '5.7.2 and I can't understand how this result is build. Seems like a bug to me, while it would be very surprising to still find this kind of bug in Saxon. Michael? Regards, --drkm _____________________________________________________________________________ Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSLT 2.0: When to use xsl, M. David Peterson | Thread | Re: [xsl] XSLT 2.0: When to use xsl, M. David Peterson |
Re: [xsl] XSLT 2.0: When to use xsl, M. David Peterson | Date | Re: [xsl] XSLT 2.0: When to use xsl, M. David Peterson |
Month |