This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Output conditional on preceding nodes.
- From: Wendell Piez <wapiez at mulberrytech dot com>
- To: xsl-list at lists dot mulberrytech dot com
- Date: Fri, 07 Dec 2001 14:25:08 -0500
- Subject: RE: [xsl] Output conditional on preceding nodes.
- Reply-to: xsl-list at lists dot mulberrytech dot com
Nick,
At 11:51 AM 12/7/01, you wrote:
>I have been given help by this list in choosing the third paragraph
>following a header with text 'foo'. What I'm doing is something like
>
><xsl:template match="h1[. = 'foo']">
> <xsl:if test="./following::p[3]">
> <xsl:copy-of select="./following::p[3]"/>
> </xsl:if>
></xsl:template>
Just
<xsl:template match="h1[. = 'foo']">
<xsl:copy-of select="following::p[3]"/>
</xsl:template>
has the same effect, since the node won't be copied if it doesn't exist. :-)
>BUT! I need an exclude version of this. i.e. If I want everything EXCEPT
>the third paragraph, how do I do this?
select="following::p(not(position()=3))"
>(Why do I feel like I'm using this technology in ways it wasn't meant to be
>used?)
Dunno. It was meant to be used like this! (although one could quibble about
an XML design in which the position of nodes among their siblings is this
important ... first and last are often special, but third? :-)
Cheers,
Wendell
======================================================================
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