|
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 |