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