xsl-list
[Top] [All Lists]

RE: Converting specific child elements into attriutes of parent

2003-10-30 01:42:01
Change <xsl:attribute name="name()"> to

<xsl:attribute name="{name()}">

Michael Kay

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Sindigi, Ganesh K
Sent: 29 October 2003 23:30
To: Xsl-List(_at_)Lists(_dot_) Mulberrytech. Com (E-mail)
Subject: [xsl] Converting specific child elements into 
attriutes of parent



Hello,

I have been trying to convert specific child elements into 
attributes of the parent node.  I looked through archive, 
there was a topic of converting all children to attributes of 
the root.  I followed the same thing and tried to convert a 
specific child element, but i am getting following error.  
elmToAtt.xsl; Line 18; Column -1; name() has an illegal 
attribute: {1} I would like to copy the xml document and 
convert only specific elements into attributes. I am not able 
to make out why this error is, but to no avail.  Hoping that 
anybody in the list would help to resolve . 

(I had posted this on XSLTalk group, but i wasnt able to c 
the message, so re-posting this.)

Thanks,
Ganesh.

Here is my styleSheet, elmToAtt.xsl:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
   version="1.0">
   <xsl:output method="xml" indent="yes"/>
   <xsl:template match="*">
      <xsl:copy>
         <xsl:apply-templates select="@*"/>
         <xsl:apply-templates />
      </xsl:copy>
   </xsl:template>
   <xsl:template match="@*">
      <xsl:copy/>
   </xsl:template>

   <xsl:template match="id">
      <xsl:attribute name="name()">
         <xsl:value-of select="text()"/>
      </xsl:attribute>
   </xsl:template>

   <xsl:template match="value"><xsl:value-of 
select="text()"/></xsl:template> </xsl:stylesheet>

Here is XML document:

<?xml version="1.0" encoding="UTF-8"?>
<customerList>
   <customer>
      <field> <id>customerId</id> <value>cust1</value> </field>
      <field> <id>customerName</id> <value>Customer 1</value></field>
      <fieldGroup>
         <id>homeAddress</id>
         <fieldList>
            <field> <id>street</id> <value>98th Street 
</value></field>
            <field> <id>city</id> <value>Chicago</value></field>
         </fieldList>
      </fieldGroup>
      <fieldGroup>
         <id>companyAddress</id>
         <fieldList>
            <field> <id>street</id> <value>128th 
Street</value></field>
            <field> <id>city</id> <value>Chicago</value></field>
         </fieldList>
      </fieldGroup>
   </customer>...
</customerList>

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



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