Note that this article is only relevant to version 4 and later of XpressDox. The functioning of the relevance engine was significantly enhanced in version 4.
It’s in the Template but not in the data capture interview
XpressDox has a large number of commands which are used in the construction of the interview. Some of these, typically those beginning in “Choose” are used to choose data elements, either from lists or data sources or whatever. Others are commands like Caption, Heading, Footing, Help – these assist the template author in creating a meaningful interview for the template runner. These are the commands listed in the “Data Capture” category of the Command Editor .
The general rule is that any of these data capture commands will NOT cause the referenced data element to appear in the interview. What WILL cause the data element to appear in the interview is a fillpoint where the value of the data element is required.
So, for example
«ChooseFromCheckBox(Gender,M,F)»
will not result in a checkbox appearing on the interview. But as soon as the value of Gender is required, such as
«ChooseFromCheckBox(Gender,M,F)»
The party’s gender is
«When(Gender = 'M',male,female)»
.
then the checkbox will appear on the interview.
This feature is especially useful when you have a number of templates in a suite or which in any case share similar interview structure. What this feature enables you to do, is to put all of the interview related commands into one (or two or three) template, which you then include into the other templates (using the «IncludeTemplate()»
or more likely «IncludeCodeTemplate()»
command). This included template can then have a comprehensive set of interview layout commands, but then when each of the including templates are run, only the data elements relevant to that including template will appear on the interview.
The Reference article Using CaptureDataElement during data capture gives some background to this issue.
It’s in the interview but I don’t know what it’s name is!
This will be the case with ChooseFromDataSource and similar commands, and also where you have used «Caption()»
. This is discussed in Determining what a data element name is.