xsl-list
[Top] [All Lists]

Re: [xsl] Benefits of using xsl:key

2009-11-04 14:55:19
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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>