RE: [xsl] Best practice for "walking" node

Subject: RE: [xsl] Best practice for "walking" node
From: "Andrew Welch" <AWelch@xxxxxxxxxxxxxxx>
Date: Wed, 8 Jan 2003 09:42:33 -0000
> <xsl:value-of
> select="./following-sibling::WorkGroupCollection/WorkGroup/@name"/>
> 
> <xsl:value-of select="./following::WorkGroup/@name"/> <-- I 
> like this one
> because it is shorter

The following-sibling axis will select nodes after the current node in document order that have the same parent, whereas the following will select *all* nodes after the current node in document order, regardless of parent.  Therefore it depends on what you are trying to achieve, you can't really compare the two on performance.

cheers
andrew

> -----Original Message-----
> From: Lopez, William [mailto:william.lopez@xxxxxxx]
> Sent: 07 January 2003 23:14
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] Best practice for "walking" node
> 
> 
> Sorry if this is trivial...I was wondering which way is best to access
> elements/attributes. I was playing around with the axis 
> (pardon if the lingo
> is bogus) way of accessing elements/attributes and found the 
> following ways
> work but is there an advantage of using one over the other 
> (besides brevity
> of code). See 1. & 2. below.
> 
> <xsl:value-of
> select="./following-sibling::WorkGroupCollection/WorkGroup/@name"/>
> 
> <xsl:value-of select="./following::WorkGroup/@name"/> <-- I 
> like this one
> because it is shorter
> 
> *** xml document ***
> <WorkGroupMaint>
>   <BusinessUnitRef oid="0:0:0:1" name="BU01">  <-- 1. 
> processor is here
>     <TeamRef oid="0:0:1:1" name="TM01"/>
>   </BusinessUnitRef>
>   <WorkGroupCollection nbrWorkGroup="1">
>     <WorkGroup oid="0:0:0:2" name="WorkGroup 1"> <-- 2. I need @name
>       <WorkTypeCollection nbrWorkType="2">
> ...
> </WorkGroupMaint>
> 
>  *** xsl template ***
> <xsl:template match="BusinessUnitRef">
>         <p id="topLabel">
>           <span class="info">Team: <xsl:value-of
> select="TeamRef/@name"/></span><br/>
>           <span class="info">Business Unit: <xsl:value-of
> select="@name"/></span><br/>
> 	    <xsl:choose>
>             <xsl:when test="$entryMode = 'Add'">
>              <span class="info">Work Group Name: </span>
> 		 <input type="text" name="txtWorkGroupName" class="info"
> value="" size="30"/>
>             </xsl:when>
> 		<xsl:otherwise>
> 		 <span class="info">Work Group Name: <xsl:value-of
> select="./following::WorkGroup/@name"/></span>
> 		</xsl:otherwise>
> 	    </xsl:choose>
>         </p>
> </xsl:template>
> 
> Thanks,
> -Will
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 
> 
> 
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.427 / Virus Database: 240 - Release Date: 06/12/2002
>  
> 

---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.427 / Virus Database: 240 - Release Date: 06/12/2002
 

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


Current Thread