Re: [xsl] Adding the child nodes as attributes to the parent node.

Subject: Re: [xsl] Adding the child nodes as attributes to the parent node.
From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx>
Date: Fri, 15 Jul 2005 02:07:46 -0700 (PDT)
Please try this XSL..

<?xml version="1.0"?> 
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0">
 
<xsl:output method="xml" indent="yes" /> 

<xsl:template match="Element">
  <xsl:element name="{concat(@type,'-Element')}">
    <xsl:for-each select="attribute">
      <xsl:attribute name="{@name}">
        <xsl:value-of select="@value" />
      </xsl:attribute>
    </xsl:for-each>
    <xsl:apply-templates select="Element" />
  </xsl:element>
</xsl:template>
 
</xsl:stylesheet>

Regards,
Mukul


--- Lakshmi narayana <lchintala@xxxxxxxxxxxx> wrote:

> 
> 
> Hi,
> I have the following xml file. I want to write the
> xslt to this file.
> In the resultant xml file, all the immediate
> attribute childs of a node are
> processed and add the attributes of that attribute
> child
> as attributes to the parent node. Based on the type,
> the parent element node
> should be changed.
> Only attribute tag attributes should be added to its
> parent.
> Can any one give the xslt code for this.
> 
> Input file
> <Element type="A">
> 	<attribute name="seq" value="1"/>
> 	<attribute name="rep" value="2"/>
> 	<attribute name="Period" value="3"/>
> 	<Element type="B">
> 		<attribute name="seq" value="4"/>
> 		<attribute name="rep" value="5"/>
> 		<Element type="C">
> 			<attribute name="seq" value="6"/>
> 			<attribute name="rep" value="7"/>
> 			<attribute name="period" value="8"/>
> 			<attribute name="max" value="9"/>
> 		</Element>
> 	</Element>
> </Element>
> 
> output file:
> <A-Element seq="1" rep="2" period="3">
> 	<B-Element seq="4" rep="5">
> 		<C-Element  seq="6" rep="7" period="8" max="9">
> 		</C-Element>
> 	</B-Element>
> </A-Element>
> Thanks,
> Laxmi Narayana
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Current Thread