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


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


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