This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: : Re: complex XPATH test


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]