Subject: RE: [xsl] Can I use a boolean variable in an xsl:if test From: "Andrew Welch" <ajwelch@xxxxxxxxxxxxxxx> Date: Wed, 9 Feb 2005 08:33:18 -0000 |
> beware though that that will get you burned again when you > start using XSLT2 scented water. > > xsl:value-of returns a text node with string value the string > value of the expression. This is subtly or not so subtly > different from a string. It doesn't make so much difference > in XSLT1 as the only way to carry strings around is to put > them in text nodes, but in xpath2 you can have sequences of > strings and sequences of text nodes (and sequences that > contain both strings and text nodes) the rules for the two > cases (and in particular whether spaces are automatically > inserted between adjacent > items) are different on the two cases. Yes, but I think the 2.0 way makes more sense. Just to make sure we are talking about the same thing (and to help cement my knowledge), consider: <root> <node>foo</node> <node>bar</node> </root> In 1.0: <xsl:template match="root"> <xsl:value-of select="node"/> </xsl:template> Returns: 'foo' Because in XSLT 1.0 'first item semantics' apply when a value-of is performed on a sequence. In 2.0 the same template would return: 'foo bar' That is, all items in the sequence with a single space as a seperator. In order to remove/control the space, we can use the @separator on value-of: <xsl:value-of select="node" separator=""/> Which would produce: 'foobar' For me, that's much more intuitive than just picking the first one. Another plus for 2.0 :) Of course, if there is another sequence related area to get burned on please post an example - it's good to know the gotchas up front. cheers andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Can I use a boolean varia, Andrew Welch | Thread | RE: [xsl] Can I use a boolean varia, Michael Kay |
[xsl] Finding sequences of same ele, Simon Kissane | Date | Re: [xsl] Finding sequences of same, Mukul Gandhi |
Month |