If you give each parameter a default value (on which never occurs in the
data), say
<xsl:param name="PLATFORM" select="'#'"/>
then you can write the corresponding predicate as
/platform[(_at_)name=$PLATFORM or $PLATFORM='#']
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Travis [mailto:travis(_at_)mediastill(_dot_)com]
Sent: 28 September 2004 00:26
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Trouble selecting appropriate node-set
depending on parameters
Hi All,
I'm new to the list and XSL. So 1st of all, greetings to you
all. I'm
hoping someone here can point me in the right direction.
I'm writing a small xsl stylesheet to select a subset of
nodes from an xml
document. The important part looks like this...
<xsl:param name="PRODUCTGROUP" />
<xsl:param name="PLATFORM" />
<xsl:param name="ITEM" />
<xsl:for-each select="/store/productGroup[(_at_)type =
$PRODUCTGROUP]/platform[(_at_)type=$PLATFORM]/item[(_at_)type=$ITEM]">
etc..
What happens is I pass in the values of productgroup,
platform and item with
php. I can then retrieve a list of all items the attributes
of which match
the criteria. This seems to work fine, the only trouble is,
I'd like in
some cases to be able to choose all items, regardless of
attributes, like
so...
<xsl:for-each select="/store/productGroup/platform/item">
or any combination, like so...
<xsl:for-each
select="/store/productGroup/platform[(_at_)type=$PLATFORM]/item">
I guess I'm a bit unclear how to be able to choose between multiple
node-sets, depending on the whether or not one of the
parameters is set.
I've been searching for info on this most of the afternoon,
but can't seem
to find much.
If anyone has any suggestions, I'd be deeply appreciative.
Thanks!
-Travis
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.760 / Virus Database: 509 - Release Date: 9/10/2004
--+------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--+--