RE: [xsl] Test for preceding-sibling and text

Subject: RE: [xsl] Test for preceding-sibling and text
From: "Andrew Welch" <ajwelch@xxxxxxxxxxxxxxx>
Date: Wed, 10 Nov 2004 17:09:54 -0000
> I have a template that croups consecutive elements of a
> certain type. The
> problem is that it also groups these elements if there is
> text between these
> elements. How do I avoid that?

[snip]

> I can see that I need to do something in this test
> "not(preceding-sibling::*[1][self::A])", but I do not know how.

Hi Ragulf,

How about:

 test="generate-id() = generate-id(preceding-sibling::*[local-name() =
local-name(current())][1]/following-sibling::*[1])"

Which should check that the current node is the element which
immediately follows the nearest preceding-sibling element with the same
local name.  As the check uses * it skips text only nodes.

cheers
andrew

Current Thread