Index
Define
Tutorial Videos
Tutorial videos are available here.
Knowledge Base
Visit our User Forum for discussions & solutions
Define - XpressDox
Controlling the layout of your interview in your XpressDox template
XpressDox gives quite a lot of power to template authors in controlling the layout of the interview for a template.
Controlling the layout using multiple commands:
For example, the layout commands for an email address might look something like this:
«Caption(EmailAddress,Email address for correspondence)?Enter the email address or choose one from the list.»
«ChooseFromSamples(EmailAddress,,jlsmith@ipprovider.com,egjones@inkpen.com,mcontrary@inkpen.com)»
«Heading(EmailAddress,|^b^@Navy@CONTACT INFORMATION)»
«Required(EmailAddress)»
«SetInitialValue(EmailAddress,audrey@inkpen.com)»
«Rule(EmailAddress,hard,IsEmailAddress,'The value is not a valid email address, please check and correct')»
«Tab(Contact Information,EmailAddress)»
Resulting in an interview which looks like this:
But you could also control the layout in a single fillpoint:
The Define command enables the template author to combine all of these commands (and also the Footing information) into one command. The above set of commands would then be included in a Define command as follows:
«Define(EmailAddress,Email address for correspondence,^b^@Navy/@CONTACT INFORMATION,,Contact Information,ChooseFromSamples,;jlsmith@ipprovider.com;egjones@inkpen.com;mcontrary@inkpen.com,Required, audrey@inkpen.com,hard;IsEmailAddress;The value is not a valid email address,;;,;,,,,,,,Enter the email address or choose one from the list)»
The resultant interview is the same.
Interview relevance:
Note also that the Define command does NOT cause the value of the data element being defined to appear in the merged document. In this respect its behaviour is exactly the same as for the various commands that it replaces.
In addition, if no fillpoint appears in the template which would result in the value of the data element appearing in the merged document, then the data element will not appear in the interview. This is by design as it means that, for example, for a suite of templates, all the Define commands can be placed in a layout template which is included into every other template in the suite. Then only those data elements that actually appear in a given merged document will appear on the interview for the template concerned.
In the screenshots provided above, there is a separate fillpoint for «EmailAddress»
to ensure that it will appear on the interview.
Use the Command Assistant:
The Command Assistant contains a wizard which helps define all the parameters to the Define command, so it’s not necessary to remember the rather complex syntax and type the command in manually. Should you wish to edit something in the Define you can make use of the Edit Fillpoint button in the XpressDox ribbon. Everything you typed into the Define wizard will be presented back to you so that you can edit without worrying about the syntax.
For the most part the Define constructs the syntax for you, however on the “Data Capture Command” tab there are some things you need to be aware of when selecting certain types of data capture:
Data Capture Command | Parameters | Hint / Explanation |
None Button |
None required | |
CaptureAsLongText | 6 P |
6 = the approximate number of lines you allow for in the interview P = Pending relevance, otherwise it always shows in the interview. This could be an “A” if you want it to always show on the interview. |
ChooseFromList /RDBList / HzRDBList | Option1 Option2 Option3 |
The values, one per line, that you want to give to the user in the list. Leave the first one blank if you do not want a default. Should the text in your values contain commas they need to be escaped. e.g. Option1!, the first option. |
ChooseUsingCheckbox | Y N N |
The value when checked (true) The value when unchecked (false) The default value |
ChooseUsingDatePicker | None required | But make sure you use FormatDate when you use the data element on the template to ensure the correct format |
Escaping text:
Should you want to include a comma in captions, help text, heading text, or footing text, it should be escaped. That is to say there should be an ! before the comma indicating that the comma is part of the text as opposed to syntax.
Some further layout tips, the Question Command and the Interview Manager (v14):
- For the sake of readability, many users prefer the use of several fillpoints. Although it makes the template longer, it is easier to read the code. Remember that these “interview type” fillpoints do not need to be in the same template as the “document” template; make use of IncludeCodeTemplate to include the code from another template.
- The Footing definition appears between the Heading and the Tab caption, and in this case because the Footing is empty, there are two commas immediately after the Heading text.
- The Rule definition appears just as it would in the Rule command. If you choose a PatternMatch, or an IsNumber and want to provide a maximum or minimum then you need to provide those parameters in the “The error message when the validation fails” input. This input can take additional parameters before the text of the error which must be separated from each other and the error message each by a semi-colon.
- Although the Define command provides many more features, the Question command (provided from v14) is a similar approach to defining many attributes about the data element in a single fillpoint. The Question command is considered to be Low Code. The Define command does not insert the value of the data element into the template, whereas the Question command can do so.
- The Interview Manager assists (also from v14 onwards) assists with interview layout.