If there is documentation about evaluation precedence, I haven't been able
to find it.

I'm not sure about your comments on needing more parenthesis or a missing
not. I have found that you can't nest these expressions too far (I think 3
levels is the maximum) because Frame completely crashes.

This part of the expression is the same for both:

not ( "DocIss" or "Internal" or "LP" or "LPvA" or "LPvB" or "LPvC" or "NoSeeEm"
or "SAS4" or "SAS4vA" or "SAS4vB" or "SAS4vC" or "TBP" or "WriterNote" )

and it's telling Frame not to show anything that has at least one of those
tags attached.

The second part is telling Frame that if the LITEvA tag is present in any
combination, it should be shown unless it is also tagged either Internal or
TBP.

So I'm trying to figure out why Frame wants each combination defined
separately. As far as I remember (and it's been a while since I did Boolean
logic),

(A and B) or (A and C) or (A and D) should be equivalent to (A and (B or C
or D)).

and

(A and B) and not (X or Y) or (A and C) and not (X or Y) should be
equivalent to (A and (B or C)) and not (X or Y)).

Why it isn't confuses me no end.






On Tue, Apr 18, 2017 at 1:01 PM, Robert Lauriston <rob...@lauriston.com>
wrote:

> Is there any documentation of the precedence and order of evaluation
> of FrameMaker's conditional tag logical operators?
>
> I feel like the second one needs more parentheses and might be missing
> a NOT. As written, it looks like it will show (1) everything with none
> of the condition tags in the set that starts with DocIss as well as
> (2) everything that's tagged LITEvA that also has at least one of the
> tags in the set that starts with LP unless it has a TBP or Internal
> tag.
>
> not ("DocIss" or ... "WriterNote")
> or
> ("LITEvA" and (("LP" or ... or "SAS4vC") and not ("TBP" or "Internal")))
>
> On Tue, Apr 18, 2017 at 7:32 AM, Lin Sims <ljsims...@gmail.com> wrote:
> > No one wants to tackle that wall o' text, huh? :)
> >
> > How's this, then. Could someone explain why these two expressions don't
> > have the same effect, even though (to my eyes) they are logically
> identical?
> >
> > This one works:
> >
> > not ( "DocIss" or "Internal" or "LP" or "LPvA" or "LPvB" or "LPvC" or
> "NoSeeEm"
> > or "SAS4" or "SAS4vA" or "SAS4vB" or "SAS4vC" or "TBP" or "WriterNote" )
> or (
> > "LITEvA" and "LP" ) and not ( "Internal" or "TBP" ) or ( "LITEvA" and
> > "LPvA" ) and not ( "Internal" or "TBP" ) or ( "LITEvA" and "LPvB" ) and
> not (
> > "Internal" or "TBP" ) or ( "LITEvA" and "LPvC" ) and not ( "Internal" or
> "TBP"
> > ) or ( "LITEvA" and "SAS4" ) and not ( "Internal" or "TBP" ) or (
> "LITEvA"
> > and "SAS4vA" ) and not ( "Internal" or "TBP" ) or ( "LITEvA" and
> "SAS4vB" ) and
> > not ( "Internal" or "TBP" ) or ( "LITEvA" and "SAS4vC" ) and not (
> > "Internal" or "TBP" )
> >
> > This one doesn't:
> >
> > not ( "DocIss" or "Internal" or "LP" or "LPvA" or "LPvB" or "LPvC" or
> "NoSeeEm"
> > or "SAS4" or "SAS4vA" or "SAS4vB" or "SAS4vC" or "TBP" or "WriterNote" )
> or (
> > "LITEvA" and (( "LP" or "LPvA" or "LPvB" or "LPvC" or "SAS4" or
> > "SAS4vA" or "SAS4vB"
> > or "SAS4vC" ) and not ( "TBP" or "Internal" ) ) )
> >
> > Specifically, I have some text marked with LP + LITEvA + TBP, LPvA +
> LITEvA
> > + TBP, and SAS4 + LITEvA + TBP that is hidden if I use the first
> expression
> > (which is what I want) and showing if I use the second (which is NOT
> what I
> > want).
> >
> > I'll use the first one (as it works correctly), but it is hard to build,
> > hard to read, and I'm still not sure if I have it built to address all
> > possible situations (although it works for the ones I've identified). But
> > I'd still like to understand why the second one doesn't work. Is this a
> > quirk of how FrameMaker interprets conditional expressions?
> >
> > And I'd also still like to know if there's a limit to how long an
> > expression can be. Since I have to add at least 2 new ones now, the
> > question is becoming important.
> >
> > On Wed, Apr 12, 2017 at 3:35 PM, Lin Sims <ljsims...@gmail.com> wrote:
> >
> >> Does Frame have a limit on how long the expression can be? I know from
> >> annoying experience that it has a limit on how many nested levels you
> can
> >> have. Are there any other gotchas that I should be aware of?
> >>
> >> -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+
> >>
> >> The rest of this email is background info to give y'all an idea of what
> >> I'm dealing with. Feel free to skip it unless you would like to provide
> >> some sympathy or are maybe a conditional expression guru and can offer
> some
> >> advice.
> >>
> >> I've currently got 14 different condition tags in a book, of which 3 are
> >> never seen publicly and are easy to deal with in the expression, 1 is
> used
> >> to indicate information that is under review for inclusion, and the
> other
> >> 10 overlap in various weird ways and took me, no lie, a week of
> >> experimentation to write 8 separate condition expressions to correctly
> >> generate the 8 different books being output from this set of files. (NB:
> >> There are 2 IPs. One currently has 3 versions, the other only has 1 but
> >> will likely have more soon, so I've already created tags to account for
> >> them.)
> >>
> >> They now want me to add another condition, which will actually wind up
> >> being as more than that since this is another IP with an unknown number
> of
> >> versions. (Hell, it's entirely possible the other two IPs will wind up
> with
> >> more versions than I've created tags for already, too.)
> >>
> >> I think I've worked out the how of adding the various "or" and "and not"
> >> expressions in, but I'm worried about any limits to Frame's capabilities
> >> here. Currently, my two longest expressions are 270 characters long, and
> >> I've managed so far to keep the parenthetical expressions to only 2
> levels.
> >>
> >> Below is one of the long expressions I'm talking about. If anyone has
> >> suggestions for making it more elegant, that'd be nice, too. (DocIss,
> >> NoSeeEm, and WriterNote are the ones never seen by anyone other than the
> >> developers and internal reviewers. TBP is the one for information under
> >> review, and is sometimes combined with one or more of the other
> conditions
> >> depending on which book the information is slated for. This thing is a
> >> BEAST.)
> >>
> >> not ( "DocIss" or "Internal" or "LP" or "LPvA" or "LPvB" or "LPvC" or
> "NoSeeEm"
> >> or "SAS4vB" or "SAS4vC" or "TBP" or "WriterNote" ) or ( "SAS4" and (
> >> "LPvB" or "LPvC" ) ) and not ("TBP" or "Internal") or ( "SAS4vA" and (
> >> "LPvB" or "LPvC" ) ) and not ("TBP" or "Internal")
> >>
> >> Regards,
> >>
> >> Lin Sims
> >>
> >
> >
> >
> > --
> > Lin Sims
> > _______________________________________________
> >
> > This message is from the Framers mailing list
> >
> > Send messages to framers@lists.frameusers.com
> > Visit the list's homepage at  http://www.frameusers.com
> > Archives located at http://www.mail-archive.com/
> framers%40lists.frameusers.com/
> > Subscribe and unsubscribe at http://lists.frameusers.com/
> listinfo.cgi/framers-frameusers.com
> > Send administrative questions to listad...@frameusers.com
> _______________________________________________
>
> This message is from the Framers mailing list
>
> Send messages to framers@lists.frameusers.com
> Visit the list's homepage at  http://www.frameusers.com
> Archives located at http://www.mail-archive.com/
> framers%40lists.frameusers.com/
> Subscribe and unsubscribe at http://lists.frameusers.com/
> listinfo.cgi/framers-frameusers.com
> Send administrative questions to listad...@frameusers.com
>



-- 
Lin Sims
_______________________________________________

This message is from the Framers mailing list

Send messages to framers@lists.frameusers.com
Visit the list's homepage at  http://www.frameusers.com
Archives located at http://www.mail-archive.com/framers%40lists.frameusers.com/
Subscribe and unsubscribe at 
http://lists.frameusers.com/listinfo.cgi/framers-frameusers.com
Send administrative questions to listad...@frameusers.com

Reply via email to