Subject: Re: [xsl] function-available() test on stylesheet functions From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 17 Jul 2007 23:46:44 +0100 |
> 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. ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] function-available() test, John McGowan | Thread | Re: [xsl] function-available() test, Abel Braaksma |
Re: [xsl] function-available() test, Abel Braaksma | Date | [xsl] search for aligned elements, Rodrigo Segnini |
Month |