Subject: RE: Best default value for a result tree fragment?
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 28 Sep 2005 13:07:04 +0100
|
> What do people think is the "best" way of specifying the
> default value for
> the parameters:
>
> <xsl:param name="contentRTF"></xsl:param>
>
> which gives a RTF containing nothing
No: if there is no content and no select attribute, the value is a
zero-length string. You can get an RTF consisting of a document node with no
children by writing, for example
<xsl:param name="contentRTF"><xsl:fallback/></xsl:param>
>
> <xsl:param name="contentRTF" select="" />
>
> which gives an empty nodeset (or something),
No, that's an error: the select attribute must be an XPath expression, and
this isn't
or even
>
> <xsl:param name="contentRTF select="''" />
>
> which gives an empty string.
>
> I appreciate that, for all practical purposes, I should get the same
> output from all of them, but was wondering which might be seen as the
> canonical way of doing it, given that any *passed* value will
> always be a
> result tree fragment. Must have my strong-typing head on today :-)
>
I agree that logically, a document node with no children makes the most
sense. In 2.0, the cleanest way of constructing this is
<xsl:param name="x" as="document-node()">
<xsl:document/>
</xsl:param>
Michael Kay
http://www.saxonica.com/
|