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

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


Subject: Re: [xsl] xml elements as output after xslt parsing
From: sudheshna iyer <sudheshnaiyer@xxxxxxxxx>
Date: Mon, 11 Oct 2010 01:27:04 -0700 (PDT)

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@xxxxxxx>
To:
xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Cc: sudheshna iyer <sudheshnaiyer@xxxxxxxxx>
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


Current Thread
Keywords