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


Jeni,

This is great! very cunning.

I also note your XPath to find the containing block is more efficient than 
mine (at least in that theoretically it is more amenable to optimization :-).

--Wendell

At 08:07 AM 7/17/01, you wrote:
>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>
>...


======================================================================
Wendell Piez                            mailto:wapiez@mulberrytech.com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


 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]