Subject: RE: newbie - parameters with/without values??
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 4 Oct 2004 16:56:32 +0100
|
Firstly, a stylsheet parameter always has a value. Let's suppose the default
value is "$$$" (the "default default" is ""). Then you can write your query
as
//item[$param = '$$$' or @field = $param]
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Hardy Merrill [mailto:HMerrill@xxxxxxxxxxxxxxxx]
> Sent: 04 October 2004 16:10
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: newbie - parameters with/without values??
>
> XSLT newbie alert.
>
> I have an xml document with lots of nodes. I have some fields
> (each with its own value) I'd like to use as "search"
> criteria - normally I would pass the field values into the XSL
> style sheet as parameters, and just reference the parameters.
> But the kicker here is that the parameters may *** or may not ***
> have values. If a parameter has a value, I want to include it in
> an XPath select. If a parameter does NOT have a value, then I
> don't want to include that parameter in the XPath select.
>
> I've been trying to use variables to "build" an XPath expression
> from the supplied parameters using "if test"s, but I'm not having
> much luck since variables can only be given a value once, and their
> scope is limited to the block in which they are declared.
>
> Given this XML document:
>
> <my_document>
> <person>
> <name>Joe</name>
> <gender>Male</gender>
> <city>Boston</city>
> </person>
> <person>
> <name>Janice</name>
> <gender>Female</gender>
> <city>Denver</city>
> </person>
> </my_document>
>
> can I build an XSL style sheet to take in parameters "gender" and
> "city", which may or may not have values, and *build* an XPath
> select expression that will find the right nodes?
>
> I'm sure this is a trivial question, but being a newbie I'm having
> trouble with it.
>
> TIA.
>
> Hardy Merrill
|