[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Getting a longest node
Esteemed XSLers: Does anyone know a way I could define a variable that would contain the number of characters in the longest node in a node-set? Let the node set in question be //DIV[@type='Chapter']: if I have three, with string lengths 88888, 99999, and 111110, I want my variable to be 111110. I tried iterating over the node set and resetting a variable if it passes the greater-than test -- <xsl:template name="getlongest"> <xsl:param name="nodeset"/> <xsl:param name="longest" select="0"> <xsl:for-each select="$nodeset"> <xsl:if test="string-length(.) > $longest"> <xsl:variable name="longest" select="string-length(.)"> </xsl:if> </xsl:for-each> <xsl:value-of select="$longest"/> </xsl:template> But of course since the reset variable is only scoped within the xsl:for-each, all I get back is zero. :-> I think I know I have to do this with some kind of recursion, but I can't get my head around how. Can anyone with a fresh mind think of the solution? A good way to warm up on a Monday? I'll give you credit in my stylesheet.... TIA! Wendell Piez ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ====================================================================== 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
|