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

Subject: Re: [xsl] How to detect if the context item exists
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 30 Jun 2011 19:47:23 +0100
On 30/06/2011 18:33, stf@xxxxxxxx wrote:
Hello,

I need to detect inside a named template if the context item is defined,
but exists(.) and (. castable as xs:anyType) fail, because, you know,
the context item is not defined. Any suggestions?

Thanks,

Stefan

as Michael noted you can't do this within the template, however the places that the context item is or is not defined are (I think) all statically detectable, so you can have an additional boolean flag
that you set to false when calling from within a function body and set to true elsewhere (more or less).


Alternatively of course you can just make sure the context item is always defined for example by wrapping the named template in
<xsl:for-each select="$somedefaultcontext">
<xsl:call-template
</..
</...


David

Current Thread