|
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 |