Use this template for <Story> to achieve what you want.
<xsl:template match="Story">
<xsl:choose>
<xsl:when test="text() = 'End Here'"></xsl:when>
<xsl:when test="following-sibling::Story[text() = 'End
Here']"></xsl:when>
<xsl:otherwise><xsl:copy-of select="." /></xsl:otherwise>
</xsl:choose>
</xsl:template>
--
Charles Knell
cknell(_at_)onebox(_dot_)com - email
-----Original Message-----
From: Chad Chelius <cchelius(_at_)agitraining(_dot_)com>
Sent: Sat, 24 Jun 2006 08:03:53 -0400
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Removing elements based on contents
I have an XML file that looks something like this:
<Root>
<Story>Content</Story>
<Story>More Content</Story>
<Story>End Here</Story>
<Story>Good stuff that I want</Story>
</Root>
My question is: Is there a way using XSLT to remove all elements up
to and including the one who's content contains <Story>End Here</
Story> and leave the rest intact? Basically everything from the top
of the XML file down to and including that tag is junk that I don't
want to include in the file but the rest of it I want to keep. I
don't think XSLT traverses I file in that way though. Does anyone
have any ideas?
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--