Subject: Re: [xsl] not(not() and not()) From: Roger Glover <glover_roger@xxxxxxxxx> Date: Sat, 16 Nov 2002 22:37:20 -0800 (PST) |
Gustaf Liljegren <gustafl@xxxxxxxxxx> wrote: > I seem to have a problem with logic. I agree. This is a logic problem, not some esoteric behavior of XSLT. > <!-- Paint border unless it's the last row in the last rowgroup. --> > <xsl:if test="not(not(parent::tr/following-sibling::tr) and > not(ancestor::tbody/following-sibling::tbody))"> > <xsl:call-template name="draw-border-bottom"/> > </xsl:if> > > is not exactly the same as this: > > <!-- Paint border unless it's the last row in the last rowgroup. --> > <xsl:if test="parent::tr/following-sibling::tr and > ancestor::tbody/following-sibling::tbody"> > <xsl:call-template name="draw-border-bottom"/> > </xsl:if> > > The first gives the correct result, but the second paints borders only on > all but the last rowgroup. Shouldn't "... and ..." always be the same as > "not(not(...) and not(...))"? If not, is it a better way to write the above? The logic principle that applies here is commonly referred to as "DeMorgan's Law". Using your notation, DeMorgan's Law states that "... and ..." is always the same as "not(not(...) or not(...)). That is not the usual formulation though; the usual forulation reads like this: for any boolean-valued expressions A and B, "not(A and B) = not(A) or not(B)". Applying a not() operation to both sides of the equation leads to the formulation that directly answers your question So, in other words, if you want to negate an logical expression of "ANDed" terms, you can do it by negating the individual terms *AND* changing the "ANDs" to "ORs". ===== -- Roger Glover "Have you ever noticed, it's 'a penny for your thoughts', but you put in your 'two cents worth'?.... Somebody somewhere is making a penny." - Steven Wright __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - Let the expert host your site http://webhosting.yahoo.com XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] not(not() and not()), Brian Grainger | Thread | RE: [xsl] not(not() and not()), Yates, Danny (ANTS) |
Re: [xsl] not(not() and not()), Brian Grainger | Date | RE: [xsl] fo:table border, Satish Kumar.R- CTD, |
Month |