xsl-list
[Top] [All Lists]

Re: xpath problem again

2002-09-09 10:56:01
aruniima(_dot_)chakrabarti(_at_)iflexsolutions(_dot_)com 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[(_at_)fastPath=$fpath]/child::*[(_at_)nodeType=$rtype] |
//FCR[(_at_)fastPath=$fpath]/child::*[(_at_)nodeType=$rtype] |
//FCR[(_at_)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]/*[(_at_)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



<Prev in Thread] Current Thread [Next in Thread>