Document Assembly Lexicon

Each document assembly product has its own particular way of doing things, and with that goes differing syntax, that changes from product to product. For example, if you are used to HotDocs, you would be familiar with --conditional text----alternate conditional text--. If you attempted to do this in GhostFill you would quickly find that GhostFill does not utilize ELSE or ELSE IF statements. The purpose of this lexicon is to provide a comparison table between the more popular document assembly products on the market.

We have adopted a navy colored Courier font type for code quoting, which will appear in the 3 columns on the right side of the table. Any code quote that appears in a paler blue is a direct link to an equivalent entry on our glossary page for that specific product.

Document Assembly Software Syntax

Term

Meaning

DealBuilder

HotDocs

GhostFill

Ascend Return the items in a collection in ascending order {= ASCENDING( SelectVariable1 ) | PARAGRAPH} ASCEND %[List.SortByResult(True)]
Attachments From the main template, will cue up another template for assembly after completion of the master template. {attach TEMPLATE_NAME} «ASSEMBLE "TemplateName"» %[Templates.Run('TemplatePath', 'TemplateName')]
Boolean Logic Rules created that are based on true/false or yes/no variables Var Name TF IS TRUE Var Name TF IS FALSE «IF Var Name TF» «IF Var Name TF = FALSE» %[KeepBlockIf( Var Name TF )] %[DeleteBlockIf( Var Name TF )]
Calulations Allows the developer to apply mathematical and string formulas on answer data. {= Var NameNU * 1.175}. «Var NameNU * 1.175» %[Var NameNU * 1.175]
Conditional Text Use to distinguish optional text from boilerplate in a document. [Var Name IS "ABC" ......]" «IF Var Name = "ABC"»....«END IF» %[KeepBlockIf(Var Name = "ABC")] ... %[EndBlock]
Contains At times you will need to test whether a variable contains a value. {= CONTAINS( StateMC, "NY" )} «IF StateMC CONTAINS "NY"» %[KeepBlockIf( InStr( "NY",StateMC ))]
Count of a Collection The number of items in a collection {= COUNT( Var Name TE )} «COUNT(DIALOG RPT)» %[Collection.Count]
Cross-References and Paragraph Labels Feature that serves as a front-end to MS Word internal cross-referencing PARTIESText of Paragraph ......... . Text of paragraph refers to {ref PARTIES}. No equivalent. Depends on Word field coding. No equivalent. Depends on Word field coding.
Date Formatting Allows the user to change the way a date field is displayed in a document {Date:ThisAgreement | "[dd]/[mm]/[yyyy]" }. «Var NameDA:Jan 2, 2004» %[FormatDate(Var Name, 'mm dd, yyyy')]
Descend Return the items in a collection in descending order {= DESCENDING( SelectVariable1 ) | PARAGRAPH} DESCEND %[List.SortByResult( False )]
Drafting Notes In preparing a template the author may wish to leave annotations in the document that are removed during assembly. {note Comment ....} «CT // Comment ..... » %[ | Comment ... ]
Dynamic Prompts Prompts in HotDocs, GhostFill and DealBuild allow the developer to add variables to modify the prompts at runtime. Prompt: CHECK box if {Var Name TE} is healthy? Prompt: CHECK box if «Var Name TE» is healthy? %[ThisDialog._Form.Fields.Var Name TF.DisplayName = "CHECK box if " & ThisDialog.Var Name TE & "is healthy?"]
IF, then ELSE statement Structure for including alternative text {= IF( Var Name TF, "then", "else" )} «IF Var Name TF=TRUE»Text if true«ELSE»Text if false«END IF» %[IfTrue ( Var Name TF, "then", "else" )]
Merge Text Supports multiple merge text options for a lookup table. Var Name.ValueColumn. ReturnValueColumn «Var NameMC:MergeText» LookupLST contains option and result.
Multiple Choice Logic Rules created that are based on selection or choice variables Var NameMC IS "Value" «IF Var NameMC = "Value"» %[KeepBlockIf( Var NameMC = "Value" )]
Number Formatting Allows the user to change the way a number field is displayed in a document {SettlePaymentDays | WTH UPPER} «Var Name NU : NINE» %[NumberToWords( Var Name )]
Numeric Logic Rules created that are based on number variables Var NameNU IS MORE THAN 1 Var NameNU IS AT MOST 8 «IF Var NameNU > 1» «IF Var NameNU <= 8» %[KeepBlockIf(Var Name NU > 1)] %[KeepBlockIf(Var Name NU <= 8)]
Selected item in a Collection Return the Nth member of a collection {= MEMBER( Var Name, 1 )} «Var Name[1]» %[Collection.Var Name TE[1]]
Subassemblies Subassemblies can be called, with some discretion as to naming the output document {attach TEMPLATE_NAME AS MyDocument} «ASSEMBLE "TemplateName" /stw /of = "MyDocument"» %[Templates.SaveAndRun( TemplatePath, TemplateName, True, DocumentPath, DocumentName )]
Subdocuments From the main template, these command will insert another template into the document at the fillpoint. {include TEMPLATE_NAME} «INSERT "TemplateName"» %[Templates.Select( 'TemplatePath', 'TemplateName' )]
Text Formatting Allows the user to change the way a text field is displayed in a document {Var Name | CAPITALS }. «Var Name TE:LIKE THIS» %[UpperCase( Var Name TE )]
Variable Text Variable text takes the result of a prompt or script and places it in the document. {Var Name} «Var Name TE» %[Var Name] %[Dialog.Var Name] %[Profile.Var Name] %[Object.Var Name]

Get More From Basha

If your law firm engages in lending transactions, you should really drop by the video tour of one of our HotDocs Lending Systems, that we have designed for other clients.  With a bit of time and effort, you can reduce handling times, increase quality of work output and improve your bottom line, all without paying another cent on staff.  Work smarter, not harder.  Get a HotDocs system designed by Basha.