This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Get an element with max. number of certain children element


Xu,

Try changing your
 <xsl:value-of select="."/>
to
 <xsl:copy-of select="."/>

and then
 <xsl:for-each select="$maxAttachment/Attachment">
to
 <xsl:for-each select="$maxAttachment//Attachment">



-----Original Message-----
From: Xiaocun Xu [mailto:xiaocunxu@yahoo.com]
Sent: Thursday, January 17, 2002 2:42 PM
To: xsl-list
Subject: [xsl] Get an element with max. number of certain children
element


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

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]