<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:js="http://whatever">
  <xsl:variable name="baseNumber" select="3"/>
  <xsl:variable name="powerOf" select="2"/>
  <xsl:output method="text" />
  <!--
  Variables:
    $baseNumber = starting number
    $powerOf = $baseNumber to the power of this number
  -->
  <xsl:template match="/">
    <xsl:value-of select="$baseNumber"/>
      to the power of <xsl:value-of select="$powerOf"/>
      is <xsl:value-of select="js:Power($baseNumber, $powerOf)"/>
  </xsl:template>
  
  <msxsl:script implements-prefix="js" language="JavaScript">
    <![CDATA[
      function Power(baseNumber, powerOf) {
        temp = 1;
        for (i = 1; i <= powerOf; i++)
          temp = temp * baseNumber;
        return temp;
      }
    ]]>
  </msxsl:script>
</xsl:stylesheet>