Values Overview

A value is a piece of data of a type that HotDocs knows how to process. For example, HotDocs can process the number value 2 and the text value "Jane Doe."

In this topic Hide

  1. Overview
  2. Common Tasks
  3. Workflow
  4. Known and Unknown Values
  5. Value Types
  6. Common Reference Topics


In Author, while you gather and handle values constantly, you most often actively consider and use values when writing a script. When writing a script, you need to express a value as a literal (part of the syntax in the HotDocs scripting language). Also, when writing a script, you often need to pass data into a script in a computation as a parameter. Every computation with a Result Type has a value. In addition, every answer a template user provides during an interview is inherently a particular type of data with a particular value.

Common Tasks

Among others, a value enables you to perform the following common tasks:


The most common way to obtain a value, is from your end user when they answer questions in your interview. When scripting, you can also pass a value into a computation using a parameter. Similarly, you can provide a value to a dialog script using a local variable you set to a particular value. In addition you can SET a variable TO a known value of your choosing.

Known and Unknown Values

In HotDocs, every piece of data you encounter and deal with is a value of a particular type, whether the actual value is currently known, or unknown. All values in HotDocs Author are either known to you at that time you are constructing your template, or they are as yet unknown.

Known Values

When you write a script in the HotDocs scripting language, you often deal with known values. A known value is a value you already know at the time you are creating your template. You can store known values in a Fixed Table. in the scripting language syntax, you express a known value as a literal.

Unknown Values

An unknown value is any value you do not yet know when you are creating your template. You can gather unknown values from your template users, or you can calculate them. There are several types of elements in HotDocs Author that enable you to represent unknown values:

In all of the above cases (collectively, “unknown values”), when you want to refer to the unknown value, you does so using the name of the variable/parameter/computation/function that represents it.  During assembly, the name resolves to a specific value. For instance HotDocs resolves the value represented by a variable's names by looking up the answer to that variable within the answer file. HotDocs resolves the value represented by a parameter name by getting the value that was passed in for that parameter. (You could think of the list of parameters to a computation or system function as a local mini answer file containing the values passed into that function. HotDocs resolves the value represented by the name of a computation by evaluating the computation's script. Similarly, HotDocs resolves the value represented by the name of a system function internally by performing whatever actions the specific function is meant to perform.

In addition to representing an unknown value, some items take inputs that can be either known, or unknown values themselves:

Value Types

Whether known, or unknown, each value in HotDocs is of a particular value type. A value type is a classification that identifies the kind of data the value contains. There are only four primary types of data HotDocs uses (these are called primitives)::

In addition to these primitives, there are other value types that combine at least two primitive types (these can be of the same type – e.g., two text values) to create a new composite type. These are:

We treat each of these value types below.

Text Value

A text value is any value that you can express in alphanumeric characters. The following is an example: "The time is now 5:00 p.m." You can use this value in a script using a text literal.

Date Value

A date value is any value that you can write in a day, month, year order as a date literal, like this: 11 FEB 1964.

Number Value

A number value is any integer. In a script, you use a number literal to convey this value., like this: 7.

True/False Value

A true/false value is any value that you can express as TRUE or FALSE, as you do with a True/False literal.

Common Reference Topics

Among others, the following reference topics may relate to this conceptual area: