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