Subject: RE: [xsl] Delete XML Node From: "Deepak Rao" <deepaksubs@xxxxxxxxxxx> Date: Thu, 31 Oct 2002 16:03:35 -0500 |
<Y> <Z></Z> <D></D> ...... </Y>
Thanks, Deepak
From: "KIENLE, STEVEN C [IT/0200]" <steven.c.kienle@xxxxxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: "'xsl-list@xxxxxxxxxxxxxxxxxxxxxx'" <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: RE: [xsl] Delete XML Node Date: Thu, 31 Oct 2002 14:27:42 -0500
Deepak,
In case what you really want to do is output Y if and only if it has a Z element node, the following transform will work:
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/X"> <X> <xsl:for-each select="A"> <A> <xsl:value-of select="."/> </A> </xsl:for-each> <xsl:for-each select="Y[Z]"> <Y> <xsl:for-each select="Z"> <Z> <xsl:value-of select="."/> </Z> </xsl:for-each> </Y> </xsl:for-each> </X> </xsl:template> </xsl:stylesheet>
This key is to use the XPath selection of "Y[Z]" which means all Y which have a Z element.
With the input XML of:
<X> <A>A</A> <Y></Y> </X>
The output will be:
<X> <A>A</A> </X>
With the input XML of:
<X> <A>A</A> <Y> <Z>B</Z> </Y> </X>
The output will be:
<X> <A>A</A> <Y> <Z>B</Z> </Y> </X>
I hope this may help.
Steve
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Delete XML Node, KIENLE, STEVEN C [IT | Thread | RE: [xsl] Delete XML Node, Wendell Piez |
[xsl] esql does not handle to_date , Ibeling, Narisa | Date | RE: [xsl] Delete XML Node, KIENLE, STEVEN C [IT |
Month |