xsl-list
[Top] [All Lists]

Re: [xsl] function-available() test on stylesheet functions

2007-07-17 16:28:43



But something like this...

<xsl:if test="function-available('ns:fname')">
 <xsl:value-of select="ns:fname()"/>
</xsl:if>

throws a static error,

true, although you can guard against that like so:

<xsl:if test="function-available('ns:fname')">
 <xsl:copy-of version="1.0" select="ns:fname()"/>
</xsl:if>

However I think that the "correct" (as in most XSLT-idiomatic) solution
is to do as you indicated in a later post and just always ensure that
the function is there, so the test is not needed.

That's what you'd do in other cases of calling a named construct in XSLT
such as variable references, or named templates. You never ask in XSLT
whether a variable is defined, you just define it, and if you want a
stylesheet to be processble as a stand-alone stylesheet in all
circumstances (rater than just being a module that is always imported
into something else) then you need to define the variable in the
stylesheet in which it's used, even if in practice that definition is
usually, or always, overridden by a declaration of higher import
precedence. I think function definitions should be similar.

David

________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
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>
--~--