Calls to other documents
|
|
||
Whenever Pathagoras encounter text enclosed in "<<" and ">>" (double angle brackets, or 'DABs'), it will attempt to process what it finds in between the brackets. For example, whenever Pathagoras encounters an <<*Options*>>, <<*Optional*>> or <<*Repeats*>> block during a document assembly session, it knows to process the block in accordance with rules associated with each kind of block.
Pathagoras will, however, attempt to process anything within DABS. When there are "*"s as above, Pathagoras assumes the special action associated with the word between the "*"s.
When no "*"s exist, however, Pathagoras assumes that the text within the DABS represent a document or clause. And when Pathagoras encounters DAB text, it will parse out the text between the brackets and locate the designated clause or document following Pathagoras' Order of Search rules.
So if Pathagoras saw <<cntr100>> <<cntr120>> <<cntr122a>> etc., within a document, and 'cntr' was a registered prefix for let's say, contract clauses, Pathagoras will parse out each clause name, determine the location of the folder associated with the prefix 'cont' and find and insert the appropriate text.
Likewise, if Pathagoras saw <<c:\office forms\real estate\Listing Agreement>>, Pathagoras will locate the 'Listing Agreement' in the designated folder, and insert a copy of it into the document.
Any reference to any text can be placed between angle brackets. It can be a fully qualified document name, an unqualified document name, a glossary term, or a prefix/suffix named clause.
DAB text that references a document 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.
<<*Options(radio)*Order Amount:$0 - $100/$101-$200/$201-$500/$501 + *<<shp000>>/<<shp101>>/<<shp201>>/<<shp501>>>>
Let's also assume that 'shp000', 'shp100', 'shp201', 'shp501' are documents that exist within a Word folder, and the prefix "shp" has previously been associated with that folder or glossary.
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 <<shpXXX>> 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.
One further addition to your <<*Options/Optional*>> block can add even more power to your source document. You can add a group name. That way, the first answer provided in the top-to-bottom processing of the document will result not only in the insertion of the proper clause at the 'top,' but also for all other clauses in the same !group! in a locations further down in the document. With !groups!, you can create very complex documents, yet pose very simple questions to the end-user.
Note: The "<<" and ">>" marks are not special keyboard or ASCII code. They are the 'lesser than' and 'greater than' character above the 'comma' and the 'period' on your keyboard.
In the various examples about, we used the prefix/suffix clause construction, and made the assumption that the prefix was previously associated with a particular folder or glossary. The documents or clauses between DABS do not have to be named in that style. So long as the referenced document resides in a location searched in the Order of Search rules, (perhaps they are clauses in the SuperFolder or SuperGlossary), they will be found.
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.
See Also: