This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: xpath problem again


aruniima.chakrabarti@iflexsolutions.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[@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]