<xsl:stylesheet version="2.0" 
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:myPred1="f:myPred1"
 xmlns:myPred2="f:myPred2"
 xmlns:f="http://fxsl.sf.net/"
 exclude-result-prefixes="f myPred1 myPred2"
 >
  <xsl:import href="../f/func-someTrueP.xsl"/>
  
  <xsl:output omit-xml-declaration="yes"/>
  
   <!-- This transformation must be applied to:
        numList.xml 
     -->
     
  <myPred1:myPred1/>
  <myPred2:myPred2/>
  
  <xsl:variable name="vFunP1" select="document('')/*/myPred1:*[1]"/>
  <xsl:variable name="vFunP2" select="document('')/*/myPred2:*[1]"/>

  <xsl:template match="/">
     Some numbers are GT 8: <xsl:text/>
     <xsl:value-of select="f:someTrueP(/*/*, $vFunP1)"/>
     Some numbers are GT 10: <xsl:text/>
     <xsl:value-of select="f:someTrueP(/*/*, $vFunP2)"/>
  </xsl:template>
  
  <xsl:template match="myPred1:*" mode="f:FXSL">
    <xsl:param name="arg1" select="/.."/>
      <xsl:if test="$arg1 > 8">1</xsl:if>
  </xsl:template>

  <xsl:template match="myPred2:*" mode="f:FXSL">
    <xsl:param name="arg1" select="/.."/>
      <xsl:if test="$arg1 > 10">1</xsl:if>
  </xsl:template>
</xsl:stylesheet>
