Subject: Re: [xsl] improving performance in creating ids From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 23 Apr 2019 14:56:55 -0000 |
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>
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] improving performance in , Michael Kay mike@xxx | Thread | Re: [xsl] improving performance in , Wendell Piez wapiez@ |
Re: [xsl] improving performance in , Michael Kay mike@xxx | Date | Re: [xsl] improving performance in , Wendell Piez wapiez@ |
Month |