Subject: Re: [xsl] xsl:sequence From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 9 Aug 2006 13:44:10 +0100 |
me> xsl:value-of returns the string value of an element, and that isn't me> obtainable from xsl:sequence (without doing a lot of work that the me> system has already done) > Do you mean that in "to/an/element/string()", hey that's cheating:-) That is exactly the same as value-of (except it returns a string rather than a text node) but wasn't what I meant here. As that is again just selecting the element and allowing the system to return its string value. I was comparing this with selecting to/an/element/text() or more generally to/an/element/node() which is what tom tom was suggesting to use in xsl:sequence. So here you just have sequence of child nodes. it is of course possible to recursively traverse this sequence until you get to the text node leaves, and then build up the string "by hand" but it's not often you want to do that. More often, if value-of doesn't give you what you want directly then you use apply-templates anyway, which is more flexible: <xsl:value-of select="p"/> on <p><i>This</i> is <b>bold</b> text</p> gives you a text node "This is bold text" which is fine but <xsl:value-of select="p"/> on <p>This<br/>is an image: <img alt="flower" src="flower.png"/></p> produces a text node "Thisis an image " which is less fine so it's better to go <xsl:apply-templates select="p"/> and have <xsl:template match="br"><xsl:text> </xsl:text></xsl:template> <xsl:template match="img">[<xsl:value-of select="@alt"/>]</xsl:template> then you get "This is an image: [flower]" David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xsl:sequence, Florent Georges | Thread | Re: [xsl] xsl:sequence, Florent Georges |
Re: [xsl] xsl:sequence, Florent Georges | Date | Re: [xsl] xsl:sequence, Florent Georges |
Month |