[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Correct use of Parameters?


Subject: Re: [xsl] Correct use of Parameters?
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Wed, 04 Sep 2002 17:11:42 -0400

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




Current Thread
Keywords