home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / XML Utilities / Professional Programmer XSL IDE / Xselerator25.msi / Data.Cab / F40036_hextodecimal.xsl < prev    next >
Encoding:
Extensible Markup Language  |  2001-11-17  |  1021 b   |  32 lines

  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  2. xmlns:hex-converter="f:hex-converter"
  3. >
  4.   <xsl:import href="str-foldl.xsl"/>
  5.   
  6.   <hex-converter:hex-converter/>
  7.   
  8.   <xsl:variable name="hexDigits" select="'0123456789ABCDEF'"/>
  9.   
  10.   <xsl:template name="hex-to-decimal">
  11.     <xsl:param name="pxNumber"/>
  12.     
  13.     <xsl:variable name="vFunXConvert" 
  14.                   select="document('')/*/hex-converter:*[1]"/>
  15.     
  16.     <xsl:call-template name="str-foldl">
  17.       <xsl:with-param name="pFunc" select="$vFunXConvert"/>
  18.       <xsl:with-param name="pA0" select="0"/>
  19.       <xsl:with-param name="pStr" select="$pxNumber"/>
  20.     </xsl:call-template>
  21.   </xsl:template>
  22.   
  23.   <xsl:template match="hex-converter:*">
  24.     <xsl:param name="arg1"/> <!-- $pA0 -->
  25.     <xsl:param name="arg2"/> <!-- a char (digit) -->
  26.     
  27.     <xsl:value-of select="16 * $arg1 
  28.                         + string-length(substring-before($hexDigits, $arg2))"/>
  29.   </xsl:template>
  30. </xsl:stylesheet>
  31.  
  32.