1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="str"
xmlns:fn="http://www.w3.org/2005/02/xpath-functions">
<xsl:import href="str.tokenize.msxsl.xsl" />
<xsl:output indent="yes" method="text"/>
<xsl:variable name="hexDigits" select="'0123456789ABCDEF'" />
<xsl:template match="/">
<xsl:variable name="Tab1" select="str:tokenize(/XMLExport/NodeCorrelationGR/Output/Impulsions_correlees/Hauteur_RES,';')"/>
<xsl:variable name="Tab2" select="str:tokenize(/XMLExport/NodeCorrelationGR/Output/Impulsions_correlees/Largeur_RES,';')"/>
<xsl:for-each select="$Tab1">
<xsl:variable name="i" select="position()"/>
<xsl:variable name="String1" select="$Tab1[$i]"/>
<xsl:call-template name="Invert">
<xsl:with-param name="String" select="$String1"/>
</xsl:call-template>
<xsl:variable name="String2" select="$Tab2[$i]"/>
<xsl:call-template name="Invert">
<xsl:with-param name="String" select="$String2"/>
</xsl:call-template>
</xsl:for-each>
</xsl:template >
<xsl:template name="Invert">
<xsl:param name="String" />
<xsl:variable name="HexValue">
<xsl:call-template name="toHex">
<xsl:with-param name="decimalNumber" select="number($String)"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="AddValue">
<xsl:call-template name="ZeroAdd">
<xsl:with-param name="repeat" select="4-string-length($HexValue)"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="Hex" select="concat($AddValue,$HexValue)"/>
<xsl:value-of select="concat(substring($Hex,3,2),substring($Hex,0,3))"/>
</xsl:template>
<xsl:template name="toHex">
<xsl:param name="decimalNumber" />
<xsl:if test="$decimalNumber >= 16">
<xsl:call-template name="toHex">
<xsl:with-param name="decimalNumber" select="floor($decimalNumber div 16)" />
</xsl:call-template>
</xsl:if>
<xsl:variable name="Hex" select="substring($hexDigits,($decimalNumber mod 16) + 1, 1)" />
<xsl:value-of select="$Hex"/>
</xsl:template>
<xsl:template name="ZeroAdd">
<xsl:param name="repeat">0</xsl:param>
<xsl:if test="number($repeat) >= 1">
<xsl:value-of select="0"/>
<xsl:call-template name="ZeroAdd">
<xsl:with-param name="repeat" select="$repeat - 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet> |
Partager