Subject: Re: perfomance question about selecting from child-node
From: "Braumüller, Hans" <H.Braumueller@xxxxxxxxxxxx>
Date: Fri, 23 May 2003 10:44:19 +0200
|
Hello,
regarding Michael comment about my silly question: is it not obvious in my case(i shortcut my question), because i need
from the xml-information-source for each node row some data, but i output a html-rows from the template rule for DARKONTRAKT (a child from each row).
To summarize a walking on a parent node seems no big difference with other methods, like passing parameters.
It seems that like post David that major selections like
<snip comment="David Carliste">
If you were searching up arbitrary amounts,
ancestor::*[this and that and the other] then not doing that search and
passing down a parameter will probably start to win
</snip>
one should go better with passing parameters.
Thanks for your time,
Hans
It might be a silly question, but I would have thought the obvious way
of coding this was:
> <xsl:template match="row">
> <xsl:value-of select="tannr"/>
> <xsl:value-of select="tscreate"/>
> <xsl:value-of select="tsupdate"/>
> <xsl:apply-templates select="DARKONTRAKT"/>
> </xsl:template>
In any case, the only way to get answers to this kind of question is to
try it on your chosen XSLT processor and see. I would expect the
difference to be very small on most processors.
Michael Kay
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> Braumüller, Hans
> Sent: 22 May 2003 15:36
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: perfomance question about selecting from child-node
>
>
> Hello friends,
>
> a short perfomance question about selecting from child-node
>
> XML (... = etc)
> /********************/
> <DARLEHEN>
> ...
> <row num="16">
> <tannr>20010013</tannr>
> <tscreate>2001-06-01-12.17.02.162000</tscreate>
> <tsupdate>2001-06-01-14.46.15.125000</tsupdate>
> <geschart ztp="true"/>
> <DARKONTRAKT num="16">
> <credit_line>1000000,00</credit_line>
> <isonominal>EUR</isonominal>
> <kontraktnr>1</kontraktnr>
>
>
> </DARKONTRAKT>
> <DARKONTRAKT num="17">
> ...
> </DARKONTRAKT>
> </row>
> <row num="17">
> ...
> </row>
> ...
> </DARLEHEN>
> XSLT (... = etc)
> /********************/
>
> What is better for getting a faster transformation in
> general? 1. When i am transcurring node-set "DARLEHEN" doing
> an applying template for "row" with rule
> <xsl:template match="row">
> <xsl:apply-templates select="DARKONTRAKT">
> <xsl:with-param name="tannr" select="tannr"/>
> <xsl:with-param name="tscreate" select="tscreate"/>
> <xsl:with-param name="tsupdate" select="tsupdate"/>
> <!-- §_010 -->
> <xsl:with-param name="geschartZTP" select="geschart/@ztp"/>
> </xsl:apply-templates>
> </xsl:template>
>
> then putting the values of the parameters on the node-set
> DARKONTRAKT out
>
> 2.
> Or make a direct applying template DARKONTRAKT and from there
> getting the tree one step up, like
> <xsl:value-of select="../tannr"/></xsl:attribute>
> <xsl:value-of select="../tscreate"/>
> <xsl:value-of select="../tsupdate"/>
> <xsl:value-of select="../geschart/@ztp"/>
>
> Imagine hundreds of rows in the xml-source!
>
> Thanks,
>
> Hans Braumüller
> Systementwickler Web-Design
> Hanse Orga AG
> Oldesloer Straße 63
> D-22457 Hamburg
> Telefon: (+49) 040 51 48 08-62
> Telefax: (+49) 040 51 48 08-88
> E-Mail: h.braumueller@xxxxxxxxxxxx
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|