xsl-list
[Top] [All Lists]

RE: Adding the child nodes as attributes to the parent node.

2005-07-15 02:15:53
Very confusing problem description, as your elements are called "attribute"
(at least you didn't name your attributes "element"!)

You didn't say what part of the problem you found difficult, so short of
writing the whole code for you (not something I do!) it's hard to know
exactly where you need help. 

Converting <Element type="A"> to <A-Element> can be done using

<xsl:element name="{(_at_)type}-Element">

Converting the <attribute> elements into attributes can be done using

<xsl:for-each select="@*">
  <xsl:attribute name="{(_at_)name}">
    <xsl:value-of select="{(_at_)value}"/>

Michael Kay
http://www.saxonica.com/

 

-----Original Message-----
From: Lakshmi narayana [mailto:lchintala(_at_)osi-tech(_dot_)com] 
Sent: 15 July 2005 10:26
To: XSL (E-mail)
Subject: [xsl] Adding the child nodes as attributes to the 
parent node.



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



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