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] |