What is the difference between an XpressDox data element and a variable?

If you have come from a HotDocs background you might think that the difference between a data element and a variable is simply semantics. However, there are important differences you need to be aware of. As you probably know XpressDox makes use of XML as its underlying data structure and when saving and using data, it is using XML datasets.

Fillpoints such as this one «Plaintiff_First_Name» contain a data element name. Plaintiff_First_Name has only one value which can be inputted into the template by different means, either the user types it in, or the data is gathered from a data source. And unless explicitly instructed not to, the value of Plaintiff_First_Name will be saved into the resultant XML dataset ready to be re-used for future assemblies.

Commands such as Set and OnExitSet make it possible for a data element’s value to change during the assembly process, but strictly speaking a data element has a constant value.

A variable, however, has a changing value. Its value is set during the assembly process, changed according to a set of rules determined by the template author perhaps to perform some calculations, and the resultant value is not stored anyway in the dataset. It has a temporary and changing value that is passed from one assembly to another. A variable must be set first i.e. «SetV(‘VariableName’,’Value’)» before it can be used, is used with the GetV syntax and always appears in quotes.

Data elements do not appear in quotes, with only one exception to this rule – the CreateDataElement command.