When marking up a document, there are two aspects of the markup you must be aware of—how the answer will appear in the final document and how the answer will appear in the HotDocs interview used to create the final document. You can define these properties in two different places—directly in the field or in properties tables at the end of the document.
This topic includes the following sections:
When assigning multiple properties to a variable, rather than include the properties directly in the field, you can include them in a properties table. Using a properties table lets you specify multiple properties for each of your variables without cluttering the actual text of the document.
Properties tables are Word tables that are located at the end of the document, after a special [EndDocument] marker. While you can format the look of the table any way you choose (for example, by making text in the table bold or by shading cells), the actual content of the table must be organized a specific way:
Properties are separated by semi-colons. Properties are identified in name/value pair combinations. For example, if you want to create a number variable, you would define the following properties:
format=9,999.00;currency=$;decimal=2
When you use variable tables, you must specify the place in the document where the document text ends and the tables begin. You do this using the [EndDocument] field marker. It appears after the last section of document text but before the first variable table.
Here is an example of an [EndDocument] marker, followed by a variable table:
[EndDocument]
TEXT VARIABLES
Name | Title | Prompt | Additional |
EmployeeName | Name of Employee | Enter the employee's name | format=upper; resource="All employees must submit to a background check to verify their eligibility to work for Hobble Creek Publishing." |
JobTitle | Job Title | Enter the employee's job title | |
JobDescription | Job Description | Complete the following sentence: Job duties shall include: | height=3 |
When you assemble the HotDocs Model using HotDocs (or when you create a HotDocs template from the HotDocs Model), HotDocs looks for variable tables and uses the information in them to create and set properties for HotDocs variables. If no tables are found, HotDocs uses the properties defined in the markup fields of the document.
See Complex Markup Example with Tables (Last Will and Testament) for an example of a HotDocs Model that uses variable tables.
You can assign properties to a variable that will affect how a user’s answer will appear in the final document. For example, you can assign a format for the answer (such as uppercase or spelled out), whether the answer should break across lines of text or not, and how the field should look if the user chooses not to answer it, just to name a few.
These properties can be defined in one of two places—in the variable field (described just below) or in a properties table (described earlier).
Properties are separated by semi-colons and are identified in name/value pair combinations. For example, the following would represent a text variable and how it should be formatted in the document:
[ClientName;te;format=upper;nonbreak=yes]
Specifically, this markup field will merge the client's name in uppercase, and it will be non-breaking (meaning the name won't break across lines in the document).
When a property is assigned at the field level, it will apply to that field only. If a property is defined in a table, it will be used for all variable references. Where a property is defined both in the field and in a table, the field-level property will take precedence.
The following table describes all of the available field properties with their associated names and values. Default property values are in parentheses. When a property is not specified in a variable field, the default value is assumed. You can include as many properties as necessary, as long as you separate each property with a semi-colon.
Property Name | Description | Value |
type | This specifies the variable type | (text) or (te) number or nu date or da true/false or tf multiple choice or mc computation or co |
format (text fields) | This is the format for text fields, including text variables, multiple choice variables, and computation variables that produce a text answer. It specifies how the answer will be formatted in the final document. | (none)
When you don't specify a format, text is formatted as the user enters it. upper lower title sentence |
format (number fields) | This is the format for number fields, including number variables and computation variables that produce a number answer. It specifies how the answer will be formatted in the final document. | (none)
9,999.00 Nine 9th etc. |
format (date fields) | This is the format for date fields, including date variables and computation variables that produce a date answer. It specifies how the answer will be formatted in the final document. | (none)
d/m/yy dd/mm/yyyy Mn, D, Y etc. |
format (true/false fields) | This is the format for true/false fields, including true/false variables and computation variables that result in true/false. It specifies how the answer will be formatted in the final document. If the value is true, the text to the left of the "/" will be merged. If the value is false, the text to the right of the "/" will be merged. | (none)
true/false yes/no truetext/falsetext |
format (multiple choice fields) | This is the list format, which is used with multiple-select multiple choice variables. It specifies how the answer will be formatted in the final document. | For single-select options:
upper lower title sentence For multiple-select options: A, B and C a; b; and c etc. |
nonbreak | This property can be used to keep users' answers from breaking across lines in the final document. | (no)
yes |
unanswered | This property specifies the text that will be merged into the final document when the variable is unanswered. | any text |
font | This property specifies the font that will be used when the user’s answer is merged into the final document. | (default font used in document)
font name |
comment
com |
This is a comment for the field. It does not affect assembly and will not be merged into the final document. It is used to make in-line notes in the document. | (none)
any text |
For the full value lists and explanations see Format Answers in the Document
If you assemble the document using HotDocs, the fields you create in the document will appear as questions in a HotDocs interview where you will enter your answers. As such, you can define how the questions will be formatted during this interview.
Again, properties are separated by semi-colons. They are identified in name/value pair combinations, like this:
format=9,999.00;currency=$;decimal=2
The following table describes properties common to all variable fields. Subsequent tables then discusses variable-specific properties:
Property Name | Description | Value |
title | Designates an alternate name for the variable, which is used in the HotDocs interview outline. | any text |
prompt | Specifies the text that guides users in knowing how to answer the question during the HotDocs interview.
If you specify a prompt, it will be used as the interview "question." If you do not, HotDocs will attempt to generate a prompt based on the field name. It does this by inserting a space wherever it finds a capital letter. So, for example, the field name ClientAddress would generate the prompt Client address. |
any text |
resource | Provides additional help text for answering the question. This text appears in the resource pane of the HotDocs assembly window | any text |
irrelevant (or irrel) | Specifies how a variable that isn't used in the document (for example, because it's conditioned and the condition resolves to false) should be treated—whether it's grayed out, hidden, or always shown. | (gray)
hide show |
ask | Specifies whether a variable or dialog is asked automatically during the interview. | (yes)
no |
save | Specifies whether the answer the user enters can be saved to an answer file at the end of an interview. | (yes)
no |
warn | Causes HotDocs to display a warning if the variable is left unanswered during the interview. | (yes)
no |
Property Name | Description | Value |
height | Determines the height of the answer field that appears in the interview, allowing it to show more than a single line of text | (1)
Any number between 1 and 12 |
maximum
(or max) |
Determines how many characters can be used in the answer | (as many as the user enters, up to 15,000) |
pattern | Determines a specific pattern that will be used for entering the answer (such as a telephone number or time of day) | (none)
(999) 999-9999 999-99-9999 etc. |
enter | Determines whether a new paragraph is created when the user presses the Enter key in a multi-line field. (By default, pressing Enter simply starts a new line in the same paragraph.) | (break)
paragraph |
Property Name | Description | Value |
minimum (or min) | Specifies the minimum value for the answer | (0)
Any number |
maximum
(or max) |
Specifies the maximum value for the answer | (0)
Any number |
decimal | Specifies the maximum value for the answer | (0)
Any number between 0 and 7 |
currency | Specifies the maximum value for the answer | (none)
$ £ € etc. |
Property Name | Description | Value |
style | Determines whether the Yes/No prompts for the variable appear on the same line | (row)
column |
Property Name | Description | Value |
options | Specifies the options of the multiple choice variable. (You are required to include one or more options with all multiple choice variables.) | Option1/Option2/Option3 |
optionprompts | Specifies the text that can be used to identify the options (perhaps because the options aren't descriptive enough) | Prompt1/Prompt2/Prompt3 |
merge | Specifies the text that will be merged in the final document if the user chooses the correlating option during the interview | Merge1/Merge2/Merge3 |
optionresources | Specifies the resource text for each option you've defined | Resource1/Resource2/Resource3 |
select | Specifies whether the user can choose one option or multiple options | (single)
multiple |
other | Determines whether the user can enter an "other" option for single-select options | (no)
yes |
none | Determines whether the user can select a "none of the above" option for multiple-select options | (no)
yes |
style | Specifies how the options will be presented to users in the interview | (dropdown)
(grid) column list The default option depends on whether the field is set to multiple selection or single selection. |
Property Name | Description | Value |
script | This is the formula or calculation (written in HotDocs scripting language) that determines the value for the answer. It is a required property for computation fields. | A valid HotDocs script |
merge | Specifies text that can be merged if the computation script generates a true or false value | Text
This property can be used when the Computation field generates a true/false value. |
Property Name | Description | Value |
title | Specifies the text that is used to represent the dialog in the assembly window title bar and in the interview outline
If you do not specify a title, HotDocs will attempt to generate a title, based on the dialog name. It does this by inserting a space wherever it finds a capital letter. So, for example, the dialog name ClientInformation would generate the title Client Information. |
Any text |
style | Specifies whether the dialog is asked once, as a series of dialogs, as a spreadsheet, or as a spreadsheet on the parent dialog. | (regular)
repeated spreadsheet ssonparent |
contents (required) | Lists the variables that are to be included in the dialog. (The order in which you list these variables will be the order they are asked in the dialog.) | Variable1/Variable2/
Variable3 |
group | Groups all True/False variables so they are represented either by check boxes (which allow users to choose multiple options) or option buttons (which allow users to choose only one option). | (none)
single multiple |
none | Specifies whether a grouped list of True/False variables includes a None of the Above option. | (no)
yes |
label | Specifies the text that will be used to identify the entire group of answers in a repeated list | Any text
This option can only be used when the dialog's style is set to repeated |
rows | Specifies the number of rows that are visible in a spreadsheet dialog. (This does not affect the number of answers a user can enter—just how many rows of the spreadsheet are visible at a given time.) | Any number
This option can only be used when the dialog's style is set to Spreadsheet |
prompt | Shows the prompt that will be used if the dialog is inserted in a parent dialog Any text | Any text |
irrelevant | Causes the dialog to be hidden when all the variables in the dialog are inactive | (hide)
show |
Property Name | Description | Value |
decimal | Indicates the character that will be used to show the decimal character in a non-English number field | Any character (usually a comma) |
grouping | Indicates the character that will be used to show the thousands separator in a non-English number field | Any character (usually a period) |
Property Name | Description | Value |
keep | When inserting another document in the parent model, lets you keep the header and/or footer from the inserted document | (none)
header footer both |
grouping | Indicates the character that will be used to show the thousands separator in a non-English number field | Any character (usually a period) |
See Simple Markup Example (Contract), Simple Markup Example (Agreement), and Complex Markup Example with Tables (Last Will and Testament) for examples of how to mark up a HotDocs Model.
You can have HotDocs define default prompts and titles for fields in the HotDocs Model. See Define Settings for a HotDocs Model for details.