Subject: [xsl] xsl not powerfull enough (was: re: xsl-sort) From: Goetz Bock <bock@xxxxxxxxxxx> Date: Sat, 23 Dec 2000 17:45:18 +0100 |
On Sat, Dec 23 '00 at 08:48, Jack A. Zucker wrote: > Maybe I need to do more homework but it seems that xslt is not a very rich > programming language for general-purpose stuff which is why I was previously > using script to do certain things. For example, how do you output a number > as a hex string in xsl(t) without resorting to indexing into an array of > characters representing the hex digits? The same way you do it with any other programmin language that does not bring a function for this (how did you do it?): <xsl:template name="printHex"> <xsl:param name="number">0</xsl:param> <xsl:variable name="low"> <xsl:value-of select="$number mod 16"/> </xsl:variable> <xsl:variable name="high"> <xsl:value-of select="floor($number div 16)"/> </xsl:variable> <xsl:choose> <xsl:when test="$high > 0"> <xsl:call-template name="printHex"> <xsl:with-param name="number"> <xsl:value-of select="$high"/> </xsl:with-param> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:text>0x</xsl:text> </xsl:otherwise> </xsl:choose> <xsl:choose> <xsl:when test="$low < 10"> <xsl:value-of select="$low"/> </xsl:when> <xsl:otherwise> <xsl:variable name="temp"> <xsl:value-of select="$low - 10"/> </xsl:variable> <xsl:value-of select="translate($temp, '012345', 'ABCDEF')"/> </xsl:otherwise> </xsl:choose> </xsl:template> It XSL-T's div would have been a div and not a / this would have taken about 5 min ... Goetz.
Attachment:
pgp00003.pgp
Description: PGP signature
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] re: xsl-sort, Jack A. Zucker | Thread | Re: [xsl] re: xsl-sort, Jeni Tennison |
Re: [xsl] vertical centering of a b, Fred Romelfanger | Date | Re: [xsl] Include files, Jeni Tennison |
Month |