Re: [xsl] Use of separator

Subject: Re: [xsl] Use of separator
From: "andrew welch" <andrew.j.welch@xxxxxxxxx>
Date: Mon, 7 Aug 2006 18:18:38 +0100
On 8/7/06, David Carlisle <davidc@xxxxxxxxx> wrote:

you didn't show your input so i'll have to guess,


if the doc is

<x>
 <a>one<!-- here -->two</a>
 <a>three</a>
 <a>four</a>
</x>

and the current node is x then

element()/text() will select four text nodes with values "one" "two"
      "three" "four"
so
      <xsl:value-of select="element()/text()" separator=", "/>
will generate one text node with value
"one, two, three, four"


* will select three element nodes, each with name a and with string values "onetwo" "three" "four" so

<xsl:value-of select="*" separator=", "/>
will generate one text node with string value
"onetwo", "three", "four"


> Now i wonder why the result of the first expression contains no > separator while the other one does. Any explanations? presumably it selected a sequence of length 1, but without seeing the input it's hard to say.

Isn't it that adjacent text nodes are being merged before the separator is applied?

Current Thread