xsl-list
[Top] [All Lists]

Re: [xsl] How to detect if the context item exists

2011-06-30 18:19:58
On 01/07/2011 00:03, David Carlisle wrote:
On 30/06/2011 21:23, Michael Kay wrote:
No, within a named template it's not statically decidable. The named
template might be called from within a function.

yes (that's the usual way the context gets undefined) but what I meant was that the author of the stylesheet can write the template as

<xsl:template name=x">
<xsl:param name="hascontext" select="true()"/>
..

XSLT 3.0 will allow a named template to declare:

<xsl:context-item
   as? = sequence-type
   use? = "required" | "optional" | "prohibited" />

"optional" is the current behaviour"; required means it's an error to call the template without a context item; "prohibited" means any context item that exists in the caller isn't made available to the called template.

Michael Kay
Saxonica

--~------------------------------------------------------------------
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(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--