The NEW XpressDox Version 14 is now available!

Edit Content
Click on the Edit Content button to edit/add the content.

XpressDox Support

InsertHyperlink – XpressDox

XpressDox will insert a Word hyperlink into the assembled document. «InsertHyperlink(‘Our Company Web Site’,’www.abccompany.com’)» will put the text ‘Our Company Web Site’ into the document, underlined and coloured to look similar to a hyperlink inserted manually, and, when the user selects to open the link, will open the web page

Read More »

ForbidThousandsSeparators – XpressDox

Particularly in a situation where users of a template might want to use numeric values input according to different regions, this command can be used by the template author to make sure that template runners may not use the thousands separator when capturing numeric data in the interview.

Read More »

ExpectXSLTFormatNumbers – XpressDox

This is the command that is fundamental to ensuring that XpressDox arithmetic features apply regardless of the format of numbers specified in the Windows Control Panel or chosen by the user. A full explanation of this and related commands will be found in the Cookbook article Arithmetic in XpressDox.

Read More »

The RaiseToPower Function

This function can be used in more advanced arithmetic calculations, such as: If the side of a square is «Side» then the area will be «RaiseToPower(Side,2)». The second parameter does not need to be a constant or an integer, but can be a data element or other expression resulting in

Read More »

The WriteTimeStampToDataSet Command

If you have the command «WriteTimeStampToDataSet(Yes)» in the template, then when the document has been assembled, a data element containing the start and end times and elapsed time of the assembly operation will be written to the dataset.

Read More »

The Command Editor – XpressDox

The Command Editor empowers the template author by presenting an alphabetic list of all the XpressDox commands, with functionality which provides wizards for completion of the command as well as supplying examples of commands.

Read More »

The LastDayInMonth Function

February is always a problem in that its last day depends on whether the year is leap or not.  XpressDox has the LastDayInMonth function to assist with this. All that is required is to provide the function with a date and it will return the last day of the month in

Read More »

IncludePicture

This command enables the insertion of graphics from a file into the merged document. The picture is inserted into the document at the point where the command is encountered, and the size of the image is included in the command, for example: «IncludePicture(images:Logo.jpg,0.8in,0.8in)» or «IncludePicture(images:Logo.jpg,2cm,2cm)» The first measurement is the

Read More »

The HideInsideIV Command

You may have a situation where you have conditions that depend on the value of a data element during the lifetime of the interview.  For example, the condition on an OnExitSet command, or a ReadOnly with a condition. This would be the case, for example, with a data source which

Read More »

The MergeDataSheetTemplate Function

A Data Sheet can be merged for a template, showing just the data elements and their values. The link Data Sheets has a full description of the functionality around data sheet templates. The merging of a data sheet can be controlled by the user who runs the template, by including

Read More »

Validating a NINO

You have a template which needs to capture and use a NINO (National Insurance Number) as described in NIM39110 – National Insurance Numbers. You would like to make sure that the value captured in the interview is a valid NINO. This can be done using the following Rule command: «Rule(NINO,soft,IsRegexMatch,’^[A-Z]{2}[0-9]{6}(A|B|C|D)$’,’The

Read More »

The PrefixWith and SuffixWith Functions

PrefixWith This function is particularly useful in the situation where, say, you have an address consisting of data elements AddressLine1, AddressLine2, AddressLine3, and AddressLine4, but that perhaps lines 2, 3 and 4 are empty.  Further, you want to present the address in a single line, with the different AddressLine data elements separated by commas. You

Read More »

FileExists

This function can be used to test the existence of a file.   An example would be something like: «SetV(‘fileName’,concat(Directory,’\ExtraTemplate.xdtpx’))» «If(FileExists(GetV(‘fileName’)))» «MergeTemplate(GetV(‘fileName’))» «End(if exists)»   This will construct the name of a file in the XpressDox variable named ‘fileName’, and, if the file exists, issue the MergeTemplate command for it.

Read More »

The RemoveColumnIf and RemoveRowIf Commands

These two commands address some of the frustration involved in trying to include or exclude columns and rows in a Word table. REMOVECOLUMNIF It is almost impossible to think of a way to tell XpressDox to include a column in a Word table using «If(condition)» and «End()» to delimit the column boundaries.

Read More »

The FormatSeconds Function

If you have calculated (or been supplied) an elapsed time in seconds, then you can format that into a nicely legible format without having to divide by 60 for minutes, etc. «FormatSeconds(‘3675′,’HH:mm:ss’)» will render as “01:01:15” Another example would be: «ChooseUsingTimePicker(StartTime)» «ChooseUsingTimePicker(EndTime)» The time I spent was «FormatSeconds(SecondsBetween(EndTime,StartTime),’HH:mm:ss’)» You could make

Read More »

The PaintInsertedText Command

The command searches the template for any fillpoint which directly inserts text into the assembled document, and “paints” it with the specified color.   Command structure: «PaintInsertedText(Yes,Blue)»   Examples of usage: «PaintInsertedText(Yes,Red)» «Owner» (“Owner”) agrees to rent the property situated at «Property_Address» to «Renter» (“Renter”) for the term of this

Read More »

The ShowHidden Command

XpressDox has a powerful Relevance Engine which hides or shows controls (those areas where data for data elements are captured) on the interview. Take the following snippet: «ChooseFromRDBList(PartyType,Individual,Company)» The party is: «Name» and the «If(PartyType = ‘Individual’)»Identity Number is «IDNumber»«Else()»Company Number is «CompanyNumber» and Discount is «Discount»«End()» If the user chooses ‘Individual’

Read More »

The PositionOfRepeater Function

Please note that with effect from version 11.3, this function has been superseded by the RepeaterPosition function. For backward compatibility the use of PositionOfRepeater is supported, but is discouraged. Consider the commands OnExitSet and OnEnterSet. These commands are only executed during the lifetime of the interview, and also contain conditions

Read More »

The SaveDataset Command

In most cases after a template is run, XpressDox will save the Data Set (i.e. the XML file containing the data). Sometimes you might want to suppress the saving of the the data set. For example this might be when all the data for the data set are sourced from

Read More »

The Format Function

When concatenating strings together (see Concatenating Strings), it is not always easy to visualize what the end result will look like. This is especially the case when the strings being concatenated are a mixture of fixed text and values of data elements and functions. This situation often arises when using

Read More »

The ToHtml Function

The InsertFormattedText command will accept HTML text as input, convert it to an XpressDox document and then include it as if it were done with an IncludeTemplate command. Sometimes the data in a data element is not an entire HTML document, but a snippet. This snippet then needs to be

Read More »

Conditional inclusion of paragraphs and clauses

Sometimes there are just too many choices of paragraph or clause to be included or excluded from a document. Using If and Else commands is inappropriate when there are hundreds of combinations. XpressDox has the powerful InsertDocument command to handle just this situation – where the user running the template chooses which clauses should be inserted.

Read More »