xsl-list
[Top] [All Lists]

Re: perfomance question about selecting from child-node

2003-05-23 01:44:19
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(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Braumüller, Hans
Sent: 22 May 2003 15:36
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] 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(_dot_)braumueller(_at_)hanseorga(_dot_)de 



 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



<Prev in Thread] Current Thread [Next in Thread>