[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
|