[XSL-LIST Mailing List Archive Home]
[Reply To This Message]
Re: Variable in XPath
On 6/27/07, Garvin Riensche <g.riensche@xxxxxxx> wrote:
I hope that anyone can help me with the following. I want to write a
stylesheet that is used to check if an element (class) with a special ID
which is given as variable from the commandline exists in the source or
not. If no variable is supplied I want to test if there are "class"
nodes at all. Of course it's no problem to check if a node with a
special ID exists or not. But what do I use as default value of the
variable so that all "class" nodes are selected if no variable is supplied.
(not working) example:
<class id="2" owner="1" name="A"/>
<class id="3" owner="1" name="B"/>
<xsl:variable name="id" select="attribute::*"/>
<xsl:when test="doc('factbase.xml')/facts/class[@id eq $id]">
The test should be true if $id is set to "2" or "3" and if $id is not
set at all. So, the key is the comparison "@id eq $id" and the default
value of $id. "attribute::*" as default value is obviously wrong. Which
default value do I have to use to test if class nodes exist at all?
Seems like a long-winded way of just saying you want to check if <class> exists:
If you then want to do something specific if the @id eq $id then add a
condition inside the xsl:when.
A case of wood-for-the-trees? (or one too many beers for me at lunch?)
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format