DAB text can be called in as the value to a variable. In this way, you theoretically could use your Instant Database to create entire documents.
Typically the value of a variable is a name, address, size, color, quantity, etc.. Instead of those value 'types,' you want to provide the entire content of a document (perhaps property description, or a product description. You can simply type as the variable's value a <<document name>> reference. Hopefully it is easy to see how this opens up a much wider range of document assembly possibilities. (NOTE: You do not even have to know how to spell the target document. If you press shift-click in the Instant Database text box where you want to insert the document call, Pathagoras will present a window that lets you navigate to the file.)
When the variable is processed, it is replaced by "<<document name>>." On its next pass through the document, Pathagoras will 'see' that value and (because it is DAB text), and process it. Following the normal Order of Search rules, Pathagoras will locate the desired text and place it onto the screen. It quite literally is blink of an eye fast.
Further, you could include in your document the following: "[<<document name1>>/<<document name2>>/<<document name3>>]" as a multiple choice variable, and offer the end user a choice of 'documents' to insert. And still further, you could use !groups! to tie a multiple choice variable such as the above to the answer to a preceding multiple choice variable.
The possibilities are endless. One more: If you use Excel to bring in values to variables, a value that you can insert in your Excel spreadsheet might be a <<document name>>. Keep in mind that Pathagoras doesn't care how the value gets inserted into the document. If it's there between double angle brackets, Pathagoras will process it.
DAB text can be nested within an <<*Options/Optional*>> block. This opens up a wide range of document assembly possibilities. By properly constructing the Options/Optional block, you can pose a simple question to the end user within the Options block which, when answered, calls in the appropriate document or clause. For example, let's assume the following <<*Options*>> text block resides in the source clause of a letter being written to a purchaser of goods. The purpose of the clause is advise the recipient of the letter what the shipping costs would be in various situations. Assume names within the DABs are existing documents in the user's system.
<<*Options(radio)*Order Amount:$0 - $100/$101-$200/$201-$500/$501 + *<<Full charges>>/<<20pcnt discount>>/<<50 pcnt discount>>/<<Free shipping>>>>
When the above text block is encountered during Pathagoras' top-to-bottom 'processing' of the document, Pathagoras will present the 'questions' "$0 - $100" "$101-$200" "$201-$500" and "$501 +" onto a pop-up form for selection. The user makes the appropriate selection and based on that selection, the appropriate <<document name>> value is returned to the screen (albeit only briefly).
On its next pass through the document, Pathagoras then 'sees' that value and (because it is DAB text), begins to process it. Following the normal Order of Search rules, Pathagoras locates and places the desired text onto the screen. It quite literally is blink of an eye fast.
Note: The "<<" and ">>" marks are not special keyboard or ASCII code. They are the 'lesser than' and 'greater than' characters above the 'comma' and the 'period' on your keyboard.
While not precisely the same, implementation of above can bring powerful "If . . / Then . . ." logic to your documents. See a further discussion of this at this link.