|
Subject: RE: Computing string-value of nodesets From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Sat, 11 Nov 2000 02:40:19 -0800 (PST) |
Here's a non-recursive solution (because some XSLT processors will
crash when performing a highly recursive transformation):
<xsl:template name="averageLength">
<xsl:param name="pValue"/>
<xsl:variable name="vContainer">
<xsl:for-each select="$pValue">
<xsl:element name="body">
<xsl:copy-of select="."/>
</xsl:element>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="theParent"
select="msxsl:node-set($vContainer)"/>
<xsl:choose>
<xsl:when test="count($theParent//text()) > 0">
<xsl:value-of select="string-length($theParent) div
count($theParent//text())"/>
</xsl:when>
<xsl:otherwise>
0
</xsl:otherwise>
</xsl:choose>
</xsl:template>
Cheers,
Dimitre Novatchev.
P.S. Oviously, the result will vary depending on whether and how
<xsl:strip-space> is used.
---------------Original Message-----------------------------
From: Kay Michael <Michael.Kay@xxxxxxx>
Subject: RE: Computing string-value of nodesets
> I'd like to know the average string-length of a collection of
> nodes (in a nodeset).
You can program this by a recurive template, or you can use the Saxon
extension function:
saxon:sum( $nodes, saxon:expression('string-length(.)'))
Mike Kay
__________________________________________________
Do You Yahoo!?
Thousands of Stores. Millions of Products. All in one Place.
http://shopping.yahoo.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: Computing string-value of nodes, Kay Michael | Thread | xsl:exclude-result-prefixes, Nick-Lawson.org |
| RE: use <xsl:value-of> within an at, Kaganovich, Yevgeniy | Date | XPath help, edmund mitchell |
| Month |