Re: [xsl] stop the processing of default attributes?

Subject: Re: [xsl] stop the processing of default attributes?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 19 Aug 2011 09:44:47 +0100
On 19/08/2011 01:45, Dan Vint wrote:
I am trying to get my output to replicate the input as best possible.

then you want to replace


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


by

<xsl:copy>
  <xsl:copy-of select="@*"/>

the namespace differences are that for both xsl:element and xsl:attribute, given an input of x:foo then
xsl:copy(-of)
will generate a node with the same namespace and local name as the source 9and if possible the same prefix)


whereas

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

will work like a literal element in the stylesheet:

<x:foo>

which will generate an element with prefix x and local name foo and whatever namespace URI is bound to x _in the stylesheet_ the namespace of x:foo in the source will not be used.


David



-- google plus: https:/profiles.google.com/d.p.carlisle

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. ________________________________________________________________________


Current Thread