xsl-list
[Top] [All Lists]

Re: [xsl] How the other half live

2008-11-18 11:00:48
What about:

<xsl:for-each-group select="$seq" group-by=".">
 <xsl:sequence select="current-group()[$i]"/.
</xsl:for-each-group>

Probably the best XSLT solution.

However, the task was XPath-only.


-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play




On Tue, Nov 18, 2008 at 7:21 AM, Michael Kay <mike(_at_)saxonica(_dot_)com> 
wrote:

for $d in distinct-values($seq) return $d[count($seq[. eq $d]) ge $i]

equivalent?  I think it is, and probably a lot more
efficient, although it is longer.


They are both O(n^2).

What about:

<xsl:for-each-group select="$seq" group-by=".">
 <xsl:sequence select="current-group()[$i]"/.
</xsl:for-each-group>

which also scores quite well on brevity, I think - in syntax tree form, it
has 6 nodes which is the same as Dimitre's expression; and I think it rates
higher on both efficiency and clarity.

Michael Kay
http://www.saxonica.com/


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>