Re: [xsl] How the other half live

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