[xsl] Delete XML Node

Subject: [xsl] Delete XML Node
From: "Deepak Rao" <deepaksubs@xxxxxxxxxxx>
Date: Thu, 31 Oct 2002 13:13:03 -0500
Hi,

I am converting XML to XML using XSL. I am facing a problem as mentioned below. Can anyone pl help with writing a correct XSL for solving the problem.

Thanks,
Deepak

For e.g.

The Schema
----------
<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>

<xsd:element name='A' type='xsd:string'>
</xsd:element>

<xsd:element name='Z'>
 <xsd:complexType/>
</xsd:element>

<xsd:element name='Y'>
 <xsd:complexType>
  <xsd:sequence>
   <xsd:element ref='Z'/>
  </xsd:sequence>
 </xsd:complexType>
</xsd:element>

<xsd:element name='X'>
 <xsd:complexType>
  <xsd:sequence>
   <xsd:element ref='A'/>
   <xsd:element ref='Y'/>
  </xsd:sequence>
 </xsd:complexType>
</xsd:element>
</xsd:schema>

The input XML
-------------
<X>
   <A>A</A>
   <Y></Y>
</X>

The XSL
-------
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:template match="/">
<X>
<xsl:for-each select="X/A">
<A>
<xsl:value-of select="."/>
</A>
</xsl:for-each>
<Y>
<xsl:for-each select="X/Y/Z">
<Z>
<xsl:value-of select="."/>
</Z>
</xsl:for-each>
</Y>
</X>
</xsl:template>
</xsl:stylesheet>


The output is
-------------
<?xml version='1.0' ?>
<X>
<A>A</A>
<Y/>
</X>

But I desire the output
-----------------------
<?xml version='1.0' ?>
<X>
<A>A</A>
</X>

_________________________________________________________________
Get a speedy connection with MSN Broadband.  Join now! http://resourcecenter.msn.com/access/plans/freeactivation.asp



XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread