Subject: Re: [xsl] A sequence of more than one item is not allowed as the value of item From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 1 Jun 2005 17:41:30 +0100 |
> I'd have to read the spec in particular, reading http://www.w3.org/TR/xslt20/#constructing-simple-content reveals the answer. <xsl:variable name="foo" as="item()*"> <xsl:text/>abc<xsl:sequence select="'def'"/> </xsl:variable> $foo is a sequence of length three. An empty text node a text node with string value "abc" and a string "def" <xsl:variable name="foo2" as="item()*"> <xsl:text/>abc<xsl:value-of select="'def'"/> </xsl:variable> $foo2 is a sequence of length three. An empty text node a text node with string value "abc" and a text node with string value "def" So what happens when you do <xsl:value-of select="$foo" separator=","/> <xsl:value-of select="$foo2" separator=","/> Well the 6 stages in the above referenced section get applied. stage 1 is dicarding zero length text nodes so now $foo is a text node with string value "abc" and a string "def" and $foo2 is a text node with string value "abc" and a text node with string value "def" stage 2 is merging adjacent text nodes so now $foo is a text node with string value "abc" and a string "def" and $foo2 is a text node with string value "abcdef" stage 3 converts from nodes to atomic values so now $foo is a string "abc" and a string "def" and $foo2 is a string "abcdef" stage 5 is concatenating all the sequence together, inserting the separator if one is supplied or a space if not, so now $foo is a string"abc,def" and $foo2 is a string"abcdef" Voila.... David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] A sequence of more than o, David Carlisle | Thread | RE: [xsl] A sequence of more than o, Andrew Welch |
Re: [xsl] Scope of document() in XS, Victor | Date | Re: [xsl] Scope of document() in XS, David Carlisle |
Month |