[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Removing elements based on contents


Subject: RE: [xsl] Removing elements based on contents
From: cknell@xxxxxxxxxx
Date: Sat, 24 Jun 2006 10:41:17 -0400

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@xxxxxxxxxx - email



-----Original Message-----
From:     Chad Chelius <cchelius@xxxxxxxxxxxxxxx>
Sent:     Sat, 24 Jun 2006 08:03:53 -0400
To:       xsl-list@xxxxxxxxxxxxxxxxxxxxxx
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?


Current Thread
Keywords