RE: [xsl] Correct use of Parameters?

Subject: RE: [xsl] Correct use of Parameters?
From: "Lopez, William" <william.lopez@xxxxxxx>
Date: Thu, 5 Sep 2002 09:45:57 -0500
Thanks Wendell!

-----Original Message-----
From: Wendell Piez [mailto:wapiez@xxxxxxxxxxxxxxxx]
Sent: Wednesday, September 04, 2002 4:12 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Correct use of Parameters?


Hi Will--

At 04:32 PM 9/4/2002, you wrote:
>I'm using 2 parameters (probably could have used xsl:variables...) to store
>values that are referenced more than once while performing XSLT. My
question
>is: Is this more efficient (better practice) than walking the nodes each
>time?

Probably. Yes, unless the processor has implemented some kind of 
optimization which does the same thing internally. Certainly easier to 
maintain and, arguably, to read.

>        <INPUT ID="userID" TYPE="TEXT" NAME="txtUserID"  SIZE="8"
>MAXLENGTH="8" TABINDEX="1">
>                 <xsl:attribute name="value"><xsl:value-of
>select="$userID"/></xsl:attribute>
>              </INPUT>

As you're interested in being concise, know that this is the same as:

   <INPUT ID="userID" TYPE="TEXT" NAME="txtUserID"  SIZE="8"
          MAXLENGTH="8" TABINDEX="1" value="{$userID}"/>

>One more thing...Is there a better way to write this?
><xsl:value-of
>select="/RouteCodeMaintLookup/RouteCodeList/RouteCodeItem/Team/BusinessUnit
/
>@businessUnitName"/>

Well, yes and no. "//@businessUnitName", assuming there is only one such 
attribute node in the document, is much more concise; but this is a bad 
idea unless either or both (a) your documents are small and will always 
remain so (this XPath will traverse the entire document looking for 
@businessUnitName attributes instead of going straight to it), or (b) the 
attribute may sometimes be located somewhere else but you still want your 
code to find it.

Most experts would recommend against "//@businessUnitName" as a waste of 
cycles, if you know where the node is, since it will be expensive on large 
documents. Aiming not for conciseness of expression but for efficiency of 
traversal, there's no better way to write it than what you have.

Cheers,
Wendell


======================================================================
Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
   Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread