xsl-list
[Top] [All Lists]

Re: Speeding up processing (with sablotron or saxon)

2004-07-13 11:24:46
Tony,

Both the key declaration, and the variable declarations should go at the top level.

Sorry 'bout that, too ... I assumed you'd be able to interpolate those critical details. The idea is to pull the deduplication out completely from your template logic, since now it'll be done once and once only, for all the nodes you want to handle.

So (tuning up just a bit more):

<xsl:key name="resource-by-id" match="resource" use="@swgcraft_id"/>

<xsl:variable name="unique-resources"
  select="//resources[generate-id() =
                       generate-id(key('resources-by-id',@swgcraft_id))]"/>

<xsl:template match="server[(_at_)name='Ahazi']">
  <resources>
    <xsl:for-each select="$unique-resources">
      <xsl:sort select="."/>
        <resource>
          <xsl:copy-of select="@swgcraft_id"/>
          <xsl:copy-of select="name | type"/>
        ...etc

HTH--
Wendell


======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================