Re: [xsl] Using preceding-sibling

Subject: Re: [xsl] Using preceding-sibling
From: Mike Brown <mike@xxxxxxxx>
Date: Thu, 21 Dec 2000 15:52:13 -0700 (MST)
Jesse Ehrenzweig wrote:
> If I have an <xsl:template match="PRODUCT"> template element, how would
> I go about writing out the value of the SKU for the preceding node?  I'm
> trying to do something like this, but I'm coming up empty:
> 
>   <xsl:value-of select="preceding-sibling::SKU"/>

You want:

   <xsl:value-of select="preceding-sibling::PRODUCT/SKU"/>

Explanation:

  /SKU                    (elements named SKU that are children of...)
  PRODUCT                 (PRODUCT elements...)
  preceding-sibling::     (from among all nodes that are preceding
                            siblings of the current node)

For clarity you might want to put [1] after PRODUCT so you don't get the
SKUs of *all* preceding-sibling PRODUCTs. However the fact that you are
using xsl:value-of means you're only going to look at the string-value of
the first node in that set, which will happen to be the one you want.

   - Mike
____________________________________________________________________
Mike J. Brown, software engineer at            My XML/XSL resources: 
webb.net in Denver, Colorado, USA              http://skew.org/xml/


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


Current Thread