This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Output conditional on preceding nodes.
- From: "Michael Kay" <michael dot h dot kay at ntlworld dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Thu, 29 Nov 2001 17:28:23 -0000
- Subject: RE: [xsl] Output conditional on preceding nodes.
- Reply-to: xsl-list at lists dot mulberrytech dot com
> I'm trying to find a way of saying 'output the third
> paragraph after the
> heading containing the text "foo"' -- to no avail.
select="h1[.='foo']/following-sibling::p[3]"
Mike Kay
(with best wishes to friends at the ITCentre)
>
> If, for example, you have the input
>
> <h1>Best Section</h1>
> <p>Best Section - Paragraph One</p>
> <p>Best Section - Paragraph Two</p>
> <h1>Worst Section</h1>
> <p>Worst Section - Paragraph One</p>
> <p>Worst Section - Paragraph Two</p>
>
> and you want to output
>
> <p>Best Section - Paragraph Two</p>
>
> only - how would you do it? I have
>
> <xsl:template match="p">
> <xsl:if test="preceding::h1[text()='Best Section']
> and not(preceding::h1[text()!='Best Section'])">
> <xsl:apply-templates />
> </xsl:if>
> </xsl:template>
>
> which restricts it to the correct section, but how would I
> output only the
> second paragraph?
>
> Thanks
>
> Nick Delany
>
> ICL ITCentre
> South County Business Park, Leopardstown, Co. Dublin, Ireland
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list