Cascading <<*Options*>> or {*Options*}

   A 'classic' *Alias* List provides the end user with options from which to choose. The List can comprise single words, short phrases or even links to other documents. But you can also tell Pathagoras to display another List, this second list being sub-categories of the selected parent. With this technique, you can allow a user to select from progressively 'narrower' sub-topics nested beneath the main topic. This progression from a broad topic to a narrow result is referred to as 'cascading'.

   Let's say that you manage many real estate holdings of a variety of types. You want the selection of one 'property type' listing in an *Alias* to automatically present an appropriate sub-list from which additional (but more limited) choices can be made. Here is what you might try:

   First, create an *Alias* using the Cascading Options Chart. for the 'parent' choices. Continuing the above example, you might give the parent *Alias* a name like "Property Types" (typed in the left column of the *Alias* table), with the listing of the types of property in the right column.

Property Type



Commercial, Service

Commercial, Heavy Industry

Single Family

Single tenant




Dual unit




Office Building




Office Park


  Next, create a separate *Alias* for each 'Property Type'.

   So here is how the above *Lists* might appear in the *Aliases* spreadsheet. (Keep in mind that everything is plain text in the *Aliases* editor. The editor is a simple Word document with a table that contains the list name that you choose at the left and the assigned values that you create at the right):

Click to enlarge

   Note: when you are adding a 'child', you are actually creating another list within the *Alias* collection at the same level of the parent. You are not actually creating a sub-list. Pathagoras automatically  presumes nesting when it sees that each choice in a parent list exists as a separate *List* elsewhere in the table of terms. The benefit of this approach is that you can use any list at the parent level, even one originally conceived as a child.

   You can nest to an unlimited number of levels. Simply create a new *Alias* for each level. Keep the above 'Note' in mind.

   Now on to the actual document assembly steps:

1.At a strategic location in your source document, type the top most level of the cascade into an options block.

Note: You can use the  'standard' options block style: <<*Options**PropertyTypes*>>. (The double asterisks in the center are correct. The first asterisk closes the administrative section of the block. The second is the opening boundary for the *Alias* name.).
Alternatively, and probably easier, you can use the 'simplified options' block layout using {curly braces}. Example: {*PropertyTypes*}.

2.Assemble a document Call the clause from a Drop Down List, a 'book' using the Clause Selection Screen or by typing the clause name to the screen followed by <Alt-G>. which contains the *Alias*. When Pathagoras encounters the *Alias* reference, it will detect the existence of 'cascading'. Pathagoras redraws the options screen, presenting the next level of choices).

   Here is what the initial options screen would look like in the above example when {*PropertyTypes*} is processed. Make sure the Cascade button is checked. (It will be displayed and automatically checked when Pathagoras detects that a cascading possibility exists.)


When the Cascade button is checked, and if you click "Office",
Pathagoras will present the following choices:


Note that the Cascade button has 'disappeared.'
That is because Pathagoras has determined that none of the current choices are themselves *Lists*.
No further cascades, therefore, are possible.

informationIf, in the initial screen, you unchecked the Cascade button, the text of the selected choice would have been inserted in place of the MultiChoice *keyword*. This of course is the default action of a selection from an Options screen, and sometimes may be the result that you seek.

tipThere are no practical restrictions as to what the 'reference' contained in your choices can be (or to what they can point). The choices can be another level of choices which allow for further cascading, or they can be the 'final choices' or lowest level. The lowest level of nested choices can likewise be anything:

It can be just plain text. The examples provided above would insert the plain text 'answer' into the document in place of the original *List* term.

It can be a [Variable]. Just enclose the lowest level choices within "[" and "]" markers. After the document is assembled and when you call up the Instant Database via <Alt-D>, you will be presented the variable for completion with a personal value.

It can be a MultiChoice [*Variable*]. Just enclose the lowest level choices within "[*" and "*]" markers. After the document is assembled and after you call up the Instant Database via <Alt-D>, all choices within the *List* will be displayed in dropdown list fashion alongside of the variable name.

It can be a <<document call>> (a pointer to a document). Pathagoras will locate the 'called' document using standard order of search rules. (We very much want you to click this link. Understanding the 'order of search' rules will allow you create some tremendous document assembly possibilities.) So, in the above example, instead of the list following Residential being this in the above example:


Single Family/Duplex/Condominium/Apartment

  you could provide this:


<<Single Family>>/<<Condo>>/<<Townhome>>/ <<Apartment unit>>

   The assumption made here is that Single Family, Condo, etc. are documents.

   One last point. In the last example above, the lowest level of the cascade are individual documents or clauses. But imagine that the lowest level pointed to clause-sets. A clause-set is a 'potential document' that can range from simple to one of extra-ordinary complexity. You could use the cascading tools described above to ask progressively more focused questions which, when answered, lead to the production of a highly specialized, perfectly tailored and complete document.