Re: [xsl] getting the longest text node

Subject: Re: [xsl] getting the longest text node
From: Rick Taylor <taylor@xxxxxxxx>
Date: Tue, 11 Mar 2003 16:58:29 -0700
I just thought I'd provide a variation. I can't make any performance claims vs. a sort in a for-each. Maybe someone else knows.

<xsl:template match="/">
  <xsl:apply-templates select="//orange">
   <xsl:sort data-type="number" order="descending" select="string-length(.)"/>
  </xsl:apply-templates>
</xsl:template>

<xsl:template match="orange">
 <xsl:if test="position()=1">
 <LongString type="{name()}" string-length="{string-length(.)}">
  <xsl:value-of select="."/>
 </LongString>
</xsl:if>
</xsl:template>

-rick

At 10:35 PM 3/11/03 +0100, you wrote:

hi!

i have a xml document like this:


<root> <foo> <apple>a</apple> <orange>oiasd</orange> </foo> <foo> <apple>hellooooo</apple> <orange>test</orange> </foo> </root>

what would be the most performant and best way to get
the longest text of a apple node, and the longest text
of a orange node?

thanks alot!

ciao!
florian


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list

Rick Taylor XML Developer PPDM Association


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread