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'"
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
________________________________________________________________________