The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:func = "http://exslt.org/functions" extension-element-prefixes="func"
xmlns:f = "f.uri" exclude-result-prefixes="f">
<!-- Test the effect of function-available() and element-available() -->
<func:function name="f:total">
<xsl:param name="n1" select="0"/>
<xsl:param name="n2" select="0"/>
<xsl:param name="n3" select="0"/>
<xsl:param name="n4" select="0"/>
<xsl:param name="n5" select="0"/>
<xsl:param name="n6" select="0"/>
<xsl:param name="n7" select="0"/>
<func:result select="$n1+$n2+$n3+$n4+$n5+$n6+$n7"/>
</func:function>
<xsl:template match="/">
<out>;
<true><xsl:value-of select="function-available('f:total')"/></true>;
<false><xsl:value-of select="function-available('f:jabberwocky')"/></false>;
<true><xsl:value-of select="element-available('func:result')"/></true>;
<false><xsl:value-of select="element-available('func:function')"/></false>;
<!-- note, this should return false because func:function is not an INSTRUCTION -->
<false><xsl:value-of select="element-available('func:jeni-tennison')"/></false>;
</out>
</xsl:template>
</xsl:stylesheet>