Subject: Re: [xsl] How the other half live From: Florent Georges <lists@xxxxxxxxxxxx> Date: Tue, 18 Nov 2008 16:16:39 +0100 (CET) |
Hi, I totally agree. I don't like to reduce the size of the code if it reduces its readability as well. But a concise code is often more readable. And really, I think the following expression: (: items that appears at least twice in $vSeq :) $vSeq[index-of($vSeq,.)[2]] IS more readable than this one: (: items that appears at least twice in $vSeq :) distinct-values( for $item in $seq return if (count($seq[. eq $item]) > 1) then $item else ()) (and yes, the comment is important :-p) Regards, -- Florent Georges http://www.fgeorges.org/ Dimitre Novatchev wrote: > On Mon, Nov 17, 2008 at 12:53 PM, Michael Kay <mike@xxxxxxxxxxxx> > wrote: > > > I quite like the fact that this generalizes. > > > > $vSeq[index-of($vSeq,.)[$i]] > > > > Yes, I intentionally omitted this in order not to overload the > readers, nevertheless anyone who tries the five problems will > naturally notice this generalization. > > As for Colin's objections against writing tight code, he is partially > right. I typically try to make my code readable by including > delimiting empty lines, or by placing an expression on many lines and > aligning its components vertically, so that it is visually intuitive > and doesn't require horizontal scrolling. > > This said, there would be no great formulas (remember Einstein's e = > mc^2) if we always tried to expand and make them more readable. > Nobody would be able to remember them... > > $vSeq[index-of($vSeq,.)[2]] > > is a formula. > > > -- > 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 Mon, Nov 17, 2008 at 12:53 PM, Michael Kay <mike@xxxxxxxxxxxx> > wrote: > > Yes, it's an amusing one. It's the first time I have ever come > across a > > useful way of using a filter expression where the predicate > evaluates to an > > integer that's variable, ie. a function of the context item. > > > > I quite like the fact that this generalizes. > > > > $vSeq[index-of($vSeq,.)[$i]] > > > > produces a list of the (distinct) values in $vseq that have at > least $i > > occurrences. > > > > Michael Kay > > http://www.saxonica.com/ > > > >> -----Original Message----- > >> From: Dave Pawson [mailto:davep@xxxxxxxxxxxxx] > >> Sent: 17 November 2008 19:02 > >> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > >> Subject: [xsl] How the other half live > >> > >> Thinking a little more deeply about xslt. > >> > >> > http://dnovatchev.spaces.live.com/Blog/cns!44B0A32C2CCF7488!904.entry > >> > >> Dimitre is deceptively good. > >> > >> Please allow some time to study the link. > >> > >> regards > >> > >> -- > >> Dave Pawson > >> XSLT XSL-FO FAQ. > >> http://www.dpawson.co.uk
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How the other half live, Dimitre Novatchev | Thread | [xsl] FO: block, padding and border, Florent Georges |
Re: [xsl] How the other half live, Andrew Welch | Date | Re: [xsl] How the other half live, Dimitre Novatchev |
Month |