This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: : Re: complex XPATH test
- To: Adam Van Den Hoven <Adam dot Hoven at bluezone dot net>
- Subject: Re: : Re: [xsl] complex XPATH test
- From: Jeni Tennison <mail at jenitennison dot com>
- Date: Tue, 17 Jul 2001 13:07:20 +0100
- CC: xsl-list at lists dot mulberrytech dot com, Wendell Piez <wapiez at mulberrytech dot com>
- Organization: Jeni Tennison Consulting Ltd
- References: <5.1.0.14.0.20010716190629.0271fbd0@earthlink.net>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi Adam,
A slightly different tack from Wendell's solution would be to work out
the containing block element, as he did, and then try to find out
whether the first text nodes following the br element has that same
block element as an ancestor:
<xsl:template match="br">
<!-- identify the containing block -->
<xsl:variable name="containing-block"
select="ancestor::*[self::p or self::li][1]" />
<!-- if the immediately following text node has an ancestor element
that is the $containing-block element, then the br is not
the last thing within the $containing-block element -->
<xsl:if test="following::text()[1]/ancestor::*
[generate-id() = generate-id($containing-block)]">
<br />
</xsl:if>
</xsl:template>
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list