|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] String matching without regex
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? Marcel Stvr http://www.frightanic.com
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|






