[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: improving performance in creating ids

Subject: Re: improving performance in creating ids
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 23 Apr 2019 14:56:55 -0000
Re:  improving performance in creating ids
On 23.04.2019 16:28, Pieter Lamers pieter.lamers@xxxxxxxxxxxx wrote:

Thanks for your quick reply. the node identity comparison helped quite a
bit, although I am still around a minute for a full book of ids. I am
not sure how xsl:number would help here, and what kind of performance
win it would give over count(). I tried something with a nested
transformation, but what should I feed it?

 B B B  <xsl:number select="*[last()]"/>
works (given a set of preceding nodes) but it is slightly slower than a
count() in the xquery. Maybe I should be using xsl:number differently?


It is difficult for me to suggest that without knowing the XML input
structure and whether you want to generate that id based on a count or
numbering only for certain nodes or some particular element type. In
general if I wanted to delegate counting to xsl:number similar to your
function I would define a template in a mode for that e.g.

   <xsl:template match="*" mode="number">
      <xsl:number level="any" from="*[@id]"/>
   </xsl:template>

and then, where you need that number, you would use e.g.

<xsl:apply-templates select="." mode="number"/>

Both the template or the or the select of the apply-templates can of
course be adapted to more particular needs.

As for being more efficient that using count, that then depends on the
implementation but I would think there is some optimization to be
expected in an XSLT processor for xsl:number.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.