Re: [xsl] xpath problem again

Subject: Re: [xsl] xpath problem again
From: Mike Brown <mike@xxxxxxxx>
Date: Mon, 9 Sep 2002 11:56:01 -0600 (MDT)
aruniima.chakrabarti@xxxxxxxxxxxxxxxxxx wrote:
> I want to have a xpath like this in which it either chooses based on a param
> value... in case the param is empty it shud not apply any predicate...
> Please help...
> <xsl:for-each select="//FCR[@fastPath=$fpath]/child::*[@nodeType=$rtype] |
> //FCR[@fastPath=$fpath]/child::*[@nodeType=$rtype] |
> //FCR[@fastPath=$fpath]/child::*">

1. The expression on the first line is identical to the one on the second 
line.

2. "child::" is implicit.

To answer your question, $fpath will test true if it is not empty.

<xsl:for-each select="//FCR[$fpath and @fastPath=$fpath]/*[@nodeType=$rtype] |
                      //FCR[$fpath and @fastPath=$fpath]/*">

That will give you an FCR/* as long as $fpath is not empty.
If you want something when $fpath is empty, use //FCR[not($fpath)]...

   - Mike
____________________________________________________________________________
  mike j. brown                   |  xml/xslt: http://skew.org/xml/
  denver/boulder, colorado, usa   |  resume: http://skew.org/~mike/resume/

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


Current Thread