Subject: Re: [xsl] things about grouping From: Ihe Onwuka <ihe.onwuka@xxxxxxxxx> Date: Thu, 29 Nov 2012 11:35:22 +0000 |
On Thu, Nov 29, 2012 at 10:12 AM, Graydon <graydon@xxxxxxxxx> wrote: > On Thu, Nov 29, 2012 at 05:58:45AM +0000, Ihe Onwuka scripsit: >> > Since we're talking about "except" and language definitions, has anyone >> > ever proposed a different form (or is there a different form for) the >> > construct: >> > >> > div[not(* except (heading,para))] >> > >> > It's really useful, but I find it frequently brain-melting, especially >> > as a component of more complex expressions. >> >> A problem here is the mixture of notation from mathematical (set >> theoretic in the form of except) and non-mathematical (the comma >> operator). > [snip] >> Now (get ready for the leap of faith and giant hand wave), substitute >> the comma operator back for the | and you have div[(heading,para] > > All the divs who have heading or para children, yes, but that's not > quite the same thing. > > Unless I'm unusually addled this morning, > > div[not(* except (heading,para))] > > is a div which has _only_ heading or para children > Well the problem is with the semantic effect of div [ ] not the set theoretical translation of the predicate. Returning to my earlier notation take the complement of what we ended up with (heading|para)' Only - would be things that are not in the above expression - we are in to double negative territory. div[not(heading|para)'] (that should bother you - well it does me) but you could do a mechanical DeMorgan translation to turn that into something that keeps the computer happy div[(not ((* except heading ) union (* except para))] while you mentally continue to parse it as div[not(heading|para)']
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] things about grouping, Graydon | Thread | Re: [xsl] things about grouping, David Carlisle |
Re: [xsl] things about grouping, David Carlisle | Date | Fwd: [xsl] things about grouping, Wendell Piez |
Month |