Here are a few examples of <<*Ask*>> prompts. (The first line is the Ask. The other lines are the <<*Options*>> or <<*Optional*>> text blocks against which the !group! value is applied.) You can copy any (or all) of the examples to your editing screen and see how the elements work together.

<<*AskOptions*!Customer!male/female/more than one*>>

Memo to JRT:

Send this package to <<*Options*!Customer!him/her/them>>.

<<*Options*!Customer!He is/She is/They are>> going to sign it send it on to <<*Options*!Customer!his/her/their>> attorney.


<<*AskOptional*!Children!Will there be young children attending?*>>

We are having a party. Date: [Date of Party]

Location: [Location of Party]

<<*Optional*!Children!*Your children are invited.>>

Please bring a covered dish and your favorite beverages.

<<*Optional*!Children!*Make sure that your children bring their favorite toys.>>


   Here is an example that illustrates the point about a 'less than obvious answer' *Options* block. If the *Ask* prompt were not present, an end user who is unfamiliar with the periodic table likely would not be able to process the document with confidence:


Here is a great experiment, boys and girls, that you can try at home:

Pour 10 ounces of finely ground <<*Options*!Metal!*Au/Fe/C/Hg>> into a bowl.

Add a 16 ounces of H20 and 3 jelly beans. Mix well. Heat in oven at 400 degrees for 5 minutes. Let cool 22 minutes.

Out will come a shiny new <<*Options*!Metal!*Ring/Car/Diamond/Thermometer>>!

(My lawyer made me do this: Please for goodness sake, do not try this at home (or anywhere else)!! It won't work. Besides, 400 degrees is really hot!)


  This example illustrates cascading logic in an Estate Planning setting. It captures

whether there are children in the mix and if so,

 how many children there are

 If just 1, whether the child is a 'son' or 'daughter' ("To my child" in a Will sounds so 'stiff' whereas 'to my children' always sounds 'good'), and

 whether any child is still a minor (so that perhaps a Guardian can be appointed).

(Note: This is not the only approach, so don't hesitate to be creative and design an even more efficient cascade.":

<<*AskOptions(radio)*!HasChildren!Client has children/Client has no children*>>

<<*If*!HasChildren!="1",<<*AskRepeat*!NumChildren!Number of Children*>>,!NumChildren!="0(#)">>


<<*If*!NumChildren!>"0",<<*AskOptions(radio)*!AllAdults!All children adults/Minor child(ren)*>>,!AllAdults!="1(2)">>

<<*If*!NumChildren!>"0" and !AllAdults!="2",!Guardian!="True",!Guardian!="False">>



  This example addresses what a manufacturing company might face in processing special orders. There are extra manufacturing charges and extra shipping charges associated with custom orders. Here the ~ (not equal) is illustrated.



<<*If*!Size!="Custom"AND !Color! = "Custom",<<*AskOptions*!ExtraCharge!$50/$60/$70*>>,>>

<<*If*!Size!="Custom"AND !Color! ~ "Custom",<<*AskOptions*!ExtraCharge!$100/$150/$200*>>,>>

<<*If*!Size!="Custom OR !Color! = "Custom",<<*AskOptions(radio)*!Shipping!$20/$30/$40>>,>>