Subject: RE: String matching without regex
From: Marcel Stör <marcel@xxxxxxxxxxxxxx>
Date: Fri, 28 Jan 2005 23:52:05 +0100
|
Marcel Stvr <mailto:marcel@xxxxxxxxxxxxxx> wrote:
> Hi all,
>
> For XML to HTML transformation I'd like to add the HTML <nobr> tag
> for each table cell that contains currency values (or <td nowrap> as
> an alternative). In my application currency values are values that
> always end with a . followed by two digits.
>
> [Test data]
> <?xml version="1.0" encoding="UTF-8"?>
> <test>
> <value>Hello World!</value>
> <value>CHF -1'125.25</value>
> <value>1'125.25</value>
> <value>125.25</value>
> <value>Hello World. Hello World. Hello World. Hello World. Hello
> World. Hello World.</value>
> </test>
>
> Using modern XSLT/XPath I could achieve this with the following XSL
> using regex:
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:fo="http://www.w3.org/1999/XSL/Format">
> <xsl:template match="test">
> <table>
> <tr>
> <xsl:for-each select="value">
> <td>
> <xsl:choose>
> <xsl:when test='matches(., ".*\.\d\d")'>
> <nobr>
> <xsl:value-of select="."/>
> </nobr>
> </xsl:when>
> <xsl:otherwise>
> <xsl:value-of select="."/>
> </xsl:otherwise>
> </xsl:choose>
> </td>
> </xsl:for-each>
> </tr>
> </table>
> </xsl:template>
> </xsl:stylesheet>
>
>
> How could I achieve the same using old-fashioned string functions
> such as substring and the like?
This is a great list! Lots of posts and lots of helpful replies.
I only wonder why my own post is the only unanswered posts for several days.
Did I not describe the problem in a way that should be easy to follow for
everyone? Is the problem a too trivial one? Or is it too complicated; rather
not I would guess... Did I out of lack of experience break any of the rules
of this mailing list?
I'm just wondering...
Marcel
|