xsl-list
[Top] [All Lists]

Re: [xsl] Getting max/min numbers out of nested structure

2013-06-10 10:42:25
What's wrong with

<xsl:for-each select="//a">
  <xsl:value-of select="min(.//box), max(.//box)"/>
</xsl:for-each>

Michael Kay


On 10 Jun 2013, at 16:35, Michele R Combs wrote:

Given this nested structure (hope it comes through legibly):

<a>
     <b>
          <box>1</box>
          <box>1</box>
     </b>
     <b>
          <box>1</box>
          <box>2</box>
          <c>
               <box>2</box>
               <box>2</box>
          </c>
     </b>
</a>
<a>
     <b>
          <box>3</box>
          <box>4</box>
          <c>
               <box>6</box>
               <box>6</box>
          </c>
          <box>5</box>
          <box>5</box>
     </b>
     <b>
          <box>5</box>
          <box>5</box>
     </b>
</a>

What is the easiest way to find the max/min box numbers in each <a>?  That 
is, for the first <a> I want "1-2" and for the second <a> I want "3-6."  FYI, 
in the real data, rather than stopping at three nested levels (a, b, c) it 
can potentially go up to 12 (!!).  Normally I would simply grab the value 
from the first descendant and the value from the last descendant, but it 
turns out that sometimes the numbers aren't in order within the document tree 
(as shown in the second <a>) so that's not reliable enough.

Thanks --

Michele

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


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