| Subject: Re: [xsl] changing only one attribute of element copy From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 4 Jul 2007 21:21:06 +0100 | 
If in doubt dn't use // it's potetially a very expensive operation, it
means search teh entire document to arbitrary depth.
> <xsl:template match="//class[@name=$TargetCName]" mode="transform">
// isn't doing anything here it's the same as
<xsl:template match="class[@name=$TargetCName]" mode="transform">
     <xsl:copy-of select="//class[@name=$SrcCName]/field">
This searches the entire document (again for every class) to find a
class with name given by the global variable. If youy are lucky the
system may rewrite this common expression into a global variable but it
would probably be better to do it manually and have at the top level
outside any templates
<xsl:variable name="newfield"  select="//class[@name=$SrcCName]/field"/>
then in the template have
     <xsl:copy-of select="$newfield"/>
if you generate two attributes of the same name the second one wins so
     you can just go
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl;attribute name="id">some new id</xsl;attribute>
<xsl;apply-templates mode="transform"/>
..
or keeping it as you had, applying templates to attributes rather than
copying them, you just need to add templates for those attributes you
don't want copied
<xsl:template match="id">
<xsl:attribute name="id">some new id</xsl;attribute>
</xsl:template>
David
________________________________________________________________________
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 | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| [xsl] changing only one attribute o, Garvin Riensche | Thread | [xsl] Removing an XML Attribute, McDonald, Shaun | 
| Re: [xsl] Testing implicit XHTML hi, bryan rasmussen | Date | Re: [xsl] Test for child node categ, David Carlisle | 
| Month |