|
Subject: Re: [xsl] Benefits of using xsl:key From: Jesper Tverskov <jesper.tverskov@xxxxxxxxx> Date: Wed, 4 Nov 2009 20:54:49 +0100 |
MK wrote:
> I would suggest one template match="x[.
> is key('k', current())[1]]" to match the first duplicate, and another
> match="x" with lower priority to match the remaining duplicates.
It works!
I changed XSLT stylesheet using xsl:key to this:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:key name="value-content" match="value" use="."/>
<xsl:template match="value[. is key('value-content', current())[1]]">
<xsl:copy>
<!-- add attribute and skip content -->
<xsl:attribute name="refid" select="key('value-content',
.)[1]/@id"/>
<xsl:apply-templates select="@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Transformation using xsl:key is now back at 0.1s!!!
Cheers,
Jesper
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] Benefits of using xsl:key, Michael Kay | Thread | Re: [xsl] Benefits of using xsl:key, Jesper Tverskov |
| RE: [xsl] Benefits of using xsl:key, Michael Kay | Date | Re: [xsl] Benefits of using xsl:key, Jesper Tverskov |
| Month |