Subject: RE: A sequence of more than one item is not allowed as the value of item
From: "Andrew Welch" <ajwelch@xxxxxxxxxxxxxxx>
Date: Wed, 1 Jun 2005 13:34:42 +0100
|
> <xsl:template match="/">
> <xsl:variable name="foo" as="item()*">
> <xsl:text/>abc<xsl:sequence select="'def'"/>
> </xsl:variable>
>
> By default spaces will be inserted when you value-of this but
> you can do
>
> <xsl:value-of select="$foo" separator=""/>
>
> to get abcdef
Thanks for all the info, it certainly forces you to really understand
what's going on.
However, if I use item()+ instead of xs:string+:
<xsl:variable name="foo" as="item()+">
<xsl:text/>abc<xsl:value-of select="'def'"/>
</xsl:variable>
<xsl:value-of select="$foo"/>
I get 'abcdef' - there's apparently no need for separator="" (it gets
ignored, as separator=" " also has no effect).
In fact, using text()+ or node()+ also ignore the separator attribute.
Is this the expected behaviour?
cheers
andrew
|