[Date Prev][Date Next]
[Thread Prev][Thread Next]
[Date Index]
[Thread Index]
[New search]
To: framescript-users@xxxxxxxxxxxxxxx
Subject: Re: Expressions of interest wanted: implementing smart conditions ($$$$$$$)
From: hedley_finger@xxxxxxxxxxx
Date: Wed, 7 Mar 2001 11:29:35 +1000
Cc: framers@xxxxxxxxx, framers@xxxxxxxxxxxxxx
Sender: owner-framers@xxxxxxxxx
Scriptoleurs:
My previous post, after a verbose preamble, was actually seeking
expressions of interest from people who would like to develop a FrameScript
application for my acquaintance.
**** YES ****
##### Fame ##### Fortune ##### Lifestyle ##### can be yours! Now read on
...
^
|
(i.e. money)
Regards,
Hedley
----- Forwarded by Hedley Finger/AU/MYOB on 07/03/2001 12:05 PM -----
Scripters:
An acquaintance has handed me a nice little problem involving conditions.
A legacy user guide contains 161 conditions to cover various contingencies.
This is a single-source document from which many different kinds of
deliverables are produced. The condition formats can be divided into
atomic conditions and compound conditions.
ATOMIC CONDITIONS
Some examples of atomic conditions are:
CONDITION TYPE ATOMIC CONDITION FORMATS
Market au, uk, us, ca
Platform mac, win
Deliverable help, print, pdf
Product AcmeBland, AcmeSuper, AcmeHyper
Product Features audittrail, filesynch
COMPOUND CONDITIONS
The compound conditions are various combinations of the atomic conditions,
for example,
au&pdf, help&mac
and so on.
COMPOUNDS SOLVE CONDITIONAL 'OR' PROBLEM
The compound conditions exist to get around FrameMaker's inability to AND
overlapping conditions. For example, where <a> starts a condition and </a>
ends a condition,
xxx x xxxx <a>aaaaaa aaaaa aaa <b>ababab ab abab</a> bbbb bbb</b> xxxx
the string 'ababab ab abab' has both <a> and <b> conditions applied.
If condition <a> is hidden but <b> is revealed, the string 'ababab ab abab'
is always revealed. That is, if condition <a> is revealed OR condition <b>
is revealed, then the string is revealed.
A compound condition <a&b> is created to solve this problem:
xxxx <a>aaaaaa aaaaa</a><a&b>ababab ab</a&b><b> bbbb bbb</b> xxxx
The user hides both conditions <a> and <a&b> in order to hide the string
'ababab ab'. But this way madness lies: five conditions can lead to 2^5 =
32 potential compound conditions (remember Permutations and Combinations
from high school maths?).
[Ahem! Michael Mueller-Hillebrand correctly points out that the number of
combinations is a factorial:
conditions! = 14! = 7.6 x 10^24 (whew!)
In practice, there are 161 different atomic and compound conditions in use;
still a lot!]
A POSSIBLE FRAMESCRIPT SOLUTION
The desired behaviour is for conditions to be ANDed: if condition <a> is
revealed AND condition <b> is revealed, then the string is revealed. If
one condition is hidden, the AND expression is FALSE, causing the string to
be hidden.
The user would initially apply only atomic conditions to the text,
overlapping them as necessary.
A FrameScript would ask the user which conditions are to be hidden. It
would then scan the text and, wherever it found an overlap of revealed and
hidden conditions, it would create a temporary compound condition. It
would then hide the compound conditions and the specified atomic
conditions.
After the deliverable had been generated, another FrameScript would revert
all the compound conditions to overlapping atomic conditions.
DIFFICULTY OF IMPLEMENTATION
This person is considering commissioning such a FrameScript and therefore
seeks expressions of interest from this list. But first ...
@ Is the algorithm outlined above possible?
@ How slow would it be? I have a horrible suspicion that the script
would
have to loop over each character in a para, testing for conditions, in
order to locate the start and end points of overlapping conditions.
Looping over an entire book's worth of paras could take weeks.
@ How many hours of effort would be required? I don't have the time for
this
interesting intellectual challenge but need to go to this person with
some
idea of time and effort.
@ Can anybody think of a more elegant and faster algorithm?
[Windows 2000, FrameMaker 5.5.6p145, FrameScript 1.27C01, Enhance 2.03,
Acrobat 4.05.2, mif2go 31r25, IXgen 5.5.h]
Regards,
Hedley
--
Hedley Finger, Technical communicator and FrameMaker mentor
Adobe Certified Expert, FrameMaker 5.5.x
MYOB Australia
<http://www.myob.com> <http://www.myob.com.au>
P.O. box 371 Blackburn VIC 3130 Australia
370 Whitehorse Road Nunawading VIC 3010 Australia
Tel. +61 3 9894 0945 Mob. +61 412 461 558
<mailto:hedley_finger@myob.com.au>
** To unsubscribe, send a message to majordomo@omsys.com **
** with "unsubscribe framers" (no quotes) in the body. **