Subject: Re: [xsl] Problem with conditional definition of a variable From: David Carlisle <davidc@xxxxxxxxx> Date: Wed, 4 Jan 2006 17:37:16 GMT |
> "phase" is defined without a default value. parameters always have a default value. If you give no select attribute and no content the value is "" which is the same value that an variable defined with xsl:variable with no select attribute and no content gets. (in xslt2 there are other possibilities depending on the as attribute, but the basic feature is the same variables always have a value) So you can not distinguish the case that the parameter value was not passed in, and the case that the default value was explictly passed. If you need to distinguish these cases, you need to make the default something that is unlikely (or impossible) to be passed in. For example in many command line systems you can only pass in string values, so if you make the default value select="/" and the value that you have is a node, then no value was passed in explictly. However assuming that you were not stumbling over edge cases like passing in "" then <xsl:when test="$phase=''"> <!-- Something goes here when no "phase" parameter is passed --> That should work except that it is "no parameter is passed, or the parameter is is passed with value which has a string value of "") so perhaps you need to give a more complete example. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Problem with conditional , andrew welch | Thread | RE: [xsl] Problem with conditional , Xia Li |
RE: [xsl] Problem with conditional , Xia Li | Date | RE: RE: [xsl] Problem with conditio, cknell |
Month |