p5xsl.ascii.xsl 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. xmlns:p5xsl="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/xsl_interface/xsl_interface.xsd"
  5. exclude-result-prefixes="xs"
  6. version="2.0">
  7. <xsl:function name="p5xsl:ascii">
  8. <xsl:param name="char"/>
  9. <xsl:choose>
  10. <xsl:when test="lower-case($char)='a'"><xsl:value-of select="65"/></xsl:when>
  11. <xsl:when test="lower-case($char)='b'"><xsl:value-of select="66"/></xsl:when>
  12. <xsl:when test="lower-case($char)='c'"><xsl:value-of select="67"/></xsl:when>
  13. <xsl:when test="lower-case($char)='d'"><xsl:value-of select="68"/></xsl:when>
  14. <xsl:when test="lower-case($char)='e'"><xsl:value-of select="69"/></xsl:when>
  15. <xsl:when test="lower-case($char)='f'"><xsl:value-of select="70"/></xsl:when>
  16. <xsl:when test="lower-case($char)='g'"><xsl:value-of select="71"/></xsl:when>
  17. <xsl:when test="lower-case($char)='h'"><xsl:value-of select="72"/></xsl:when>
  18. <xsl:when test="lower-case($char)='i'"><xsl:value-of select="73"/></xsl:when>
  19. <xsl:when test="lower-case($char)='j'"><xsl:value-of select="74"/></xsl:when>
  20. <xsl:when test="lower-case($char)='k'"><xsl:value-of select="75"/></xsl:when>
  21. <xsl:when test="lower-case($char)='l'"><xsl:value-of select="76"/></xsl:when>
  22. <xsl:when test="lower-case($char)='m'"><xsl:value-of select="77"/></xsl:when>
  23. <xsl:when test="lower-case($char)='n'"><xsl:value-of select="78"/></xsl:when>
  24. <xsl:when test="lower-case($char)='o'"><xsl:value-of select="79"/></xsl:when>
  25. <xsl:when test="lower-case($char)='p'"><xsl:value-of select="80"/></xsl:when>
  26. <xsl:when test="lower-case($char)='q'"><xsl:value-of select="81"/></xsl:when>
  27. <xsl:when test="lower-case($char)='r'"><xsl:value-of select="82"/></xsl:when>
  28. <xsl:when test="lower-case($char)='s'"><xsl:value-of select="83"/></xsl:when>
  29. <xsl:when test="lower-case($char)='t'"><xsl:value-of select="84"/></xsl:when>
  30. <xsl:when test="lower-case($char)='u'"><xsl:value-of select="85"/></xsl:when>
  31. <xsl:when test="lower-case($char)='v'"><xsl:value-of select="86"/></xsl:when>
  32. <xsl:when test="lower-case($char)='y'"><xsl:value-of select="87"/></xsl:when>
  33. <xsl:when test="lower-case($char)='z'"><xsl:value-of select="88"/></xsl:when>
  34. <xsl:otherwise><xsl:value-of select="1"/></xsl:otherwise>
  35. </xsl:choose>
  36. </xsl:function>
  37. <xsl:function name="p5xsl:ascii.sum">
  38. <xsl:param name="text"/>
  39. <xsl:variable name="string">
  40. <string>
  41. <xsl:for-each select="1 to string-length($text)">
  42. <char><xsl:value-of select=" p5xsl:ascii(substring($text, current(),1))"/></char>
  43. </xsl:for-each>
  44. </string>
  45. </xsl:variable>
  46. <xsl:value-of select="sum($string//char/text())"/>
  47. </xsl:function>
  48. </xsl:stylesheet>