xsl-list
[Top] [All Lists]

Re: getting the longest text node

2003-04-03 04:08:02


right now i do it via:

<xsl:for-each select="/*/*">
  <xsl:for-each select="/*/*[local-name = local-name(current())]">

...

wrong?




hi!

how could i access the nodes though, if all i know is their structure
but 'foo', 'orange' and 'apple' could be also any other name.. and
foo could also contain a flexible amount of children..

all i could think off is some kinda akward looking looping.. : /

ciao!
florian


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



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



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



<Prev in Thread] Current Thread [Next in Thread>