makes use of the possibility to introduce new XPath functions
Define the namespace prefix (use Class Name) and bind this prefix to the Java Class object
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:Math="http://www.math.org/"> <xsl:script implements-prefix="Math" language="java" src="java:java.lang.Math"/> ... </xsl:stylesheet>
Define the Java method name using the local-name of the XPath function
<xsl:template name="test">
<value-of select="Math:min( 100, 101)"/>
</xsl:template>
Construct a new Java Object using new()
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:Math="http://www.date.org/">
<xsl:script implements-prefix="Date" language="java" src="java:java.util.Date"/>
<xsl:template name="test">
<variable name="date" select="Date:new()"/>
<value-of select="Date:toString( $date)"/>
</xsl:template>
</xsl:stylesheet>
Convert the arguments to Java Objects
<xsl:template name="test">
<value-of select="Math:min( number( @value1), number( @value2))"/>
</xsl:template>
Handle the return value.