RE: [xsl] A sequence of more than one item is not allowed as the value of item

Subject: RE: [xsl] 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

Current Thread