|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Computing string-value of nodesets
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
|
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
|

Cart








