Re: [xsl] top level xsl:param confusion

Subject: Re: [xsl] top level xsl:param confusion
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 30 Sep 2004 18:29:41 -0400
Robert,

At 06:09 PM 9/30/2004, you wrote:
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)

Yes, but if you then test="$permission", the test will fail, because the empty string tests as false. (This is what David and others have tried to tell you.)


Setting the parameter to default to "false()" is not the same as setting it to have no value: it has a value, precisely, of Boolean false. When an empty string is coerced to a Boolean, as it always is when it is tested directly, it also gets a value of false.

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

No, it's the way the spec outlines the built-in casting of datatypes.


If it were my project, I'd set the default to the string ".", which would not test as false, and which conveniently means, in most directory-traversal syntaxes, the current working directory.

Cheers,
Wendell


====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================


--+------------------------------------------------------------------ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx> --+--

Current Thread