[Home] [By Thread] [By Date] [Recent Entries]

Subject: Re: 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
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member