[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] Get an element with max. number of certain children element


Subject: [xsl] Get an element with max. number of certain children element
From: Xiaocun Xu <xiaocunxu@xxxxxxxxx>
Date: Thu, 17 Jan 2002 14:41:37 -0800 (PST)

Hi,

  I have researched archive and been using Jeni's
solution on getting the element with max. number of
certain children element via xsl:sort.

<xsl:variable name="maxAttachment">
  <xsl:for-each select="LineItem">
    <xsl:sort select="count(Attachment)"
order="descending" />
    <xsl:if test="position() = 1">
      <xsl:value-of select="."/>
    </xsl:if>
  </xsl:for-each>
</xsl:variable>

Then I wish to use this variable later in:
<xsl:for-each select="$maxAttachment/Attachment">
  <xsl:text>,Name,URL,Description</xsl:text>
</xsl:for-each>

The problem seems that xsl:variable will not produce
node-set, which I need.  I am aware of the solutions
(via recursion or temp node-set) that uses
$maxAttachment as a number (count(Attachment)), but is
there a more elegent solution that does not require
processor-dependent extensions?

Much thanks,
Xiaocun

__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/

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



Current Thread