
Below is a summary of all the major parts of the logic-base. Items in italics are provided by you. Items separated by vertical bars | indicate any one of the choices may be selected. Curly brackets {} are used around optional items. Note the placement of square brackets [] to indicate lists and the closing period.
question(fact-name,
[
{firstForm}
prompt = $prompt-text$,
ask = field | yes_no | menu(['choice1', 'choice2', ... 'choiceN']),
{style = listbox | listboxMultiple | checkbox | radio
{length = number},
{default = $string$,}
{related = [fact1, fact2, ... factN],}
{itemSeparator = $string$,}
{questionSeparator = $string$}
]).
Note each item must be followed by a comma, except the last one. Also note the careful placement of []'s, ()'s and the ending . period.
if expression then goal = answer.
Expression consists of:
fact operator value {and | or fact operator value}
where operator is one of
|
= |
equal |
|
\= |
not equal |
|
< |
less than |
|
> |
greater than |
|
<= |
less than or equal |
|
>= |
greater than or equal |
|
include |
included in list |
|
exclude |
not included in list |
Expressions can be grouped with parentheses (), and linked together with 'and' and 'or'.
answer(answer-name,
[
{text = $short-answer-text$,}
{text = [$long-answer-text-string1$,
$long-answer-text-string2$,
. . .
$long-answer-text-stringN$],}
{htmlFile = 'html-filename',}
{note = [note1, note2, ... noteN]}
]).
Answers follow the same syntax as fact attributes. Note each item must be followed by a comma, except the last one. Also note the careful placement of []'s, ()'s and the ending . period.
note(note-name,
[
{text = $short-answer-text$,}
{text = [$long-answer-text-string1$,
$long-answer-text-string2$,
. . .
$long-answer-text-stringN$],}
]).
Copyright ©1996 Amzi! inc. All Rights Reserved.