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