Subject: Re: [xsl] xpath - how to return all nodes but the node matching a value in an arbitrary tree? From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> Date: Sat, 04 May 2002 22:54:21 -0400 |
In order to "delete" a node, I'm trying to write an xpath that, when given an id, will return the entire tree with the exception of the matching node for the id.
t:\ftemp>type scott.xml <category id="5">music <category id="6">blues <artist id="7">bb king</artist> <artist id="8">lightnin hopkins</artist> </category> <category id="6">jazz <category id="11">bebop <artist id="12">charlie parker</artist> </category> <artist id="9">miles davis</artist> <artist id="10">john coltrane</artist> </category> </category>
t:\ftemp>type scott.xsl <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="xml" indent="yes" omit-xml-declaration="yes" cdata-section-elements="category artist" /> <xsl:param name="delete_id"/> <xsl:template match="/|*|text()|processing-instruction()|comment()" name="copy-me"> <xsl:copy><!--copy all elements if this were the only rule--> <xsl:copy-of select="@*"/> <xsl:apply-templates select="node()"/> </xsl:copy> </xsl:template> <xsl:template match="artist"> <xsl:if test="@id != $delete_id"> <xsl:call-template name="copy-me"/> </xsl:if> </xsl:template> </xsl:stylesheet>
t:\ftemp>saxon scott.xml scott.xsl delete_id="7" <category id="5"><![CDATA[music ]]><category id="6"><![CDATA[blues
]]><artist id="8"><![CDATA[lightnin hopkins]]></artist><![CDATA[ ]]></category><![CDATA[ ]]><category id="6"><![CDATA[jazz ]]><category id="11"><![CDATA[bebop ]]><artist id="12"><![CDATA[charlie parker]]></artist><![CDATA[ ]]></category><![CDATA[ ]]><artist id="9"><![CDATA[miles davis]]></artist><![CDATA[ ]]><artist id="10"><![CDATA[john coltrane]]></artist><![CDATA[ ]]></category><![CDATA[ ]]></category> t:\ftemp>
-- Upcoming: 3-days XSLT/XPath and/or 2-days XSLFO: June 17-21, 2002 - : 3-days XML Information Modeling: July 31-August 2, 2002
G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (Fax:-0995) ISBN 0-13-065196-6 Definitive XSLT and XPath ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath ISBN 1-894049-07-1 Practical Formatting Using XSLFO XSL/XML/DSSSL/SGML/OmniMark services, books(electronic, printed), articles, training(instructor-live,Internet-live,web/CD,licensed) Next public training: 2002-05-06,07,09,10,13,15,20, - 06-04,07,10,11,13,14,17,20,07-31,08-05,27,30
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] xpath - how to return all, Jeni Tennison | Thread | Re: [xsl] data translation => desce, Joerg Heinicke |
RE: [xsl] Namespaces in XSLT, Evan Lenz | Date | [xsl] Re: Finding the lowest 'price, Dimitre Novatchev |
Month |