<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xf="http://nwalsh.com/xmlns/xslt20/extension/functions"
                xmlns:saxon="http://saxon.sf.net/"
                version="2.0">

  <xsl:output method="text"/>

  <xsl:template match="/">
    <xsl:value-of select="xf:compare('apple', 'apple')"/>
    <xsl:text>&#10;</xsl:text>
    <xsl:value-of select="xf:compare('apple', 'orange')"/>
    <xsl:text>&#10;</xsl:text>
  </xsl:template>
      
  <xsl:function name="xf:compare">
    <xsl:param name="word1" as="xs:string"/>
    <xsl:param name="word2" as="xs:string"/>

    <xsl:text>"</xsl:text>
    <xsl:value-of select="$word1"/>
    <xsl:text>" and "</xsl:text>
    <xsl:value-of select="$word2"/>
    <xsl:text>" are </xsl:text>

    <xsl:if test="$word1 != $word2">
      <xsl:text>not </xsl:text>
    </xsl:if>

    <xsl:text>the same.</xsl:text>
  </xsl:function>    

</xsl:stylesheet>