[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] top level xsl:param confusion
Hi,
I have a top level param like so: <xsl:param name="permission" select="false()"/> Main Question: Is the above top level xsl:param considered false even if it was passed an empty string? I would expect it to be false only if the param was *not* passed. More info: I send the param down to the transformation if a user has access to the filesystem otherwise it is not sent. And if they have access I send the path that they are restricted to as the value. Some example values are: "" -- full project access "foo" -- access restricted to the 'foo' folder "foo/bar" -- access restricted to the 'foo/bar' folder If they have no restriction I want the param value to be 'false()' The problem (or my misunderstanding) is when I pass down the empty string value - "". So the transformation sees there is a /xsl:stylesheet/xsl:param[@name='permission'] - so it should not evaluate to false(), right? However, it does in both Xalan and Saxon (the only two I tried). I don't see anything in the spec that addresses this. For example, the following chooses the otherwise when the param is sent to the transformation as an empty string. <xsl:choose> <!--<xsl:when test="boolean($permission)"> or --> <xsl:when test="$permission"> <!-- allow access --> </xsl:when> <xsl:otherwise> <!-- no access --> </xsl:otherwise> </xsl:choose> thanks for any clarification, -Rob
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|