This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Get an element with max. number of certain children element
- From: bryan dot s dot schnabel at exgate dot tek dot com
- To: xsl-list at lists dot mulberrytech dot com
- Date: Thu, 17 Jan 2002 15:44:41 -0800
- Subject: RE: [xsl] Get an element with max. number of certain children element
- Reply-to: xsl-list at lists dot mulberrytech dot com
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