RE: [xsl] Matching two consecutive <br><br>

Subject: RE: [xsl] Matching two consecutive <br><br>
From: "Michael Kay" <mhk@xxxxxxxxx>
Date: Mon, 23 Aug 2004 10:47:10 +0100
> don't use name() in these kinds of tests:
> name(following-sibling::node()[1])='br'
> use
> following-sibling::node()[1][self::br]
> 
> > But this does not work for Xalan 2. 
> 
> looks correct to me, when you say it didn't work, what did it 
> do? error? wrong answer?

My guess is that there was a whitespace text node between the two <BR/>
elements, which MSXML silently ignored. You can replicate this behavior in a
conformant XSLT processor using <xsl:strip-space elements="*"/>, but you
probably don't want to, because it will also strip the space in

<p><b>Reason:</b> <i>not applicable</i></p>

Safer is to refine the test to be:

following-sibling::node()[not(self::text()[not(normalize-space(.))][1][self:
:br]

Michael Kay

Current Thread