xsl-list
[Top] [All Lists]

RE: Test for preceding-sibling and text

2004-11-10 10:09:54

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