xsl-list
[Top] [All Lists]

Re: top level xsl:param confusion

2004-09-30 15:09:59
David Carlisle wrote:

If you pass in an empty string then that is its value, not the default
of false() however an empty string, used in a boolean context will
coerce to false() so in many cases it will come to the same thing.


<xsl:choose>
   <!--<xsl:when test="boolean($permission)"> or -->
   <xsl:when test="$permission">


both those are the same thing as test= always has an effective boolean()
aroiund its value to coerce whatever there to a boolean.

easiest is probably to make your default value  'defult' or some such
then you can say
test="$permission != 'default'"

Hi and thanks,

I was hoping to get the benefit of a quick boolean test. Perhaps this is a JAXP thing? I would think setting a parameter to an empty string:

transformer.setParameter("permission", "");

would equate to (if the permission param was not sent):

<xsl:param name="permission" select="''"/>
(since that is what I am passing)

To me, this seems like a bug for java processors (at least Saxon and Xalan)

thanks,
-Rob


David