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

Re: XSLT: Selecting nodes based on a group of other nodes


Subject: Re: XSLT: Selecting nodes based on a group of other nodes
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Sun, 12 Sep 1999 08:32:22 -0700

At 99/09/10 11:01 +1000, Mark Sztainbok wrote:
What I need to do is store the node
list into a variable so that something like the following can be done:

<xsl:choose>
    <xsl:when test="/RESPONSE/FILTERED">
        <!-- Set products variable to products that have corresponding
SELECTEDPRODUCT nodes -->
        <!-- Insert my attempts to code here -->
    </xsl:when>
    <xsl:otherwise>
        <!-- Set products variable to all the products -->
        <xsl:variable name="products" select="/RESPONSE/PRODUCT"/>
    </xsl:otherwise>
</xsl:choose>
<xsl:for-each select="$products">
    <!-- Process products here -->
</xsl:for-each>

If the above is all you need to do with the resulting node list, you could achieve the same result with a very different approach:


  <xsl:choose>
     <xsl:when test="/RESPONSE/FILTERED">
        <xsl:for-each select=".....whatever....">
           <xsl:call-template name="common"/>
        </xsl:for-each>
     </xsl:when>
     <xsl:otherwise>
        <xsl:for-each select="/RESPONSE/PRODUCT">
           <xsl:call-template name="common"/>
        </xsl:for-each>
     </xsl:otherwise>
  </xsl:choose>
</xsl:template>

<xsl:template name="common">
  <!--process product here-->
</xsl:template>

If you have no other need for the variable, then you don't need to try to set it.

I hope this helps.

......... Ken

--
G. Ken Holman                    mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.             http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0   +1(613)489-0999   (Fax:-0995)
Website:  XSL/XML/DSSSL/SGML services, training, libraries, products.
Practical Transformation Using XSLT and XPath      ISBN 1-894049-01-2
Next instructor-led training:  1999-09-24, 1999-11-08, 1999-12-05/06,
                             1999-12-07, 2000-02-27/28, 2000-05-11/12



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



Current Thread
Keywords