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: Xiaocun Xu <xiaocunxu at yahoo dot com>
- To: Jeni Tennison <jeni at jenitennison dot com>
- Cc: xsl-list <xsl-list at lists dot mulberrytech dot com>
- Date: Fri, 18 Jan 2002 12:04:45 -0800 (PST)
- Subject: Re: [xsl] Get an element with max. number of certain children element
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi, Jeni:
Yeah, you are right, I meant "shorter" :)
Looks like shorter solution is less efficient; while
more efficient solution is longer. I eventually went
with the recusrive template solution you have
suggested to accomplish what I needed.
Much thanks,
Xiaocun
> > 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?
>
> If by 'more elegant', you mean shorter, then I think
> that what you're
> after is a way of finding the LineItem elements that
> contain the
> $maxAttachment number of Attachment elements. You
> could do this with:
>
> <xsl:for-each select="LineItem[count(Attachment) =
> $maxAttachment][1]
> /Attachment">
> <xsl:text>,Name,URL,Description</xsl:text>
> </xsl:for-each>
>
> [Note that if there's more than one LineItem with
> the same (maximum)
> number of Attachment children, then you'll get the
> first one in
> document order.]
>
> It's short, but it is not very efficient - not only
> do you have to go
> through all the LineItem elements in order to work
> out what the
> $maxAttachment is, you have to go through them all
> again, doing
> exactly the same calculation on them, to work out
> whether they're the
> one with the maximum number of attachments. But you
> might not care
> about performance, I guess...
>
> Cheers,
>
> Jeni
>
> ---
> Jeni Tennison
> http://www.jenitennison.com/
>
__________________________________________________
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