Re: [xsl] Losing an attribute in transformation

Subject: Re: [xsl] Losing an attribute in transformation
From: "Tracey Zellmann" <tracey.zellmann@xxxxxxxxxxx>
Date: Thu, 13 Jul 2006 22:41:54 -0400
Thank you very much!!
That worked perfectly.

I am still struggling up the hill understanding how these mechanisms work - to say nothing of the issues of declarative languages.
I have Michael Kay's excellent book and have recently statred a new one from Jeni Tennison that I found. But without this forum, I couln't get through the details.


----- Original Message ----- From: "David Carlisle" <davidc@xxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Thursday, July 13, 2006 10:20 PM
Subject: Re: [xsl] Losing an attribute in transformation




After my xsl stylesheet transforms this to html, the attribute has been
removed.

Not so much removed, as not copied. The default behaviour (for elements and attributes) is not to copy them to the output. If you use a minimal stylesheet with no templates and run it on any xml file you get no error, and get no elements in the result.

so if you want attributes in the result you need to copy them (or make
them). So in this case after making the element

<xsl:element name="{local-name()}"
namespace="http://www.w3.org/1999/xhtml";>
you want to copy all the attributes from the source element, so add
<xsl:copy-of select="@*"/>


David

Current Thread