Subject: RE: [xsl] Looping over characters in a string From: "Jarno Elovirta" <jarno@xxxxxxxxxxxxxx> Date: Thu, 10 May 2001 09:12:44 +0300 |
Heippa! > Is it possible to loop over characters in a string? For example, I want: > > XML: <tag>value</tag> > > HTML: XXXXXvalue > (5 X's, 1 for each character of 'value') > [...] > > Does anyone have the magic XSL code for this? Not exactly magic, but would this do? [c:\temp]type test.xml <?xml version="1.0" encoding="ISO-8859-1"?> <tag>value</tag> [c:\temp]type test.xsl <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" /> <xsl:template match="/"> <xsl:call-template name="loop"> <xsl:with-param name="index" select="string-length(tag)" /> </xsl:call-template> <xsl:value-of select="tag"/> </xsl:template> <xsl:template name="loop"> <xsl:param name="index" /> <xsl:if test="$index"> <xsl:text>X</xsl:text> <xsl:call-template name="loop"> <xsl:with-param name="index" select="$index - 1" /> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet> [c:\temp]jd test.xml test.xsl XXXXXvalue Or if you want to use the Piez Method/Hack [c:\temp]type test.xsl <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" /> <xsl:template match="/"> <xsl:for-each select="(document('')//node())[position() <= string-length(current()/tag)]">X</xsl:for-each> <xsl:value-of select="tag"/> </xsl:template> </xsl:stylesheet> Hope this wasn't too boring, hopefully someone else will post magic XLST, which will be really cool and ASCII art too. Jarno - Wumpscut: I Want You XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Looping over characters in a , Theodore Weatherly | Thread | Re: [xsl] Looping over characters i, Jeni Tennison |
Re: [xsl] Ordering of Blocks based , Dave Gomboc | Date | Re: [xsl] import/include and apply-, Janning Vygen |
Month |