Tutorial Videos

Tutorial videos are available here.

Knowledge Base

Visit our User Forum for discussions & solutions

How to Convert HotDocs Templates to XpressDox Templates

Whether you are simply looking for a better–priced alternative to HotDocs, or maybe you want to run your Desktop templates on the Web, XpressDox is a smart choice. Join the growing number of firms who are looking for better value for money!

  • XpressDox is as powerful as HotDocs with over 300 commands
  • Substantially more affordable, with outright purchase and rental options
  • No long–term contract lock in, no up–front cost
  • Highly rated customer support
  • The same template runs on MS Word and the Web
  • Extensive deployment options: Desktop. Server: On-premise or Cloud. API
  • Built–in HotDocs–to–XpressDox converter as standard

Did You Know?
Templates authored in HotDocs can be converted to run successfully with XpressDox.

Why this works

XpressDox allows a user to choose his or her own delimiters. So almost any delimiters can be used by XpressDox as fillpoint delimiters. Fortunately HotDocs and XpressDox use «…» as their default delimiters, and this makes conversions all the more straightforward.

Simple fillpoints

This means that if your HotDocs template has only “simple” fillpoints—that is the fields consist of variable names only within delimiters—then XpressDox can run that template without the need to make any changes to the content of the template. All that would be needed is to save that template as an XpressDox template, and run it.

Save the converted template in XpressDox format

To run a HotDocs template with XpressDox, it must be saved as an XpressDox template. You can save a document as an XpressDox template in one of two ways:

  1. Open the template in Word, and save it using the XpressDox Save as XpressDox Template button in the ribbon or toolbar
  2. Convert an entire folder of documents as follows:
    1. Load the XpressDox Template Author Utilities using the button on the ribbon or toolbar.
    2. Choose the Configure and Convert Delimiters tab on the screen that appears. The screen will look like this:
    3. The third part of that tab is the area where you can designate an entire folder of HotDocs templates to be saved in XpressDox template format. Choose the folder either by typing in the path or using the Browse button.
    4. Optionally select the fillpoint delimiters that are on the existing HotDocs templates (which will be converted to the current Authoring Delimiters, as discussed above, and which are displayed for your information on the conversion form).
    5. If you have chosen to convert text (field) delimiters, then the converter will also, if required, convert the syntax within the delimiters from HotDocs syntax to XpressDox syntax. If this is required, then check the checkbox labelled “Replace delimiters and Convert syntax (first pass). (Please read the article Foreign Templates to XpressDox syntax conversion for more details on syntax conversion).
    6. Pressing Convert will cause all the Microsoft® Word documents in the provided folder to be converted to XpressDox templates.

The variable names in a simple template described above need to be valid XML element names, which will always be the case in some document assembly systems, but in particular might not be the case with HotDocs templates, where spaces are allowed in variable names.

Complex fillpoints

Your HotDocs templates most likely contain simple and complex fillpoints. Complex fillpoints are those that contain formatting instructions, conditional assembly or repeating instructions for example. The syntax of these fillpoints needs to be changed to conform to XpressDox command syntax. To assist with this, the XpressDox Template Author Utilities Convert Current Document’s Fields has some powerful features which will make this task considerably less onerous. This feature is discussed later in this article.

XpressDox does not have the concept of a data element containing a boolean (i.e. true/false) value. This is because the data used by XpressDox are XML, and XML supports only string values. This means that constructs like «IF OPTION1»…«END IF» in HotDocs need to be translated into something like «If(OPTION1 = ‘Y’)»…«End()» in XpressDox. The syntax converter will perform this translation, but needs to be given the “true” and “false” values that should be used, and hence the need to provide these in the converter’s screen.

Converting complex templates

In principle, there is a common set of features that various document assembly systems offer in order to automate the production of standard documents. However, that does not mean that there is necessarily a one-to-one correspondence between features in one system and similar features in another. This means that converting a template from HotDocs to XpressDox is not a simple matter of changing fillpoint delimiters. In any case, as discussed above, XpressDox will work natively with a template marked up with HotDocs delimiters. It is not just delimiters that may need to change, but the content of the fillpoints and sometimes even the basic design of the template and its commands.

The XpressDox utility for converting complex templates is found in the XpressDox Template Author’s Utilities, in the first tab called Convert Current Document’s Fields. The form with this tab visible looks like this:

The following steps are appropriate:

  1. Load the HotDocs template to be converted, into Word.
  2. Load the template converter above.
  3. Choose the delimiters that are required.
  4. Because this discussion is about complex templates, the check-box “Replace field delimiters only (Simple Conversion)” is not appropriate here.
  5. Once the Convert button is pressed, then the converter takes each HotDocs field in turn and presents the contents (stripped of delimiters) in the “Existing field” text box. At the same time, the converter fills the “XpressDox field” drop-down box with samples of what might be used as data element names.
    1. You can choose from the drop down list, or edit the XpressDox fillpoint.
    2. If you choose one of the choices in the “Common Commands and Functions” list, then the converter will take the data element name that is now in the XpressDox field and insert it into the correct place in the chosen command or function.
    3. Suppose in the previous step you choose a FormatDate or FormatNumber but don’t like the format that is provided. You can change that format, and then copy–and–paste it into the Snippets area. Then, in a later field, you can choose that format specifier in the Snippets dropdown and then paste it into the “XpressDox field”. In other words, the Snippets area gives you a place to store frequently used snippets of text to be copied into commands at a later stage of the conversion. Even into future documents to be converted.
    4. Once you like the contents of the “XpressDox field”, press the Accept button, and the converter goes on to the next field in the HotDocs template.
  6. The converter stores all the “Existing field” values as well as the resulting “XpressDox field” in a “translation dictionary”. It stores that dictionary into the folder where the HotDocs template resides. Thereafter, whenever it encounters a field in a HotDocs template during conversion, it looks up the field contents in the dictionary, and presents as a default the corresponding XpressDox field in the “XpressDox field” on the conversion form. This means that after a few templates in a suite have been converted, as long as the original template author was consistent in the naming of variables (now data elements in XpressDox) and conditional commands, etc., then the conversion of templates becomes a question of inspecting the choice suggested for the conversion of a fillpoint, and pressing the Accept button over and over again.
  7. Once a template has been converted, it must be saved as an XpressDox template (with the Save button on the ribbon or toolbar).

XpressDox Author Free Trial

Download a 30–day trial of the XpressDox Author. It’s free. No credit card required.

We’ll never share your email with anyone else.