xsl-list
[Top] [All Lists]

Re: [xsl] xml elements as output after xslt parsing

2010-10-11 03:27:15
Thank you for the explanation. But I also want to print  <newCD>. With the 
change " <xsl:copy-of select="*"/>" I don't see any output.

Input:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<catalog>
    <cd>
        <title>Empire Burlesque</title>

    </cd>
</catalog>

XSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:template match="/">
  <xsl:apply-templates/>  
</xsl:template>

<xsl:template match="cd">
  <newCD>
    <xsl:copy-of select="*"/>
  </newCD>
</xsl:template>
</xsl:stylesheet>

Needed Output:
<newCD>
    <title>Empire Burlesque</title>
</newCD>






----- Original Message ----
From: Lars Huttar <lars_huttar(_at_)sil(_dot_)org>
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Cc: sudheshna iyer <sudheshnaiyer(_at_)yahoo(_dot_)com>
Sent: Sat, October 9, 2010 11:34:33 PM
Subject: Re: [xsl] xml elements as output after xslt parsing

On 10/9/2010 5:04 PM, sudheshna iyer wrote:
I want to traverse through two xmls and produce 3rd xml from xslt. I want to 
see 

the xml elements instead of just the values in the output.

Input:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<catalog>
    <cd>
        <title>Empire Burlesque</title>
    </cd>
</catalog>

XSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:template match="/">
  <xsl:apply-templates/>  
</xsl:template>

<xsl:template match="cd">
<newCD>
<xsl:value-of select="."/>
</newCD>
</xsl:template>
</xsl:stylesheet>


Needed Output:
<newCD>
    <title>Empire Burlesque</title>
</newCD>

Produced output:
Empire Burlesque 


Sudheshna,
I'm not sure what 2 XML input documents you wanted to traverse... I only
see one.
But you can get the output you're looking for by changing the last
template to:

<xsl:template match="cd">
  <newCD>
    <xsl:copy-of select="*"/>
  </newCD>
</xsl:template>

This is because <xsl:value-of> gets the text value of a nodeset, whereas
<xsl:copy-of /> copies each node and its descendants.

Lars



--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>