This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: to extract the longest string (fwd)
- To: xsl-list at mulberrytech dot com
- Subject: Re: to extract the longest string (fwd)
- From: "C.V. Radhakrishnan" <cvr at md2 dot vsnl dot net dot in>
- Date: Fri, 18 Aug 2000 13:43:16 +0530 (IST)
- Reply-To: xsl-list at mulberrytech dot com
I tested the following code in SAXON and I could not get the
expected longest string, which is "cxxyycc".
Please check
Thanks
<?xml version="1.0"?>
<table>
<row>
<col align="l"/>
<col align="l"/>
<col align="l"/>
</row>
<row>
<col align="cxxyy"/>
<col align="c"/>
<col align="c"/>
</row>
<row>
<col align="cxx"/>
<col align="c"/>
<col align="c"/>
</row>
<row>
<col align="cx"/>
<col align="c"/>
<col align="c"/>
</row>
</table>
**********************************************************************
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0">
<xsl:template match="table">
<xsl:variable name="longest">
<xsl:apply-templates select="row[1]" mode="get-longest" />
</xsl:variable>
</xsl:template>
<xsl:template match="row" mode="get-longest">
<xsl:variable name="current">
<xsl:for-each select="col">
<xsl:value-of select="@align" />
</xsl:for-each>
</xsl:variable>
<xsl:variable name="longest">
<xsl:apply-templates select="following-sibling::row[1]"
mode="get-longest" />
</xsl:variable>
<xsl:choose>
<xsl:when test="string-length($longest) > string-length($current)">
<xsl:value-of select="$longest"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="$current" /></xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Rajagopal
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list