An <<*Ask. . .*>> command requires the following elements:
•Opening '<<' and closing '>>' to designate the scope of the command. (Remember: the red, blue, cyan and green colors used in these examples are not important. The color is only for emphasis and clarity.)
•The term "*AskOptions*", "*AskOptional*", "*AskRepeat*", "*AskValue*" (depending upon the nature of the command) followed by the !groupname!. Of course, this !groupname! will tie the answer to the *Ask* to the related Options/Optional/Repeat blocks in the body of the document.
o<<*AskOptions*>> blocks: list the choices you want to present to the end user. Separate each choice with a '/'. Close the list with a '*'.
and later in the document:
Your order will be sent by <<*Options*!shipmethod!Federal Express (2 day delivery)/United Parcel Service (ground; allow 4 days for delivery)/US Postal Service (1st class mail).>>
o<<*AskOptional*>> blocks: pose the question that you want the end user to answer. Close the question with a '*'.
<<*AskOptional*!freeshipping!Will shipping be free?*>>
and later in the document
<<*Optional*!freeshipping!*Plus, if you place your order in the next 30 days, your shipping is free!>>
oFor <<*AskRepeat*>> blocks, pose the question that you want the end user to answer. Close the question with a '*'.
<<*AskRepeat*!NumCdn!*How many children?*>>
See discussion on how Pathagoras handles the repeats 'count' with Options blocks beginning this page of the Manual.
oFor <<*AskValue*>> blocks, you can ask a question that you want the end user to answer. Close the question with a "*".
and later in the document
Okay, why the final '*'? Just like in a regular <<*Options/Optional*>> block, the asterisk closes the administrative section. The administrative section includes any prompts/questions that are posed. In an <<*Ask*>> block, it is all 'administrative text' since none of it remains in the document. Hence the need for the final '*'.)
Each Ask command must reside on its own line. It cannot reside on the same line as another Ask command, nor can any other text be combined with it.
The <<*Ask commands, collectively, constitute the Interview phase of document assembly. As such, the commands should appear at the top of the document. The Ask table can also reside in a separate document that you call in as a 'building block.' You should avoid interspersing Ask commands within the document body. Pathagoras will likely not crash if you do, but it is not considered a best practice.
<<*Ask commands ask and record values for !groups!. They serve no other purpose. Therefore, every <<*Ask* command must contain a !groupname!. Absent a !groupname!, an Ask is powerless to do anything in the document, and will fail. (You will also get an error message.)