Support Center

“The easiest way to learn XpressDox is to use it.”

Alphabetic Command List Command List by Category Tutorials and Cheat Sheets User Reference How to use the Command Editor

Click here for email support.

Alphabetic command listAlphabetic List of Commands and Functions

Command or Function Name Description and Examples
AlignCaption

Sets the alignment of the caption for specific data elements

«AlignCaption(FirstName,LastName,Top)»

AlignCaptions

Sets whether captions on the interview should be aligned left, right or top

«AlignCaptions(Right)»

«AlignCaptions(Left)»

«AlignCaptions(Top)»

AlignErrorMessages

Sets whether error messages (on the web interview) should be aligned top or bottom

«AlignErrorMessages(Top)»

AppendPDF

Append a PDF file to the assembled (PDF) document

«AppendPDF(PDFFileName)»

«AppendPDF('Survey Agreement.pdf')»

«AppendPDF('Survey Agreement.pdf|Non-disclosure Agreement.pdf')»

AppendVr

Append values to the end of a variable

«AppendVr('List',',')»

«AppendVr('List',',',PartyName)»

ArrayAppendVr

Append a value to the value of an array element

«ArrayAppendVr('contacts','FullName',' ',Surname)»

ArrayClear

Removes all entries from an array

«ArrayClear('Transactions')»

ArrayConcat

Concatenate one array into another

«ArrayConcat('AllContacts','ForeignContacts')»

ArrayCount

Get the number of elements in an array

«ArrayCount('A')»

ArrayDelete

Delete an array element

«ArrayDelete('contacts','dependants')»

ArrayGetV

Get the value of an array element

«ArrayGetV('contacts','dependants')»

«ArrayGetV('contacts',3)»

ArrayGetVn

Get the value of an array element as numeric where the context requires it

«ArrayGetVn('contacts','dependants')»

ArrayIncrementV

Increment the value of an array element

«ArrayIncrementV('contacts','dependants')»

«ArrayIncrementV('contacts','dependants',count(Child))»

ArrayIncrementVr

Increment the value of an array element, and remove the paragraph

«ArrayIncrementVr('contacts','dependants')»

«ArrayIncrementVr('contacts','dependants',count(Child))»

ArrayKeys

Get one of the keys of the elements in the array

«ArrayKeys('A',1)»

«ArrayKeys('A',ArrayCount('A'))»

«SetVr('Ix',1)»
«RepeatWhile(GetV('Ix') <= ArrayCount('A'))» «ArrayKeys('A',GetV('Ix'))» = «ArrayValues('A',GetV('Ix'))» «IncrementVr('Ix')» «End()»

ArrayRemoveDuplicates

Removes duplicate (and empty) elements from an array

«ArrayRemoveDuplicates('foodList')»

ArraySetFromString

Create an array from a delimited string

«ArraySetFromString('names','Fred,John,Mary,Jack',',')»

ArraySetV

Initialise or change the value of an array element

«ArraySetV('contact','N',FirstNames)»

«ArraySetV('contact',3,FirstNames)»

ArraySetVr

Initialise or change the value of an array element, and remove the paragraph

«ArraySetVr('contact','N',FirstNames)»

ArraySortByIndex

Sorts the elements of an array by the index values

«ArraySortByIndex('Transactions')»

«ArraySortByIndex('Transactions','Numeric')»

ArraySortByValue

Sorts the elements of an array by value

«ArraySortByValue('Transactions')»

ArrayValues

Get one of the values of the elements in the array

«ArrayValues('A',1)»

«ArrayValues('A',ArrayCount('A'))»

«SetVr('Ix',1)»
«RepeatWhile(GetV('Ix') <= ArrayCount('A'))» «ArrayValues('A',GetV('Ix'))» «IncrementVr('Ix')» «End()»

BaseTemplate

Base (or overlay) this template on another template

«BaseTemplate(LetterHead)»

«BaseTemplate(headings:LetterHead,Destination)»

Button

Place a Button on the interview

«Button(ButtonDummy)»

«Button(ButtonDummy)»«OnExitSet(ButtonDummy,StartDate,Value,(),Today(),OnlyWhenEmpty)»

Caption

Set the caption for the data element on the interview screen

«Caption(Amount,Capital amount of loan)»

«Caption(Amount,^bu^@Navy@Capital amount of loan)»

CaptureAllDataElements

Capture all data elements even if not used in this template

«CaptureAllDataElements(Yes)»

CaptureAsLongText

Capture a multi-line text values

«CaptureAsLongText(Address,3)»

«CaptureAsLongText(Address,3,PendingRelevance,Rich)»

CaptureDataElement

Places a control for the data element on the interview screen

«CaptureDataElement(Name)»

«CaptureDataElement(DateOfBirth,date)»

CaptureDataElements

Include a number of data elements element in the interview for the template

«CaptureDataElements(CheckAll,Chk1,Chk2,Chk3)»

CaptureInGrid

Specify whether or not a repeater should be displayed and captured in a grid

«CaptureInGrid(Child,Yes)»

«CaptureInGrid(Child,No)»«CaptureInGrid(Child/Pet,Yes)»

CaptureLater

Defer the capture of a data element to later in the interview

«CaptureLater(Name)»

CaptureOnlyEmptyValues

Specify whether only empty values should be shown in the interview

«CaptureOnlyEmptyValues(Yes)»

«CaptureOnlyEmptyValues(No)»

ceiling

Round a value up to the nearest integer

«ceiling(RegionToX(YearsBetween(Today(),DateOfBirth)))»

CentsToCurrency

Convert value in cents to currency and format it

«CentsToCurrency(CentsValue,'#,0.00')»

ChooseFromData

Choose from repeating data already in the data set

«ChooseFromData(IdOfOrder,Order/OrderID)»

«ChooseFromData(IdOfOrder,Order/OrderID,OrderDescription)»

«ChooseFromData(IdOfOrder,Order/OrderID,OrderDescription,AddAllChosenData,Px)»

ChooseFromDataElements

Choose from data already in the data set

«ChooseFromDataElements(CustodianName,../Respondent1,../Respondent2)»

ChooseFromDataSource

Choose a row from a data source

«ChooseFromDataSource(Contacts,Choose a Contact)»

«ChooseFromDataSource(Contacts,Type in the Contact's ID,RefreshSave,,DisallowSearch)»

«ChooseFromDataSource(Contacts,Choose the contacts that apply,Refresh,Range=PostalCode = 7405,AllowSearch,Contacts)»

ChooseFromFile

Choose data from a text or XML file

«ChooseFromFile(Lookups:Contacts.xdtxt,Choose a contact,NoRefresh,Surname)»

«ChooseFromFile(Lookups:Contacts.xdtxt,Choose the Borrower,NoRefresh,BorrowerSurname,Borrower)»

ChooseFromHzRDBList

Present a horizontal list of radio button choices

«ChooseFromHzRDBList(Gender,,Male,Female)»

ChooseFromList

Present the user with a list of choices in a drop down list

«ChooseFromList(Province,Ontario,Quebec,British Columbia,Alberta,Manitoba,Saskatchewan,Nova Scotia,New Brunswick,Newfoundland and Labrador,Prince Edward Island)»

«ChooseFromList(Province,,Ontario,Quebec,'British Columbia', 'Alberta' ,Manitoba,Saskatchewan,Nova Scotia,New Brunswick,'Newfoundland and Labrador',Prince Edward Island)»

«ChooseFromList(Province,O~~Ontario,Q~~Quebec,BC~~British Columbia,A~~Alberta,M~~Manitoba,S~~Saskatchewan,NS~~Nova Scotia,NB~~New Brunswick,NL~~Newfoundland and Labrador,PE~~Prince Edward Island)»

ChooseFromRDBList

Present a radio button list of choices

«ChooseFromRDBList(Orientation,North,South,East,West)»

«ChooseFromRDBList(Clause,Security~~The undersigned undertakes to provide security covering the loan to be granted.,NoSecurity~~The undersigned is not required to provide security for the loan.)»

«ChooseFromRDBList(Clause,~~The undersigned undertakes to provide security covering the loan to be granted.,~~The undersigned is not required to provide security for the loan.)»

ChooseFromRepeatingData

Choose from repeating data already in the data set

«ChooseFromRepeatingData(IdOfOrder,Order/OrderID)»

«ChooseFromRepeatingData(IdOfOrder,Order/OrderID,OrderDescription)»

«ChooseFromData(IdOfOrder,Order/OrderID,OrderDescription,AddAllChosenData,Px)»

ChooseFromSamples

Presents a drop down list of choices, but the user can type their own if it is not in the list

«ChooseFromSamples(Title,,Mr.,Mrs.,Miss,Ms.,Prof.,Dr.)»

ChooseUsingCheckBox

Choose a value using a check box

«ChooseUsingCheckBox(RequiresSpecialSchooling,Yes,No,No)»

«ChooseUsingCheckBox(Clause,~~The Parties agree to cede their rights to various assets without prejudice.)»
«If(Clause != '')»
«Clause»
«End()»

ChooseUsingDatePicker

Choose a data element value using a date picker

«ChooseUsingDatePicker(DateOpened)»

ChooseUsingTimePicker

Choose a data element value using a time picker

«ChooseUsingTimePicker(AppointmentTime)»

Chr

Get a character value from its integer representation

«OnExitSet(AddressLine2,AddressBlock,Value,,concat(AddressLine1,Chr(13),AddressLine2),,EvenWhenNotEmpty)»

ComeHereAfterRun

Place a marker in the template where the cursor should be after the template has run.

«ComeHereAfterRun()»

CommasAndList

Gets a natural language list from a delimited list.

«CommasAndList(GetV('JoinedValues'),'/',', ',' and ')»

«CommasAndList(GetV('JoinedValues'),'/',', ',' en ')»

Comment

Enter a comment into the template

«Comment(Any arbitrary comments)»

concat

Concatenates any number of string values

«SetV('FullName',concat(FirstNames,' ',Surname))»

«SetV('Possessive',concat(Noun,'!'s'))»

contains

Test for a substring inside another string

«If(contains(Word,'q'))»the word contains 'q'.«End()»

count

Count - returns the number of a repeated item

«If(count(Child) > 0)»The number of children in the family is «count(Child)»«End()»

«If(count(Child) > 0)»The names of the children follow:«Foreach(Child)»«Name» «Surname»«End()»«End()»

«count(Child[Age < 12])»

CountOf

Get the number of occurrences of one string inside another

«CountOf('.',Name)»

«If(CountOf('.',Name) = 0)»The name contains no initials.«End()»

CreateDataElement

Create a data element in the template's data set.

«CreateDataElement('ThisDataElement',GetV('ThisVariable')»

«CreateDataElement('ThisFileName'),GetValidFileName(AccountNumber)»

CreateObject

Create a reference to a COM or .NET object

«CreateObject('Excel','Excel.Application')»

«CreateObject('Account','o2Smart.PracticeManagement.Account, o2Smart.PracticeManagement','ctor',AccountNumber)»

CultureName

Get the active culture name

«CultureName('Input')»

«CultureName('Output')»

CurrencySymbol

Insert the currency symbol as defined in the Regional Settings

«CurrencySymbol()»

CurrencyToCents

Multiplies a currency value by 100 with minimal rounding

«CurrencyToCents(Price)»

DaysBetween

Gets the number of working days between two dates

«DaysBetween(EndDate,StartDate)»

«FormatNumber(((DaysBetween(Today(),DateOfBirth) div 365) - 0.5), '0')»

«DaysBetween(EndDate,StartDate,'w','2016-12-16,2016-12-26,2016-12-27,2017-01-01,2017-01-02')»

«DaysBetween(EndDate,StartDate,'wi','2016-12-16,2016-12-26,2016-12-27,2017-01-01,2017-01-02')»

«DaysBetween(EndDate,StartDate,'wi')»

Debug

Debug missing or superfluous 'end' and 'else' issues

«Debug()»

Define

Define the interview properties of a data element

«Define(Amount,^biu^@Red@Caption text,|^b^@Navy@Heading text,Footing Text,Tab Caption,CaptureDataElement,,Required,Initial Value,hard;IsDigits;The amount must be numerics only.,Cases;RefreshSave;'Id=;')?Enter the amount of the deal.»

«Define(Title,^biu^@Red@Title of the party,|^b^@Navy@PARTY DETAILS,,Contact Information,ChooseFromList,;Mr.;Mrs.;Ms.;Dr.;Prof.)»

«Define(TaxIncluded,Is Tax included,,,,ChooseUsingCheckBox,Y;N;N)»

DefineSetAllGroup

Implements a "Check All" feature

«DefineSetAllGroup(CheckAll,Option1,Option2,Option3)»

«DefineSetAllGroup(CheckAll,Option1,Option2,Option3,|,OptionList)»

«DefineSetAllGroup(CheckAll,Option1,Option2,Option3,|,OptionList,DropPH)»

«DefineSetAllGroup(CheckAll,Option1~~a~~Option2~~b~~Option3~~c,|,OptionList)»

DocumentBody

Insert the body of the originating template into the Base Template

«DocumentBody»

Dolares

Render a numeric amount as a number of Dollars, in Spanish words

«Dolares(Price)»

«Dolares(Price,'ToUpper')»

Dollars

Render a numeric amount as a number of Dollars, in words

«Dollars(Price)»

«Dollars(Price,'ToUpper')»

DollarsFrancaise

Render a numeric amount as a number of Dollars, in French words

«DollarsFrancaise(Price)»

«DollarsFrancaise(Price,'ToLower')»

DropDownPanel

Present the data elements in a drop down list

«DropDownPanel(PH1,Choice1,Choice2,Choice3,Choice4)»

«DropDownPanel(PH1,Soccer,Tennis,Golf,repeater=Sports/SportName)»

EnableWebLocalSave

Enable Save Local on the Web

«EnableWebLocalSave(Yes)»

EndsWith

Test whether a string ends in a given string

«If(EndsWith(Surname,'-Smith'))»

Eq

Test whether a string is equivalent to another string

«If(Eq(MaritalStatus,'Mar*comm*other'))»«End()»

«If(Eq(Quotation,'longandwindingroad'))»«End()»

EscapeForXml

Escape a string for use in XML

«EscapeForXml(Text)»

EuroDeutsch

Render a numeric amount as a number of Euros, in German words

«EuroDeutsch(Price)»

«EuroDeutsch(Price,'ToLower')»

EurosEspanol

Render a numeric amount as a number of Euros, in Spanish words

«EurosEspanol(Price)»

«EurosEspanol(Price,'ToUpper')»

EurosFrancaise

Render a numeric amount as a number of Euros, in French words

«EurosFrancaise(Price)»

«EurosFrancaise(Price,'ToLower')»

ExcludeFromDataSet

Exclude elements from the saved dataset

«ExcludeFromDataSet(DataElements,UserID,UserName,UserEmail,Child/Address)»

«ExcludeFromDataSet(DataSources,Users,Accounts)»

ExcludeFromGrid

Exclude the data element from a grid row when captured in a grid

«ExcludeFromGrid(PictureCode)»

«ExcludeFromGrid(PictureCode,Size,Location)»

ExcludeFromIV

Excludes a data element from the capture interview for the template

«ExcludeFromIV(FirmName)»

«ExcludeFromIV(FirmName,FirmAddressLine1,FirmAddressLine2,FirmPostalCode)»

ExpectXSLTFormatNumbers

Cause XpressDox to expect XSLT formatted numbers in data

«ExpectXSLTFormatNumbers(Yes)»

ExtractInitials

Extract Initials from name

«ExtractInitials(Fullnames,'.')»

«ExtractInitials(Fullnames,'')»

FileExists

Test whether file exists

«If(FileExists(FileName))»do something«End()»

«If(FileExists(concat(Folder,"\",FileName)))»do something«End()»

floor

Round a value down to the nearest integer

«floor(RegionToX(YearsBetween(Today(),DateOfBirth)))»

Footing

Place footing text below a data element in the interview

«Footing(CompanyPostalCode,END OF COMPANY DETAILS)»

«Footing(CompanyName,)»

«Footing(CompanyPostalCode,|^bu^@Navy@END OF COMPANY DETAILS)»

ForbidThousandsSeparators

Specify that capture of numeric values should not permit thousans separators

«HideEmptyInterview(Yes)»

«HideEmptyInterview(No)»

ForEach

Repeat for a number of repeating data elements

«ForEach(Party)» «End()»

«ForEach(Party,Surname,ascending,text)» «End(for each)»

«ForEach(Child[Age < 12]) selects children whose age is less than 12» «End()»

Format

Format a string according to a pattern

«CreateDataElement(Format('Child[{0}]/Name',position()),GetV('Name'))»

FormatDate

Format a field as date and/or time

«FormatDate(DateOfBirth,'yyyy/MM/dd','en')»

«FormatDate(SignatureDate,'o MMMM yyyy')»

FormatNumber

Format Number

«FormatNumber(Amount)»

«FormatNumber(Amount,'#,0.00;(#,0.00)')»

«FormatNumber(Amount,'#,0.00;(#,0.00)','FR')»

FormatSeconds

Format a number of seconds into hours, minutes and seconds

«FormatSeconds(Seconds,'HH:mm:ss')»

«FormatSeconds(Seconds,'HH')» hours, «FormatSeconds(Seconds,'mm')» minutes and «FormatSeconds(Seconds,'ss')» seconds

FormatTime

Format a field as a time

«FormatTime(AppointmentTime,'hh:mm tt')»

«FormatTime(AppointmentTime,'hh:mm tt','fr')»

«FormatTime(AppointmentTime,'HH:mm:ss')»

Gender

Return a value depending on a party's gender


«ChooseFromRDBList(PartyGender,Male,Female)»
«Gender(PartyGender,1,'he,she')» took «Gender(PartyGender,1,'his,her')» bag with «Gender(PartyGender,1,'him,her')»


«ChooseFromRDBList(PartyGender,,Y~~Male,X~~Female)»«Comment(Y and X are accepted as gender codes from genetics)»
«Gender(PartyGender,1,'he,she,it')» took «Gender(PartyGender,1,'his,her,its')» bag with «Gender(PartyGender,1,'him,her,it')»


«ForEach(Party)»«ChooseFromRDBList(PartyGender,Male,Female,Neuter)»«End(ForEach party)»
«Gender(Party/PartyGender,count(Party),'he,she,it,they')» took «Gender(Party/PartyGender,count(Party),'his,her,its,their')» bag«Plural(count(Party),'','s')» with «Gender(Party/PartyGender,count(Party),'him,her,it,them')»


«ChooseUsingCheckBox(OnlyOneParty,Y,N,N)»
«Gender(PartyGender,(OnlyOneParty = 'Y'),'he,she,it,they')» took «Gender(PartyGender,(OnlyOneParty = 'Y'),'his,her,its,their')» bag«Plural((OnlyOneParty = 'Y'),'','s')» with «Gender(PartyGender,(OnlyOneParty = 'Y'),'him,her,it,them')»


«ForEach(Party)»«ChooseFromRDBList(PartyGender,M,V,D)»«End(ForEach party)»
«Gender(Party/PartyGender,count(Party),'hy,sy,die ding,hulle','M,V,D')» het «Gender(Party/PartyGender,count(Party),'sy,haar,sy,hulle','M,V,D')» sak«Plural(count(Party),'','ke')» saam met «Gender(Party/PartyGender,count(Party),'hom,haar,hom,hulle','M,V,D')» gevat.

GetDataSet

Get a string representation of the data set

«GetDataSet()»

«SetDataSourceData('StagingTable',Guid(),'XMLBlob',GetDataSet(),'Description',Name)»

GetDataSourceData

Get the data from a data source during assembly

«SetV('ProductXML',GetDataSourceData('Products',ProductID))»

«GetDataSourceData('Products',ProductID,'ProductName')»

«GetXMLElementValue(GetDataSourceData('Products',ProductID),'ProductName')»

GetListItem

Extract a value from a delimited list

«GetListItem(ListItem,'First,Second,Third',',')»

«GetListItem(4,IP_Address,'.')»

«GetListItem(GetV('element number'),PeriodicTable,',')»

GetObjectValue

Get the value of a property or method call on a COM or .NET object

«GetObjectValue('msword:Version')»

«GetObjectValue('msword:PointsToInches',72)»

GetProperty

Get the value of a property of a COM or .NET object

«GetProperty('MyObject:MyPropertyName')»

«GetProperty('msword:ActiveDocument.Name')»

GetRegistryValue

Get a value from the registry

«GetRegistryValue('HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Accounting\Options\ScratchFolder')»

«GetRegistryValue(concat('HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Accounting\UserOptions\',WindowsLogonUser()))»

GetV

Get the value of a variable

«GetV('Balance')»

GetValidFileName

Get a string which only has valid file name characters

«GetValidFileName(AccountNumber)»

«GetValidFileName(AccountNumber,'-')»

«CreateDataElement('TargetFileName',GetValidFileName(AccountNumber,'-'))»

GetValidXmlElementName

Converts the passed string to a valid XML element name

«GetValidXmlElementName(Name,'_and_')»

GetVn

Get the value of a variable used as numeric

«Party[GetVn('Counter')]/Name»

GetVOrDefault

Get the value of a variable if it has been defined otherwise a default value

«GetVOrDefault('NumberOfLines',1)»

GetXmlElementValue

Get the value of an XML element in an XML document

«GetXmlElementValue(GetV('ProductXML'),'ProductName')»

«GetXmlElementValue(GetDataSourceData('Products',ProductID),'ProductName')»

Guid

Get a GUID (Globally Unique Identifier)

«SetV('Id',Guid())»

«OnExitSet(Name,Id,Value,,Guid(),,OnlyWhenEmpty)»

HardSpace

Convert normal spaces to non-breaking spaces

«HardSpace(Phrase)»

«HardSpace(Pounds(Price))»

Heading

Place heading text above a data element in the interview

«Heading(CompanyName, COMPANY DETAILS)»

«Heading(CompanyName,|^bu^@Navy@COMPANY DETAILS)»

Help

Provide help text (to be shown in the Help area) for a data element

«Help(Amount,Enter the amount of the loan)»

{**Help(Address,\Enter the address, each address line on a separate line)»

HideEmptyInterview

Specify whether or not an empty interview should be hidden

«HideEmptyInterview(Yes)»

«HideEmptyInterview(No)»

HideInsideIV

Hides a data element inside the interview for the template

«HideInsideIV(DebtorTypeOption)»

«HideInsideIV(DebtorTypeOption,CreditorTypeOption,AgentTypeOption)»

Hyperlink

Attach a hyperlink to a heading or footing

«Hyperlink(Description,Heading,www.xpressdox.com)»

«Hyperlink(Description,Heading,www.xpressdox.com/

HzGroup

Group data elements together horizontally on the interview

«HzGroup(Title,FirstNames,LastName)»

«HzGroup(Title,FirstNames,LastName,10,EmptyAllCaptions)»

«HzGroup(Title:4,FirstNames,LastName,20)»

If

Conditionally include text into the document

«If(Answer = 'No')» «End(If)»

«If(Answer = 'Yes')»text when Answer is 'Yes'«Else()»text when Answer is not 'Yes'«End(If)»

«If((Answer = 'Yes') or (Answer = 'Maybe') and (Amount > 500)»«End()»

«If(position()= 1)»This applies only to the first repeating item.«End()»

«ForEach(Party)»«PartyFullNames»«If(last() > 1)»«When(position() < last()-1,!, )»«When(position() = last()-1, and )»«End(party > 1)»«End(for each)»

«ChooseFromRDBList(Gender,Male,Female)»«If(Gender = "Male")»«SetV("PronounHe","he")»«Setv("PronounHim","him")»«SetV("PronounHis","his")»«Else()»«SetV("PronounHe","she")»«SetV("PronounHim","her")»«SetV("PronounHis","her")»«End()»«RemoveParagraph()»
«GetV('PronounHe')» took «GetV('PronounHis')» bag with «GetV('PronounHim')»

IIf

IIf function

«IIf((VatIndicator = 'Yes'),FormatNumber(Amount * 0.14),'0.00')»

IncludeCodeTemplate

Include only those paragraphs which contain XpressDox merge fields

«IncludeCodeTemplate(utils:Help,Text)»

IncludeDataSourceData

Include data from a data source

«IncludeDataSourceData(Contacts,RefreshSave,range=PostalCode > 8000,Customers)»

IncludeFileData

Include data from a text or XML file

«IncludeFileData(Contacts.xml)»

«IncludeFileData(lookups:Contacts.xml,Refresh,Customers)»

IncludePicture

Include a picture

«IncludePicture(images:Logo.jpg,0.8in,0.8in)»

IncludeSpreadsheet

Include a spreadsheet in the final document

«IncludeSpreadsheet(HourlyRates.xslt)»

IncludeTemplate

Include a template as part of this template

«IncludeTemplate(utils:Clauses,Destination,ExcludeHeaders)»

«IncludeTemplate(utils:Clauses,Destination,PreserveHeaders)»

«IncludeTemplate(utils:Help,Text)»

IncrementDate

Increment a date

«IncrementDate(DateOfBirth,1,'y')»

«IncrementDate(Today(),5,'d')»

«IncrementDate(Today(),5,'w')»

IncrementV

Increment a variable value

«IncrementV('Counter')»

«IncrementV('Total',RenderAsNumeric(Amount))»

IncrementVr

Increment a variable by a given amount and remove the paragraph

«IncrementVr('Total',RenderAsNumeric(Amount))»

«IncrementVr('Counter')»

InhibitAutomaticRuleOnNumberFunctions

Inhibit the automatic Rule commands that are generated for functions taking numeric values as input.

«InhibitAutomaticRuleOnNumberFunctions(Yes)»

InsertFormattedText

Insert text captured as long text

«InsertFormattedText(Address)»

«InsertFormattedText(Address,Paragraph)»

«InsertFormattedText(Address,Destination)»

InsertHyperlink

Insert a hyperlink into the document

«InsertHyperlink('Our Company Web Site','www.abccompany.com.xy')»

«InsertHyperlink(concat(DirectorName, ' profile'),DirectorProfileWebSite)»

InsertInto

Insert a string inside a value

«InsertInto(Name,3,'X.')»

InsertPicture

Insert a picture

«InsertPicture(concat('images:Personnel\',Signatory,'.jpg'),0.8in,0.8in)»

InsertSpreadsheet

Insert a spreadsheet in the final document

«InsertSpreadsheet(concat('HourlyRatesFor',DirectorCode,'.xslt'))»

InsertTemplate

Insert a template whose name appears in a data element which is chosen by the user.

«InsertTemplate(Clause,Destination)»

«InsertTemplate(concat('Clauses:',ChosenClauseName,PartyType),Destination)»

«InsertTemplate('Party Underage Clause',Destination)»

«InsertTemplate('letters:Covering Letter',Destination,PreserveHeaders)»

InsertUnformattedLongText

Inserts text captured as "long" text but with no line breaks or formatting

«InsertUnformattedLongText(Address,', ')»

InterviewFont

Specify the font for the entire interview

«InterviewFont(Microsoft Sans Serif/8.25)»

«InterviewFont(Times New Roman/9)»

InterviewIsWizard

Specify whether the interview should be in Wizard form or not

«InterviewIsWizard(Yes)»

«InterviewIsWizard(Strict)»

«InterviewIsWizard(No)»

InterviewLogo

Provide the name of an image file to use in the interview

«InterviewLogo(images:InterviewLogo.jpg)»

InterviewRelevance

Provide a condition governing the relevance of the data element in the interview

«InterviewRelevance(Name,Name = '')»

«InterviewRelevance(Children,count(Children) > 0)»

InterviewTitle

Set the title which will show on the Interview screen for this template

«InterviewTitle(Custom Title for Interview Screen)»

InvokeMethod

Invoke a method on a COM or .NET object

«InvokeMethod('Excel.Application:Quit')»

«InvokeMethod('msword:ChangeFileOpenDirectory',concat('C:\Users\',WindowsLogonUser(),'\Documents\XpressDox'))»

IsTrue

Test whether a value looks like a boolean "true"

«If(IsTrue(Option1))»Option1 («Option1») is true«End()»

«If(not(IsTrue(Option1)))»Option1 («Option1») is false«End()»

last

Used in a ForEach to test whether the last repeating item is being referenced.

«last()»

«If((position() > 1) and (position() < last()-1))», «End()»«If((position() > 1) and (position() = last()-1))» and «End()»

LastDayInMonth

Get the last day in a month

«FormatDate(LastDayInMonth(Today()),'dd MMMM yyyy')»

Left

Extract the left-most a portion of a string

«Left(Name,5)»

LinkToDataSource

Link the control for any data element in the interview to a data source

«LinkToDataSource(MatterNumber,Cases)»

«LinkToDataSource(MatterNumber,Cases,RefreshSave,'id=,',LookupMatter = 'Y',UserClass='High')»

LinkToDataSourceOnEnter

When entering a control in the interview, link it to a data source

«LinkToDataSourceOnEnter(MatterNumber,Cases)»

«LinkToDataSourceOnEnter(MatterNumber,CasesDataSource,AllowInsert,id=0,MatterNumber = '')»

«LinkToDataSourceOnEnter(MatterNumber,CasesDataSource,RefreshSave,,(MatterNumber != ''),(UserCanSave = 'Yes'))»

LinkToOtherData

Links the control in the interview for this data element to a saved dataset

«LinkToOtherData(AccountNumber)»

«LinkToOtherData(AccountNumber,_

List

Produce a delimited list (e.g. commas and 'and') from repeating data

«List(Party,Firstname Surname,!, , and )»

«List(Child[Age < 10],Firstname Surname,', ',' and ')»

ListDelimiter

Inserts a delimiter between parts of a list, typically a comma and "and"

«ListDelimiter(position(),last()-1,'; ',' and also ')»

«ListDelimiter(position(),last()-1)»

«ListDelimiter(GetVn('counter'),GetVn('sizeMinus1'))»

Log

Log a message

«Log(concat('At this point in the template, and the value of Name is ',Name))»

LogDataElements

Log a list of data elements with a message

«LogDataElements(The name and address are,Name,Address)»

LogVariables

Log a list of XpressDox variable values with a message

«LogVariables(At the middle of the template,Total,TotalTax)»

Lookup

Look up the value of a key in a name/value list

«Lookup(Language,'en-gb:colour;en-us:color')»

MakeNoise

Make one of the system sounds

«MakeNoise()»

«MakeNoise('Asterisk')»

Max

Gets the higher of two values

«Max(HourlyRate * Hours, 1000)»

«Max(Age,CutoffAge)»

MergeDataSheetTemplate

Merge this template's Data Sheet Template

«MergeDataSheetTemplate()»

MergePDFForm

Merge a PDF from after the currently running template

«MergePDFForm('Agreement')»

«MergePDFForm(concat('Agreement -',PartyType),'Agreement')»

MergeTemplate

Supply the name of another template to be merged

«MergeTemplate('Agreement')»

«MergeTemplate(concat('Agreement -',PartyType))»

Min

Gets the lower of two values

«Min(HourlyRate * Hours, 1000)»

«Min(Age,CutoffAge)»

Now

Insert the current date (i.e. today) and/or time into the document

«Now('yyyy/MM/dd')»

«Now('MMMM o yyyy')»

«Now('d MMMM yyyy HH:mm:ss','de')»

«Now()»

NumberPhrase

Format a number as words

«NumberPhrase(Price)»

«NumberPhrase(Price - 100,'en-us','ToUpper')»

NumberToCurrency

Render a number as currency, in words

«NumberToCurrency(Price, "Dollar", "Dollars", "cent", "cents", "", "en-uk", "Leave")»

OnEnterSet

Set values when focus enters a data element's control

«OnEnterSet(Gender,Gender,Value,(Substring(IDNumber,7,1) > '4'),'Male','Female')»

«OnEnterSet(RefNumber,RefNumber,Caption,(PartyType = 'Individual'),'ID Number','Company Number')»

«OnEnterSet(ReminderDate,ReminderDate,Value,,IncrementDate(DateOpened,7,'d'),,EvenWhenNotEmpty)»

OnExitSet

Set values when focus leaves a data element's control

«OnExitSet(IDNumber,Gender,Value,(Substring(IDNumber,7,1) > '4'),'Male','Female')»

«OnExitSet(PartyType,RefNumber,Caption,(PartyType = 'Individual'),'ID Number','Company Number')»

«OnExitSet(DateOpened,ReminderDate,Value,,IncrementDate(DateOpened,7,'d'),,EvenWhenNotEmpty)»

OptimizeParsing

Optimize parsing of the template

«OptimizeParsing(Off)»

«OptimizeParsing(On)»

Ordinal

Ordinal (i.e. First, Second,...) inside ForEach

«Ordinal()»

«Ordinal(,Eerste,Tweede,Derde,Vierde,Fyfde,Sesde,Sewende,Agste en verdere)»

OrdinalSuffix

Gets the suffix st, nd, rd, etc. of the ordinal of a number

«OrdinalSuffix(Today('d'))»

«OrdinalSuffix(Today('d'),'af')»

«OrdinalSuffix(Today('d'),'st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,th,th,th,th,th,st,nd,rd,th,th,th,th,th,th')»

PaintInsertedText

Paint Text Inserted by Fillpoints

«PaintInsertedText(Yes,Blue)»

«PaintInsertedText(Yes,Blue,Paint='Yes')»

«PaintInsertedText(No)»

«PaintInsertedText(No,Red)»

Pesos

Render a numeric amount as a number of Pesos, in Spanish words

«Pesos(Price)»

«Pesos(Price,'ToUpper')»

PlaceHolder

A placeholder in the interview to which text can be attached

«PlaceHolder(DummyName)»

Plural

Get the singular or plural depending on the number.

«Plural(count(Child),'child','children')»

«Plural(count(Child),'child!'s','children!'s')»

«ChooseUsingCheckBox(OnlyOne,Y,N,N)»«Plural((OnlyOne = 'Y'),'child','children')»

position

Get the position within a ForEach

«When(position() > 1, and )»

«ForEach(Party)»«PartyFullNames»«If(last() > 1)»«When(position() < last()-1,!, )»«When(position() = last()-1, and )»«End(party > 1)»«End(for each)»

PositionOfRepeater

Get the position during interview processing

«PositionOfRepeater()»

«PositionOfRepeater(../)»

Pounds

Render a numeric amount as a number of Pounds, in words, UK English

«Pounds(Price)»

«Pounds(Price,'ToUpper')»

PrefixWith

Insert a prefix if the value is not empty

«PrefixWith(AddressLine2,' ')»

PrependVr

Prefix values at the front of a variable

«PrependVr('List',',')»

«PrependVr('List',PartyName,',')»

RaiseToPower

Raise a number to a power

«RaiseToPower(SideOfSquare,2)»

Rand

Render a numeric amount as a number of Rand in words, in English

«Rand(Price)»

«Rand(Price,'ToUpper')»

RandAfrikaans

Render a numeric amount as a number of Rand in words, Afrikaans

«RandAfrikaans(Price)»

«RandAfrikaans(Price,'ToUpper')»

ReadOnly

Set the control for a data element on the interview to Read Only

«ReadOnly(Description)»

«ReadOnly(Description,Size,Location)»

«ReadOnly(Description,Size,Location,(UserIsPrivileged = 'Yes'))»

RegionToX

Convert a number in regional format to XpressDox calculation-compliant format

«(RegionToX(UnitPrice) * RegionToX(Qty))»

RemoveColumnIf

Remove a Word table column

«RemoveColumnIf(ColumnCount < 3)»

«RemoveColumnIf(ColumnCount < 3,1)»

«RemoveColumnIf(ColumnCount < 3,Empty)»

RemoveParagraph

Remove the paragraph after the template has merged.

«RemoveParagraph()»

RemoveRowIf

Remove a Word table row

«RemoveRowIf(AgeOfChild < 18)»

RenderAsNumeric

Force a string to be a valid numeric value

«FormatNumber(RenderAsNumeric(Amount) * 1.10)»

RepeaterCaption

Set the caption for a group of repeating data elements on the interview screen

«RepeaterCaption(Child,Children)»

«RepeaterCaption(Child,^bu^@Navy@Children)»

RepeatWhile

Repeat while a condition is true

«SetV('This','XXThat')»«RepeatWhile(GetV('This') != 'That')»Variable 'This' is «GetV('This')» «SetV('This',substring(GetV('This'),2))»«End()»

Replace

Replace all occurrences of a specified string with another

«Replace(EnglishSentence,'grey','gray')»

«Replace(Replace(Replace(EnglishSentence,'grey','gray'),'colour','color'),'favourite','favorite')»

ReplaceField

Replace a Fillpoint in the Base Template

«ReplaceField(Addressee)»«ClientName»«ReplaceFieldEnd()»

«ReplaceField(ToUpper(Addressee))»«ToSentence(ClientName)»«ReplaceFieldEnd()»

Required

Mark one or more data elements as required - i.e. must have a non-empty value

«Required(AccountNumber,Decimal)»

«Required(AccountNumber)»

«Required(AccountNumber,Surname,IDNumber)»

RequiredVersion

Allows the template author to prevent a template running if the installed version of XpressDox is too low.

«RequiredVersion(3.1.1)»

RestrictToLicenses

Supply licence serial numbers for this template

«RestrictToLicenses(123,124,300)»

Right

Extract the right-most a portion of a string

«Right(Name,5)»

Round

Round a value to the nearest integer

«FormatNumber(Round(Price,2))»

«Round(InterestRate,3)»

Rule

Applies a custom made validation rule to the data element in the interview process

«Rule(Cost,hard,IsNumber,110.00,12000.00,The Cost must be greater than 109 and less than or equal to 12000.)»

«Rule(SellingPrice,hard,(Area > 1000 and SellingPrice > 500000) or (Area < 1001 and SellingPrice < 50001),'The SellingPrice must be greater than 500000 when the Area is more than 1000.')»

«Rule(IDNumber,hard,IsDigits,The IDNumber must consist only of digits)»«Rule(IDNumber,hard,string-length(IDNumber) = 13,the IDNumber must be exactly 13 digits long.)»

«Rule(IDNumber,hard,IsZAIDNumber,The IDNumber failed the test for a valid South African ID Number.)»

«Rule(Email,hard,IsEmailAddress,'The field must be a valid email address')»«Rule(Email,hard,(not(contains(Email,',')) and not(contains(Email,';'))),'not a list of addresses.')»

«Rule(Postal_Code,hard,IsUKPostalCode,'Please enter a valid UK Postal Code')»

«Rule(Price,hard,IsRegionalNumber,'EU','The value must be a number in the format 9.999,99')»

«Rule(IDNumber,soft,1 = 1,'do you want to accept the value anyway?')»

RunAsHugeTemplate

Instruct XpressDox Word Addin to run the template in a separate process

«RunAsHugeTemplate(yes)»

RunTemplates

Specify a number of templates to be run when this template is run.

«RunTemplates(CoveringLetter,Contract,Invoice,DebitOrder)»

RunWordMacro

Run a Word macro after the template has been merged.

«RunWordMacro(MacroName)»

«RunWordMacro(FirstMacro,SecondMacro)»

SaveAsHTML

Specify whether or not to save the merged document in HTML format.

«SaveAsHTML(Yes)»

SaveAsPDF

Specify whether or not to save the merged document in PDF format.

«SaveAsPDF(Also)»

«SaveAsPDF(Only)»

«SaveAsPDF(Only,Unencrypt)»

«SaveAsPDF(Not)»

SaveAsRTF

Specify whether or not to save the merged document in RTF format.

«SaveAsRTF(Yes)»

SaveAsText

Specify whether or not to save the merged document in plain text format.

«SaveAsText(Yes)»

SaveDataset

Specify whether or not to save the dataset.

«SaveDataset(No)»

Script

Define a chunk of document for re-use

«Script(ProductDescription)»chunk of text«ScriptEnd()»

SecondsBetween

Gets the number of seconds between two date/times

«SecondsBetween('13:00:00','12:00:00')»

«SecondsBetween(EndTime,StartTime)»

Select

A Select/Case/Default block

«Select(Testing things)»«Case(Test = 1)»Test is 1«End()»«Case(Test = 2)»Test is 2«End()»«Default()»Test is «Test»«End()»«End(Select)»

«Select(Testing things)»
«Case(Test = 1)»Test is 1
«End()»
«Case(Test = 2)»
Test is 2
«End()»
«Default()»
Test is «Test»
«End()»
«End(Select)»

SendWebEmail

Set all the properties to send an email from a Web based template

«SendWebEmail(ToAddress,'','','noreply@email.com','Documents attached for your info','emailbody.html','false','true','false')»

SetCoreFileProperty

Sets a core file property in the merged document

«SetCoreFileProperty('Author',WindowsLogonUser())»

«SetCoreFileProperty('Subject',What_this_is_About)»

SetCustomDocumentProperty

Sets a custom document property in the merged document.

«SetCustomDocumentProperty(MadeByXpressDox,Y)»

SetDataSourceData

Set the value of a field in a data source

«SetDataSourceData('Products',ProductID,'UnitPrice',100)»

SetDocumentName

Set the document name (referenced as ).

«SetDocumentName(CoveringLetter)»

SetEmptyMarker

Set the value of the Empty Marker

«SetEmptyMarker('{^}')»

«SetEmptyMarker('{^}',LastName,FirstNames,IDNumber)»

«SetEmptyMarker('',LastName,FirstNames,IDNumber)»

«SetEmptyMarker('{~cyan~^~}')»

«SetEmptyMarker('{~red~^~}',LastName,FirstNames,IDNumber)»

SetInitialValue

Sets the initial value for a data element that is to be captured

«SetInitialValue(PostalCode,7890)»

«SetInitialValue(Customer/State,Washington)»

SetInterviewDataOnly

Set the option that a template is destined only for data capture

«SetInterviewDataOnly(Yes)»

«SetInterviewDataOnly(No)»

SetMultipleDocumentFilter

Sets a filter applying to the Document Per Repeated Item feature

«SetMultipleDocumentFilter(ChildAge > 12)»

«SetMultipleDocumentFilter(ChildAge > ../AgeFilterValue)»

SetProperty

Set the value of a property of a COM or .NET object

«SetProperty('Excel.Application:ActiveCell.FormulaR1C1',Today('yyyy-MM-dd'))»

SetRepeaterQualifier

Set the string which must appear in the interview against repeating elements

«SetRepeaterQualifier(Child,,

SetSavedDataFileName

Set the file name of the data that was captured in an interview for the template.

«SetSavedDataFileName(Data

«SetSavedDataFileName(concat('Data ',GetValidFileName(AccountNumber)))»

SetSavedDataFolder

Sets the folder where the data captured in the interview will be saved.

«SetSavedDataFolder(Data

«SetSavedDataFolder(concat('Data ',WindowsLogonUser()))»

SetSavedDocumentFileName

Set the file name of the merged document.

«SetSavedDocumentFileName(

«SetSavedDocumentFileName(concat('Document for ',GetValidFileName(AccountNumber)))»

SetSavedDocumentFolder

Set the folder where the merged document will be saved.

«SetSavedDocumentFolder(Docs

«SetSavedDocumentFolder(concat('Docs ',WindowsLogonUser()))»

SetSavedDocumentNameVersioning

Set the option governing the versioning of the merged document file name (default is ON)

«SetSavedDocumentNameVersioning(Off)»

SetV

Set a variable value

«SetV('Balance',0)»

«SetV('Balance',GetV('Balance') + RenderAsNumeric(Amount))»

«IncrementV('Balance', RenderAsNumeric(Amount))»

«ChooseFromRDBList(Gender,Male,Female)»«If(Gender = "Male")»«SetV("PronounHe","he")»«Setv("PronounHim","him")»«SetV("PronounHis","his")»«Else()»«SetV("PronounHe","she")»«SetV("PronounHim","her")»«SetV("PronounHis","her")»«End()»«RemoveParagraph()»
«GetV('PronounHe')» took «GetV('PronounHis')» bag with «GetV('PronounHim')»


«ChooseFromRDBList(PartyGender,Male,Female)»
«Gender(PartyGender,1,'he,she')» took «Gender(PartyGender,1,'his,her')» bag with «Gender(PartyGender,1,'him,her')»

SetVR

Set a variable value and remove the paragraph

«SetVR('Balance',0)»

«SetVr('Balance',GetV('Balance') + RenderAsNumeric(Amount))»

«ChooseFromRDBList(Gender,Male,Female)»«If(Gender = "Male")»«SetVr("PronounHe","he")»«Setv("PronounHim","him")»«SetV("PronounHis","his")»«Else()»«SetVR("PronounHe","she")»«SetV("PronounHim","her")»«SetV("PronounHis","her")»«End()»
«GetV('PronounHe')» took «GetV('PronounHis')» bag with «GetV('PronounHim')»

SetWebButtonText

Sets the text to be shown in the "Assemble Document" button on the web interview

«SetWebButtonText(Submit)»

SetWebCustomButton

Sets custom text to be implemented in the interview by the web designer

«SetWebCustomButton('Do Something')»

SetWebEncryptionKey

Set the Web Encryption Key

«SetWebEncryptionKey('E8809904DABE')»

SetWebInterimSaveButton

Sets the text to be shown in the "InterimSave" button on the web interview, and the URL

«SetWebInterimSaveButton(Save data and Exit,http://www.mydomain.com/SaveInterviewData.php?interviewID=76575&type=privateCompany)»

SetWebInterviewSize

Set the Web Interview Size

«SetWebInterviewSize(Medium)»

SetWebReturnURL

Set the return URL for a web-based template

«SetWebReturnURL('www.MyLawFirm.com/DocumentCompleted.aspx')»

«SetWebReturnURL('www.MyLawFirm.com/DocumentCompleted.php?userID=131234&activity=LoanApplication')»

«SetWebReturnURL('www.MyLawFirm.com/DocumentCompleted.php?userID=&activity=LoanApplication')»

ShowHidden

Show hidden fields on the interview

«ShowHidden(Name,Address)»

«ShowHidden(Child/Name,Child/DataOfBirth)»

«ShowHidden()»

ShowIfHasValue

Show the item only if it has a non-empty value

«ShowIfHasValue(AddressLine3)»

«ShowIfHasValue(ToUpper(AddressLine3))»

StartsWith

Test whether a string starts with a given string

«If(StartsWith(ProductName,'Microsoft'))»Good quality inside«End()»

StartsWithVowel

Test whether a string starts with a vowel

«When(StartsWithVowel(Fruit),an,a)»

«When(StartsWithVowel(Accomodation,'Hh'),an,a)»

string-length

Returns the number of characters in a value

«If(string-length(AddressLine3) > 0)»
«AddressLine3»
«End()»

substring

Extract a portion of a string

«substring(Name,5)»

«substring(GetV('description'),1,string-length(GetV('name')))»

SubstringAfter

Extract the substring after a given string

«SubstringAfter(Surname,'-')»

SubstringAfterLast

Get the last substring using a delimiter

«SubstringAfterLast('C:\Documents\XpressDox\WordFile.docx','\')»

SubstringBefore

Extract the substring before a given string

«SubstringBefore(Initials,'.')»

SubstringBeforeLast

Get the substring before the last delimiter

«SubstringBeforeLast('C:\Documents\XpressDox\WordFile.docx','\')»

SuffixWith

Insert a suffix if the value is not empty

«SuffixWith(FirstNames,' ')»

sum

Calculate the sum of values

«FormatNumber(sum(InvoiceLine/Amount))»

Tab

Add a tab to the main panel of the interview screen

«Tab(Financial Information,Capital,InterestRate,InterestDate,AmountPaid)»

TableLookup

Calculate a value from a table

«TableLookup(CapitalAmount,'3001;56;0,5001;187;0,9999999;277;0')»

«TableLookup(AnnualIncome,'122500;0;18,195000;21960;25,270000;40210;30,999999999;143010;40')»

TabOrientation

Specify whether Tabs appear Horizontally or Vertically

«TabOrientation(Vertical)»

TemplateName

Get the file name of the running template

«TemplateName()»

«TemplateName('true','true')»

Today

Insert the current date into the document

«Today('yyyy/MM/dd')»

«Today('MMMM o yyyy')»

«Today()»

ToHtml

Wrap string in HTML tags

«ToHtml(Description)»

ToLower

Convert to lower case

«ToLower(Name)»

«ToLower(Name,1)»

«ToLower(Name,2,0)»

«ToLower(Name,3,2)»

ToSentence

Convert to Sentence case

«ToSentence(Surname)»

ToTitle

Convert to Title Case

«ToTitle(BookTitle)»

«ToTitle(Names,'short')»

ToUpper

Convert to UPPER case

«ToUpper(Name)»

«ToUpper(Name,1,1)»

«ToUpper(Name,2,0)»

«ToUpper(Name,3,2)»

Trim

Removes white space or other characters from either side of a string

«FormatNumber(Trim(Amount))»

«Trim(List,',;')»

UpdateFields

Indicate that the Table of Contents and Word fields must be updated

«UpdateFields(Yes)»

UpdateTableFormattingForPdf

Request that table formatting is performed when saving to PDF

«UpdateTableFormattingForPdf((Amount != 0))»

«UpdateTableFormattingForPdf('Yes')»

UseScript

Insert the contents of a script defined in another part of the template.

«UseScript(ProductDescription)»

ValueIsEmpty

Tests whether a value is empty or not

«If(not(ValueIsEmpty(AddressLine1)))»«AddressLine1»«End()»

When

Provide condition for including small text values (e.g. for gender or plural handling)

«When(Gender = 'M',he,she)»

«When(count(Child) = 1,child,children)»

«When(StartsWithVowel(Fruit),an,a)» «Fruit»

Width

Set the width of the control in the interview to a fixed value

«Width(Price,6)»

WindowsLogonUser

Returns the user name with which the current user logged on to Windows

«WindowsLogonUser()»

«SetSavedDocumentFolder(Docs

WriteTimeStampToDataSet

Specify whether or not to write a time stamp into the dataset

«WriteTimeStampToDataSet(Yes)»

XToRegion

Convert a number in calculation-compliant format to regional settings format

«FormatNumber(XToRegion(RegionToX(UnitPrice) * RegionToX(Qty)),'','EU')»

YearsBetween

Gets the number of years between two dates

«Round(YearsBetween(Today(),DateOfBirth) – 0.5)»

Back to top »

 

Categorized Command ListCategorized List of Commands and Functions

Conditional Commands and Functions    Conditional Commands and Functions

Command or Function Name Description and Examples
contains

Test for a substring inside another string

«If(contains(Word,'q'))»the word contains 'q'.«End()»

count

Count - returns the number of a repeated item

«If(count(Child) > 0)»The number of children in the family is «count(Child)»«End()»

«If(count(Child) > 0)»The names of the children follow:«Foreach(Child)»«Name» «Surname»«End()»«End()»

«count(Child[Age < 12])»

EndsWith

Test whether a string ends in a given string

«If(EndsWith(Surname,'-Smith'))»

Eq

Test whether a string is equivalent to another string

«If(Eq(MaritalStatus,'Mar*comm*other'))»«End()»

«If(Eq(Quotation,'longandwindingroad'))»«End()»

FileExists

Test whether file exists

«If(FileExists(FileName))»do something«End()»

«If(FileExists(concat(Folder,"\",FileName)))»do something«End()»

If

Conditionally include text into the document

«If(Answer = 'No')» «End(If)»

«If(Answer = 'Yes')»text when Answer is 'Yes'«Else()»text when Answer is not 'Yes'«End(If)»

«If((Answer = 'Yes') or (Answer = 'Maybe') and (Amount > 500)»«End()»

«If(position()= 1)»This applies only to the first repeating item.«End()»

«ForEach(Party)»«PartyFullNames»«If(last() > 1)»«When(position() < last()-1,!, )»«When(position() = last()-1, and )»«End(party > 1)»«End(for each)»

«ChooseFromRDBList(Gender,Male,Female)»«If(Gender = "Male")»«SetV("PronounHe","he")»«Setv("PronounHim","him")»«SetV("PronounHis","his")»«Else()»«SetV("PronounHe","she")»«SetV("PronounHim","her")»«SetV("PronounHis","her")»«End()»«RemoveParagraph()»
«GetV('PronounHe')» took «GetV('PronounHis')» bag with «GetV('PronounHim')»

IIf

IIf function

«IIf((VatIndicator = 'Yes'),FormatNumber(Amount * 0.14),'0.00')»

IsTrue

Test whether a value looks like a boolean "true"

«If(IsTrue(Option1))»Option1 («Option1») is true«End()»

«If(not(IsTrue(Option1)))»Option1 («Option1») is false«End()»

RemoveColumnIf

Remove a Word table column

«RemoveColumnIf(ColumnCount < 3)»

«RemoveColumnIf(ColumnCount < 3,1)»

«RemoveColumnIf(ColumnCount < 3,Empty)»

RemoveRowIf

Remove a Word table row

«RemoveRowIf(AgeOfChild < 18)»

Select

A Select/Case/Default block

«Select(Testing things)»«Case(Test = 1)»Test is 1«End()»«Case(Test = 2)»Test is 2«End()»«Default()»Test is «Test»«End()»«End(Select)»

«Select(Testing things)»
«Case(Test = 1)»Test is 1
«End()»
«Case(Test = 2)»
Test is 2
«End()»
«Default()»
Test is «Test»
«End()»
«End(Select)»

ShowIfHasValue

Show the item only if it has a non-empty value

«ShowIfHasValue(AddressLine3)»

«ShowIfHasValue(ToUpper(AddressLine3))»

StartsWith

Test whether a string starts with a given string

«If(StartsWith(ProductName,'Microsoft'))»Good quality inside«End()»

StartsWithVowel

Test whether a string starts with a vowel

«When(StartsWithVowel(Fruit),an,a)»

«When(StartsWithVowel(Accomodation,'Hh'),an,a)»

string-length

Returns the number of characters in a value

«If(string-length(AddressLine3) > 0)»
«AddressLine3»
«End()»

ValueIsEmpty

Tests whether a value is empty or not

«If(not(ValueIsEmpty(AddressLine1)))»«AddressLine1»«End()»

When

Provide condition for including small text values (e.g. for gender or plural handling)

«When(Gender = 'M',he,she)»

«When(count(Child) = 1,child,children)»

«When(StartsWithVowel(Fruit),an,a)» «Fruit»

Data Capture (Interview) Commands and Functions    Data Capture (Interview) Commands and Functions

Command or Function Name Description and Examples
AlignCaption

Sets the alignment of the caption for specific data elements

«AlignCaption(FirstName,LastName,Top)»

AlignCaptions

Sets whether captions on the interview should be aligned left, right or top

«AlignCaptions(Right)»

«AlignCaptions(Left)»

«AlignCaptions(Top)»

AlignErrorMessages

Sets whether error messages (on the web interview) should be aligned top or bottom

«AlignErrorMessages(Top)»

Button

Place a Button on the interview

«Button(ButtonDummy)»

«Button(ButtonDummy)»«OnExitSet(ButtonDummy,StartDate,Value,(),Today(),OnlyWhenEmpty)»

Caption

Set the caption for the data element on the interview screen

«Caption(Amount,Capital amount of loan)»

«Caption(Amount,^bu^@Navy@Capital amount of loan)»

CaptureAllDataElements

Capture all data elements even if not used in this template

«CaptureAllDataElements(Yes)»

CaptureAsLongText

Capture a multi-line text values

«CaptureAsLongText(Address,3)»

«CaptureAsLongText(Address,3,PendingRelevance,Rich)»

CaptureDataElement

Places a control for the data element on the interview screen

«CaptureDataElement(Name)»

«CaptureDataElement(DateOfBirth,date)»

CaptureDataElements

Include a number of data elements element in the interview for the template

«CaptureDataElements(CheckAll,Chk1,Chk2,Chk3)»

CaptureInGrid

Specify whether or not a repeater should be displayed and captured in a grid

«CaptureInGrid(Child,Yes)»

«CaptureInGrid(Child,No)»«CaptureInGrid(Child/Pet,Yes)»

CaptureLater

Defer the capture of a data element to later in the interview

«CaptureLater(Name)»

CaptureOnlyEmptyValues

Specify whether only empty values should be shown in the interview

«CaptureOnlyEmptyValues(Yes)»

«CaptureOnlyEmptyValues(No)»

ChooseFromData

Choose from repeating data already in the data set

«ChooseFromData(IdOfOrder,Order/OrderID)»

«ChooseFromData(IdOfOrder,Order/OrderID,OrderDescription)»

«ChooseFromData(IdOfOrder,Order/OrderID,OrderDescription,AddAllChosenData,Px)»

ChooseFromDataElements

Choose from data already in the data set

«ChooseFromDataElements(CustodianName,../Respondent1,../Respondent2)»

ChooseFromHzRDBList

Present a horizontal list of radio button choices

«ChooseFromHzRDBList(Gender,,Male,Female)»

ChooseFromList

Present the user with a list of choices in a drop down list

«ChooseFromList(Province,Ontario,Quebec,British Columbia,Alberta,Manitoba,Saskatchewan,Nova Scotia,New Brunswick,Newfoundland and Labrador,Prince Edward Island)»

«ChooseFromList(Province,,Ontario,Quebec,'British Columbia', 'Alberta' ,Manitoba,Saskatchewan,Nova Scotia,New Brunswick,'Newfoundland and Labrador',Prince Edward Island)»

«ChooseFromList(Province,O~~Ontario,Q~~Quebec,BC~~British Columbia,A~~Alberta,M~~Manitoba,S~~Saskatchewan,NS~~Nova Scotia,NB~~New Brunswick,NL~~Newfoundland and Labrador,PE~~Prince Edward Island)»

ChooseFromRDBList

Present a radio button list of choices

«ChooseFromRDBList(Orientation,North,South,East,West)»

«ChooseFromRDBList(Clause,Security~~The undersigned undertakes to provide security covering the loan to be granted.,NoSecurity~~The undersigned is not required to provide security for the loan.)»

«ChooseFromRDBList(Clause,~~The undersigned undertakes to provide security covering the loan to be granted.,~~The undersigned is not required to provide security for the loan.)»

ChooseFromRepeatingData

Choose from repeating data already in the data set

«ChooseFromRepeatingData(IdOfOrder,Order/OrderID)»

«ChooseFromRepeatingData(IdOfOrder,Order/OrderID,OrderDescription)»

«ChooseFromData(IdOfOrder,Order/OrderID,OrderDescription,AddAllChosenData,Px)»

ChooseFromSamples

Presents a drop down list of choices, but the user can type their own if it is not in the list

«ChooseFromSamples(Title,,Mr.,Mrs.,Miss,Ms.,Prof.,Dr.)»

ChooseUsingCheckBox

Choose a value using a check box

«ChooseUsingCheckBox(RequiresSpecialSchooling,Yes,No,No)»

«ChooseUsingCheckBox(Clause,~~The Parties agree to cede their rights to various assets without prejudice.)»
«If(Clause != '')»
«Clause»
«End()»

ChooseUsingDatePicker

Choose a data element value using a date picker

«ChooseUsingDatePicker(DateOpened)»

ChooseUsingTimePicker

Choose a data element value using a time picker

«ChooseUsingTimePicker(AppointmentTime)»

Comment

Enter a comment into the template

«Comment(Any arbitrary comments)»

Define

Define the interview properties of a data element

«Define(Amount,^biu^@Red@Caption text,|^b^@Navy@Heading text,Footing Text,Tab Caption,CaptureDataElement,,Required,Initial Value,hard;IsDigits;The amount must be numerics only.,Cases;RefreshSave;'Id=;')?Enter the amount of the deal.»

«Define(Title,^biu^@Red@Title of the party,|^b^@Navy@PARTY DETAILS,,Contact Information,ChooseFromList,;Mr.;Mrs.;Ms.;Dr.;Prof.)»

«Define(TaxIncluded,Is Tax included,,,,ChooseUsingCheckBox,Y;N;N)»

DefineSetAllGroup

Implements a "Check All" feature

«DefineSetAllGroup(CheckAll,Option1,Option2,Option3)»

«DefineSetAllGroup(CheckAll,Option1,Option2,Option3,|,OptionList)»

«DefineSetAllGroup(CheckAll,Option1,Option2,Option3,|,OptionList,DropPH)»

«DefineSetAllGroup(CheckAll,Option1~~a~~Option2~~b~~Option3~~c,|,OptionList)»

DropDownPanel

Present the data elements in a drop down list

«DropDownPanel(PH1,Choice1,Choice2,Choice3,Choice4)»

«DropDownPanel(PH1,Soccer,Tennis,Golf,repeater=Sports/SportName)»

ExcludeFromGrid

Exclude the data element from a grid row when captured in a grid

«ExcludeFromGrid(PictureCode)»

«ExcludeFromGrid(PictureCode,Size,Location)»

ExcludeFromIV

Excludes a data element from the capture interview for the template

«ExcludeFromIV(FirmName)»

«ExcludeFromIV(FirmName,FirmAddressLine1,FirmAddressLine2,FirmPostalCode)»

ExpectXSLTFormatNumbers

Cause XpressDox to expect XSLT formatted numbers in data

«ExpectXSLTFormatNumbers(Yes)»

Footing

Place footing text below a data element in the interview

«Footing(CompanyPostalCode,END OF COMPANY DETAILS)»

«Footing(CompanyName,)»

«Footing(CompanyPostalCode,|^bu^@Navy@END OF COMPANY DETAILS)»

ForbidThousandsSeparators

Specify that capture of numeric values should not permit thousans separators

«HideEmptyInterview(Yes)»

«HideEmptyInterview(No)»

Heading

Place heading text above a data element in the interview

«Heading(CompanyName, COMPANY DETAILS)»

«Heading(CompanyName,|^bu^@Navy@COMPANY DETAILS)»

Help

Provide help text (to be shown in the Help area) for a data element

«Help(Amount,Enter the amount of the loan)»

{**Help(Address,\Enter the address, each address line on a separate line)»

HideEmptyInterview

Specify whether or not an empty interview should be hidden

«HideEmptyInterview(Yes)»

«HideEmptyInterview(No)»

HideInsideIV

Hides a data element inside the interview for the template

«HideInsideIV(DebtorTypeOption)»

«HideInsideIV(DebtorTypeOption,CreditorTypeOption,AgentTypeOption)»

Hyperlink

Attach a hyperlink to a heading or footing

«Hyperlink(Description,Heading,www.xpressdox.com)»

«Hyperlink(Description,Heading,www.xpressdox.com/

HzGroup

Group data elements together horizontally on the interview

«HzGroup(Title,FirstNames,LastName)»

«HzGroup(Title,FirstNames,LastName,10,EmptyAllCaptions)»

«HzGroup(Title:4,FirstNames,LastName,20)»

InhibitAutomaticRuleOnNumberFunctions

Inhibit the automatic Rule commands that are generated for functions taking numeric values as input.

«InhibitAutomaticRuleOnNumberFunctions(Yes)»

InterviewFont

Specify the font for the entire interview

«InterviewFont(Microsoft Sans Serif/8.25)»

«InterviewFont(Times New Roman/9)»

InterviewIsWizard

Specify whether the interview should be in Wizard form or not

«InterviewIsWizard(Yes)»

«InterviewIsWizard(Strict)»

«InterviewIsWizard(No)»

InterviewLogo

Provide the name of an image file to use in the interview

«InterviewLogo(images:InterviewLogo.jpg)»

InterviewRelevance

Provide a condition governing the relevance of the data element in the interview

«InterviewRelevance(Name,Name = '')»

«InterviewRelevance(Children,count(Children) > 0)»

InterviewTitle

Set the title which will show on the Interview screen for this template

«InterviewTitle(Custom Title for Interview Screen)»

OnEnterSet

Set values when focus enters a data element's control

«OnEnterSet(Gender,Gender,Value,(Substring(IDNumber,7,1) > '4'),'Male','Female')»

«OnEnterSet(RefNumber,RefNumber,Caption,(PartyType = 'Individual'),'ID Number','Company Number')»

«OnEnterSet(ReminderDate,ReminderDate,Value,,IncrementDate(DateOpened,7,'d'),,EvenWhenNotEmpty)»

OnExitSet

Set values when focus leaves a data element's control

«OnExitSet(IDNumber,Gender,Value,(Substring(IDNumber,7,1) > '4'),'Male','Female')»

«OnExitSet(PartyType,RefNumber,Caption,(PartyType = 'Individual'),'ID Number','Company Number')»

«OnExitSet(DateOpened,ReminderDate,Value,,IncrementDate(DateOpened,7,'d'),,EvenWhenNotEmpty)»

OptimizeParsing

Optimize parsing of the template

«OptimizeParsing(Off)»

«OptimizeParsing(On)»

PlaceHolder

A placeholder in the interview to which text can be attached

«PlaceHolder(DummyName)»

PositionOfRepeater

Get the position during interview processing

«PositionOfRepeater()»

«PositionOfRepeater(../)»

ReadOnly

Set the control for a data element on the interview to Read Only

«ReadOnly(Description)»

«ReadOnly(Description,Size,Location)»

«ReadOnly(Description,Size,Location,(UserIsPrivileged = 'Yes'))»

RepeaterCaption

Set the caption for a group of repeating data elements on the interview screen

«RepeaterCaption(Child,Children)»

«RepeaterCaption(Child,^bu^@Navy@Children)»

Required

Mark one or more data elements as required - i.e. must have a non-empty value

«Required(AccountNumber,Decimal)»

«Required(AccountNumber)»

«Required(AccountNumber,Surname,IDNumber)»

Rule

Applies a custom made validation rule to the data element in the interview process

«Rule(Cost,hard,IsNumber,110.00,12000.00,The Cost must be greater than 109 and less than or equal to 12000.)»

«Rule(SellingPrice,hard,(Area > 1000 and SellingPrice > 500000) or (Area < 1001 and SellingPrice < 50001),'The SellingPrice must be greater than 500000 when the Area is more than 1000.')»

«Rule(IDNumber,hard,IsDigits,The IDNumber must consist only of digits)»«Rule(IDNumber,hard,string-length(IDNumber) = 13,the IDNumber must be exactly 13 digits long.)»

«Rule(IDNumber,hard,IsZAIDNumber,The IDNumber failed the test for a valid South African ID Number.)»

«Rule(Email,hard,IsEmailAddress,'The field must be a valid email address')»«Rule(Email,hard,(not(contains(Email,',')) and not(contains(Email,';'))),'not a list of addresses.')»

«Rule(Postal_Code,hard,IsUKPostalCode,'Please enter a valid UK Postal Code')»

«Rule(Price,hard,IsRegionalNumber,'EU','The value must be a number in the format 9.999,99')»

«Rule(IDNumber,soft,1 = 1,'do you want to accept the value anyway?')»

RunAsHugeTemplate

Instruct XpressDox Word Addin to run the template in a separate process

«RunAsHugeTemplate(yes)»

SetInitialValue

Sets the initial value for a data element that is to be captured

«SetInitialValue(PostalCode,7890)»

«SetInitialValue(Customer/State,Washington)»

SetInterviewDataOnly

Set the option that a template is destined only for data capture

«SetInterviewDataOnly(Yes)»

«SetInterviewDataOnly(No)»

SetRepeaterQualifier

Set the string which must appear in the interview against repeating elements

«SetRepeaterQualifier(Child,,

ShowHidden

Show hidden fields on the interview

«ShowHidden(Name,Address)»

«ShowHidden(Child/Name,Child/DataOfBirth)»

«ShowHidden()»

Tab

Add a tab to the main panel of the interview screen

«Tab(Financial Information,Capital,InterestRate,InterestDate,AmountPaid)»

TabOrientation

Specify whether Tabs appear Horizontally or Vertically

«TabOrientation(Vertical)»

Width

Set the width of the control in the interview to a fixed value

«Width(Price,6)»

Data Sources Commands and Functions    Data Sources Commands and Functions

Command or Function Name Description and Examples
ChooseFromDataSource

Choose a row from a data source

«ChooseFromDataSource(Contacts,Choose a Contact)»

«ChooseFromDataSource(Contacts,Type in the Contact's ID,RefreshSave,,DisallowSearch)»

«ChooseFromDataSource(Contacts,Choose the contacts that apply,Refresh,Range=PostalCode = 7405,AllowSearch,Contacts)»

ChooseFromFile

Choose data from a text or XML file

«ChooseFromFile(Lookups:Contacts.xdtxt,Choose a contact,NoRefresh,Surname)»

«ChooseFromFile(Lookups:Contacts.xdtxt,Choose the Borrower,NoRefresh,BorrowerSurname,Borrower)»

GetDataSet

Get a string representation of the data set

«GetDataSet()»

«SetDataSourceData('StagingTable',Guid(),'XMLBlob',GetDataSet(),'Description',Name)»

GetDataSourceData

Get the data from a data source during assembly

«SetV('ProductXML',GetDataSourceData('Products',ProductID))»

«GetDataSourceData('Products',ProductID,'ProductName')»

«GetXMLElementValue(GetDataSourceData('Products',ProductID),'ProductName')»

GetXmlElementValue

Get the value of an XML element in an XML document

«GetXmlElementValue(GetV('ProductXML'),'ProductName')»

«GetXmlElementValue(GetDataSourceData('Products',ProductID),'ProductName')»

IncludeDataSourceData

Include data from a data source

«IncludeDataSourceData(Contacts,RefreshSave,range=PostalCode > 8000,Customers)»

IncludeFileData

Include data from a text or XML file

«IncludeFileData(Contacts.xml)»

«IncludeFileData(lookups:Contacts.xml,Refresh,Customers)»

LinkToDataSource

Link the control for any data element in the interview to a data source

«LinkToDataSource(MatterNumber,Cases)»

«LinkToDataSource(MatterNumber,Cases,RefreshSave,'id=,',LookupMatter = 'Y',UserClass='High')»

LinkToDataSourceOnEnter

When entering a control in the interview, link it to a data source

«LinkToDataSourceOnEnter(MatterNumber,Cases)»

«LinkToDataSourceOnEnter(MatterNumber,CasesDataSource,AllowInsert,id=0,MatterNumber = '')»

«LinkToDataSourceOnEnter(MatterNumber,CasesDataSource,RefreshSave,,(MatterNumber != ''),(UserCanSave = 'Yes'))»

LinkToOtherData

Links the control in the interview for this data element to a saved dataset

«LinkToOtherData(AccountNumber)»

«LinkToOtherData(AccountNumber,_

SetDataSourceData

Set the value of a field in a data source

«SetDataSourceData('Products',ProductID,'UnitPrice',100)»

Formatting Dates Commands and Functions    Formatting Dates Commands and Functions

Command or Function Name Description and Examples
DaysBetween

Gets the number of working days between two dates

«DaysBetween(EndDate,StartDate)»

«FormatNumber(((DaysBetween(Today(),DateOfBirth) div 365) - 0.5), '0')»

«DaysBetween(EndDate,StartDate,'w','2016-12-16,2016-12-26,2016-12-27,2017-01-01,2017-01-02')»

«DaysBetween(EndDate,StartDate,'wi','2016-12-16,2016-12-26,2016-12-27,2017-01-01,2017-01-02')»

«DaysBetween(EndDate,StartDate,'wi')»

FormatDate

Format a field as date and/or time

«FormatDate(DateOfBirth,'yyyy/MM/dd','en')»

«FormatDate(SignatureDate,'o MMMM yyyy')»

FormatSeconds

Format a number of seconds into hours, minutes and seconds

«FormatSeconds(Seconds,'HH:mm:ss')»

«FormatSeconds(Seconds,'HH')» hours, «FormatSeconds(Seconds,'mm')» minutes and «FormatSeconds(Seconds,'ss')» seconds

FormatTime

Format a field as a time

«FormatTime(AppointmentTime,'hh:mm tt')»

«FormatTime(AppointmentTime,'hh:mm tt','fr')»

«FormatTime(AppointmentTime,'HH:mm:ss')»

IncrementDate

Increment a date

«IncrementDate(DateOfBirth,1,'y')»

«IncrementDate(Today(),5,'d')»

«IncrementDate(Today(),5,'w')»

LastDayInMonth

Get the last day in a month

«FormatDate(LastDayInMonth(Today()),'dd MMMM yyyy')»

Now

Insert the current date (i.e. today) and/or time into the document

«Now('yyyy/MM/dd')»

«Now('MMMM o yyyy')»

«Now('d MMMM yyyy HH:mm:ss','de')»

«Now()»

SecondsBetween

Gets the number of seconds between two date/times

«SecondsBetween('13:00:00','12:00:00')»

«SecondsBetween(EndTime,StartTime)»

Today

Insert the current date into the document

«Today('yyyy/MM/dd')»

«Today('MMMM o yyyy')»

«Today()»

YearsBetween

Gets the number of years between two dates

«Round(YearsBetween(Today(),DateOfBirth) – 0.5)»

Formatting Numbers Commands and Functions    Formatting Numbers Commands and Functions

Command or Function Name Description and Examples
ceiling

Round a value up to the nearest integer

«ceiling(RegionToX(YearsBetween(Today(),DateOfBirth)))»

CentsToCurrency

Convert value in cents to currency and format it

«CentsToCurrency(CentsValue,'#,0.00')»

CurrencySymbol

Insert the currency symbol as defined in the Regional Settings

«CurrencySymbol()»

CurrencyToCents

Multiplies a currency value by 100 with minimal rounding

«CurrencyToCents(Price)»

Dolares

Render a numeric amount as a number of Dollars, in Spanish words

«Dolares(Price)»

«Dolares(Price,'ToUpper')»

Dollars

Render a numeric amount as a number of Dollars, in words

«Dollars(Price)»

«Dollars(Price,'ToUpper')»

DollarsFrancaise

Render a numeric amount as a number of Dollars, in French words

«DollarsFrancaise(Price)»

«DollarsFrancaise(Price,'ToLower')»

EuroDeutsch

Render a numeric amount as a number of Euros, in German words

«EuroDeutsch(Price)»

«EuroDeutsch(Price,'ToLower')»

EurosEspanol

Render a numeric amount as a number of Euros, in Spanish words

«EurosEspanol(Price)»

«EurosEspanol(Price,'ToUpper')»

EurosFrancaise

Render a numeric amount as a number of Euros, in French words

«EurosFrancaise(Price)»

«EurosFrancaise(Price,'ToLower')»

floor

Round a value down to the nearest integer

«floor(RegionToX(YearsBetween(Today(),DateOfBirth)))»

FormatNumber

Format Number

«FormatNumber(Amount)»

«FormatNumber(Amount,'#,0.00;(#,0.00)')»

«FormatNumber(Amount,'#,0.00;(#,0.00)','FR')»

GetListItem

Extract a value from a delimited list

«GetListItem(ListItem,'First,Second,Third',',')»

«GetListItem(4,IP_Address,'.')»

«GetListItem(GetV('element number'),PeriodicTable,',')»

Max

Gets the higher of two values

«Max(HourlyRate * Hours, 1000)»

«Max(Age,CutoffAge)»

Min

Gets the lower of two values

«Min(HourlyRate * Hours, 1000)»

«Min(Age,CutoffAge)»

NumberPhrase

Format a number as words

«NumberPhrase(Price)»

«NumberPhrase(Price - 100,'en-us','ToUpper')»

NumberToCurrency

Render a number as currency, in words

«NumberToCurrency(Price, "Dollar", "Dollars", "cent", "cents", "", "en-uk", "Leave")»

OrdinalSuffix

Gets the suffix st, nd, rd, etc. of the ordinal of a number

«OrdinalSuffix(Today('d'))»

«OrdinalSuffix(Today('d'),'af')»

«OrdinalSuffix(Today('d'),'st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,th,th,th,th,th,st,nd,rd,th,th,th,th,th,th')»

Pesos

Render a numeric amount as a number of Pesos, in Spanish words

«Pesos(Price)»

«Pesos(Price,'ToUpper')»

Pounds

Render a numeric amount as a number of Pounds, in words, UK English

«Pounds(Price)»

«Pounds(Price,'ToUpper')»

RaiseToPower

Raise a number to a power

«RaiseToPower(SideOfSquare,2)»

Rand

Render a numeric amount as a number of Rand in words, in English

«Rand(Price)»

«Rand(Price,'ToUpper')»

RandAfrikaans

Render a numeric amount as a number of Rand in words, Afrikaans

«RandAfrikaans(Price)»

«RandAfrikaans(Price,'ToUpper')»

RegionToX

Convert a number in regional format to XpressDox calculation-compliant format

«(RegionToX(UnitPrice) * RegionToX(Qty))»

Round

Round a value to the nearest integer

«FormatNumber(Round(Price,2))»

«Round(InterestRate,3)»

sum

Calculate the sum of values

«FormatNumber(sum(InvoiceLine/Amount))»

TableLookup

Calculate a value from a table

«TableLookup(CapitalAmount,'3001;56;0,5001;187;0,9999999;277;0')»

«TableLookup(AnnualIncome,'122500;0;18,195000;21960;25,270000;40210;30,999999999;143010;40')»

XToRegion

Convert a number in calculation-compliant format to regional settings format

«FormatNumber(XToRegion(RegionToX(UnitPrice) * RegionToX(Qty)),'','EU')»

Formatting Strings Commands and Functions    Formatting Strings Commands and Functions

Command or Function Name Description and Examples
Chr

Get a character value from its integer representation

«OnExitSet(AddressLine2,AddressBlock,Value,,concat(AddressLine1,Chr(13),AddressLine2),,EvenWhenNotEmpty)»

CommasAndList

Gets a natural language list from a delimited list.

«CommasAndList(GetV('JoinedValues'),'/',', ',' and ')»

«CommasAndList(GetV('JoinedValues'),'/',', ',' en ')»

CountOf

Get the number of occurrences of one string inside another

«CountOf('.',Name)»

«If(CountOf('.',Name) = 0)»The name contains no initials.«End()»

CultureName

Get the active culture name

«CultureName('Input')»

«CultureName('Output')»

EscapeForXml

Escape a string for use in XML

«EscapeForXml(Text)»

ExtractInitials

Extract Initials from name

«ExtractInitials(Fullnames,'.')»

«ExtractInitials(Fullnames,'')»

Format

Format a string according to a pattern

«CreateDataElement(Format('Child[{0}]/Name',position()),GetV('Name'))»

Gender

Return a value depending on a party's gender


«ChooseFromRDBList(PartyGender,Male,Female)»
«Gender(PartyGender,1,'he,she')» took «Gender(PartyGender,1,'his,her')» bag with «Gender(PartyGender,1,'him,her')»


«ChooseFromRDBList(PartyGender,,Y~~Male,X~~Female)»«Comment(Y and X are accepted as gender codes from genetics)»
«Gender(PartyGender,1,'he,she,it')» took «Gender(PartyGender,1,'his,her,its')» bag with «Gender(PartyGender,1,'him,her,it')»


«ForEach(Party)»«ChooseFromRDBList(PartyGender,Male,Female,Neuter)»«End(ForEach party)»
«Gender(Party/PartyGender,count(Party),'he,she,it,they')» took «Gender(Party/PartyGender,count(Party),'his,her,its,their')» bag«Plural(count(Party),'','s')» with «Gender(Party/PartyGender,count(Party),'him,her,it,them')»


«ChooseUsingCheckBox(OnlyOneParty,Y,N,N)»
«Gender(PartyGender,(OnlyOneParty = 'Y'),'he,she,it,they')» took «Gender(PartyGender,(OnlyOneParty = 'Y'),'his,her,its,their')» bag«Plural((OnlyOneParty = 'Y'),'','s')» with «Gender(PartyGender,(OnlyOneParty = 'Y'),'him,her,it,them')»


«ForEach(Party)»«ChooseFromRDBList(PartyGender,M,V,D)»«End(ForEach party)»
«Gender(Party/PartyGender,count(Party),'hy,sy,die ding,hulle','M,V,D')» het «Gender(Party/PartyGender,count(Party),'sy,haar,sy,hulle','M,V,D')» sak«Plural(count(Party),'','ke')» saam met «Gender(Party/PartyGender,count(Party),'hom,haar,hom,hulle','M,V,D')» gevat.

GetRegistryValue

Get a value from the registry

«GetRegistryValue('HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Accounting\Options\ScratchFolder')»

«GetRegistryValue(concat('HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Accounting\UserOptions\',WindowsLogonUser()))»

GetValidFileName

Get a string which only has valid file name characters

«GetValidFileName(AccountNumber)»

«GetValidFileName(AccountNumber,'-')»

«CreateDataElement('TargetFileName',GetValidFileName(AccountNumber,'-'))»

GetValidXmlElementName

Converts the passed string to a valid XML element name

«GetValidXmlElementName(Name,'_and_')»

Guid

Get a GUID (Globally Unique Identifier)

«SetV('Id',Guid())»

«OnExitSet(Name,Id,Value,,Guid(),,OnlyWhenEmpty)»

HardSpace

Convert normal spaces to non-breaking spaces

«HardSpace(Phrase)»

«HardSpace(Pounds(Price))»

InsertFormattedText

Insert text captured as long text

«InsertFormattedText(Address)»

«InsertFormattedText(Address,Paragraph)»

«InsertFormattedText(Address,Destination)»

InsertInto

Insert a string inside a value

«InsertInto(Name,3,'X.')»

InsertUnformattedLongText

Inserts text captured as "long" text but with no line breaks or formatting

«InsertUnformattedLongText(Address,', ')»

Left

Extract the left-most a portion of a string

«Left(Name,5)»

List

Produce a delimited list (e.g. commas and 'and') from repeating data

«List(Party,Firstname Surname,!, , and )»

«List(Child[Age < 10],Firstname Surname,', ',' and ')»

ListDelimiter

Inserts a delimiter between parts of a list, typically a comma and "and"

«ListDelimiter(position(),last()-1,'; ',' and also ')»

«ListDelimiter(position(),last()-1)»

«ListDelimiter(GetVn('counter'),GetVn('sizeMinus1'))»

Lookup

Look up the value of a key in a name/value list

«Lookup(Language,'en-gb:colour;en-us:color')»

Plural

Get the singular or plural depending on the number.

«Plural(count(Child),'child','children')»

«Plural(count(Child),'child!'s','children!'s')»

«ChooseUsingCheckBox(OnlyOne,Y,N,N)»«Plural((OnlyOne = 'Y'),'child','children')»

PrefixWith

Insert a prefix if the value is not empty

«PrefixWith(AddressLine2,' ')»

RenderAsNumeric

Force a string to be a valid numeric value

«FormatNumber(RenderAsNumeric(Amount) * 1.10)»

Replace

Replace all occurrences of a specified string with another

«Replace(EnglishSentence,'grey','gray')»

«Replace(Replace(Replace(EnglishSentence,'grey','gray'),'colour','color'),'favourite','favorite')»

Right

Extract the right-most a portion of a string

«Right(Name,5)»

SetEmptyMarker

Set the value of the Empty Marker

«SetEmptyMarker('{^}')»

«SetEmptyMarker('{^}',LastName,FirstNames,IDNumber)»

«SetEmptyMarker('',LastName,FirstNames,IDNumber)»

«SetEmptyMarker('{~cyan~^~}')»

«SetEmptyMarker('{~red~^~}',LastName,FirstNames,IDNumber)»

substring

Extract a portion of a string

«substring(Name,5)»

«substring(GetV('description'),1,string-length(GetV('name')))»

SubstringAfter

Extract the substring after a given string

«SubstringAfter(Surname,'-')»

SubstringAfterLast

Get the last substring using a delimiter

«SubstringAfterLast('C:\Documents\XpressDox\WordFile.docx','\')»

SubstringBefore

Extract the substring before a given string

«SubstringBefore(Initials,'.')»

SubstringBeforeLast

Get the substring before the last delimiter

«SubstringBeforeLast('C:\Documents\XpressDox\WordFile.docx','\')»

SuffixWith

Insert a suffix if the value is not empty

«SuffixWith(FirstNames,' ')»

ToHtml

Wrap string in HTML tags

«ToHtml(Description)»

ToLower

Convert to lower case

«ToLower(Name)»

«ToLower(Name,1)»

«ToLower(Name,2,0)»

«ToLower(Name,3,2)»

ToSentence

Convert to Sentence case

«ToSentence(Surname)»

ToTitle

Convert to Title Case

«ToTitle(BookTitle)»

«ToTitle(Names,'short')»

ToUpper

Convert to UPPER case

«ToUpper(Name)»

«ToUpper(Name,1,1)»

«ToUpper(Name,2,0)»

«ToUpper(Name,3,2)»

Trim

Removes white space or other characters from either side of a string

«FormatNumber(Trim(Amount))»

«Trim(List,',;')»

WindowsLogonUser

Returns the user name with which the current user logged on to Windows

«WindowsLogonUser()»

«SetSavedDocumentFolder(Docs

Miscellaneous Commands and Functions    Miscellaneous Commands and Functions

Command or Function Name Description and Examples
Debug

Debug missing or superfluous 'end' and 'else' issues

«Debug()»

ExcludeFromDataSet

Exclude elements from the saved dataset

«ExcludeFromDataSet(DataElements,UserID,UserName,UserEmail,Child/Address)»

«ExcludeFromDataSet(DataSources,Users,Accounts)»

InsertHyperlink

Insert a hyperlink into the document

«InsertHyperlink('Our Company Web Site','www.abccompany.com.xy')»

«InsertHyperlink(concat(DirectorName, ' profile'),DirectorProfileWebSite)»

Log

Log a message

«Log(concat('At this point in the template, and the value of Name is ',Name))»

LogDataElements

Log a list of data elements with a message

«LogDataElements(The name and address are,Name,Address)»

LogVariables

Log a list of XpressDox variable values with a message

«LogVariables(At the middle of the template,Total,TotalTax)»

MakeNoise

Make one of the system sounds

«MakeNoise()»

«MakeNoise('Asterisk')»

PaintInsertedText

Paint Text Inserted by Fillpoints

«PaintInsertedText(Yes,Blue)»

«PaintInsertedText(Yes,Blue,Paint='Yes')»

«PaintInsertedText(No)»

«PaintInsertedText(No,Red)»

RequiredVersion

Allows the template author to prevent a template running if the installed version of XpressDox is too low.

«RequiredVersion(3.1.1)»

RestrictToLicenses

Supply licence serial numbers for this template

«RestrictToLicenses(123,124,300)»

RunTemplates

Specify a number of templates to be run when this template is run.

«RunTemplates(CoveringLetter,Contract,Invoice,DebitOrder)»

SetMultipleDocumentFilter

Sets a filter applying to the Document Per Repeated Item feature

«SetMultipleDocumentFilter(ChildAge > 12)»

«SetMultipleDocumentFilter(ChildAge > ../AgeFilterValue)»

UpdateTableFormattingForPdf

Request that table formatting is performed when saving to PDF

«UpdateTableFormattingForPdf((Amount != 0))»

«UpdateTableFormattingForPdf('Yes')»

WriteTimeStampToDataSet

Specify whether or not to write a time stamp into the dataset

«WriteTimeStampToDataSet(Yes)»

Object Execution Commands and Functions    Object Execution Commands and Functions

Command or Function Name Description and Examples
CreateObject

Create a reference to a COM or .NET object

«CreateObject('Excel','Excel.Application')»

«CreateObject('Account','o2Smart.PracticeManagement.Account, o2Smart.PracticeManagement','ctor',AccountNumber)»

GetObjectValue

Get the value of a property or method call on a COM or .NET object

«GetObjectValue('msword:Version')»

«GetObjectValue('msword:PointsToInches',72)»

GetProperty

Get the value of a property of a COM or .NET object

«GetProperty('MyObject:MyPropertyName')»

«GetProperty('msword:ActiveDocument.Name')»

InvokeMethod

Invoke a method on a COM or .NET object

«InvokeMethod('Excel.Application:Quit')»

«InvokeMethod('msword:ChangeFileOpenDirectory',concat('C:\Users\',WindowsLogonUser(),'\Documents\XpressDox'))»

SetProperty

Set the value of a property of a COM or .NET object

«SetProperty('Excel.Application:ActiveCell.FormulaR1C1',Today('yyyy-MM-dd'))»

Post Merge Commands and Functions    Post Merge Commands and Functions

Command or Function Name Description and Examples
RunWordMacro

Run a Word macro after the template has been merged.

«RunWordMacro(MacroName)»

«RunWordMacro(FirstMacro,SecondMacro)»

SaveAsHTML

Specify whether or not to save the merged document in HTML format.

«SaveAsHTML(Yes)»

SaveAsPDF

Specify whether or not to save the merged document in PDF format.

«SaveAsPDF(Also)»

«SaveAsPDF(Only)»

«SaveAsPDF(Only,Unencrypt)»

«SaveAsPDF(Not)»

SaveAsRTF

Specify whether or not to save the merged document in RTF format.

«SaveAsRTF(Yes)»

SaveAsText

Specify whether or not to save the merged document in plain text format.

«SaveAsText(Yes)»

SaveDataset

Specify whether or not to save the dataset.

«SaveDataset(No)»

SetCustomDocumentProperty

Sets a custom document property in the merged document.

«SetCustomDocumentProperty(MadeByXpressDox,Y)»

SetDocumentName

Set the document name (referenced as ).

«SetDocumentName(CoveringLetter)»

SetSavedDataFileName

Set the file name of the data that was captured in an interview for the template.

«SetSavedDataFileName(Data

«SetSavedDataFileName(concat('Data ',GetValidFileName(AccountNumber)))»

SetSavedDataFolder

Sets the folder where the data captured in the interview will be saved.

«SetSavedDataFolder(Data

«SetSavedDataFolder(concat('Data ',WindowsLogonUser()))»

SetSavedDocumentFileName

Set the file name of the merged document.

«SetSavedDocumentFileName(

«SetSavedDocumentFileName(concat('Document for ',GetValidFileName(AccountNumber)))»

SetSavedDocumentFolder

Set the folder where the merged document will be saved.

«SetSavedDocumentFolder(Docs

«SetSavedDocumentFolder(concat('Docs ',WindowsLogonUser()))»

SetSavedDocumentNameVersioning

Set the option governing the versioning of the merged document file name (default is ON)

«SetSavedDocumentNameVersioning(Off)»

UpdateFields

Indicate that the Table of Contents and Word fields must be updated

«UpdateFields(Yes)»

Repeating Commands and Functions    Repeating Commands and Functions

Command or Function Name Description and Examples
ForEach

Repeat for a number of repeating data elements

«ForEach(Party)» «End()»

«ForEach(Party,Surname,ascending,text)» «End(for each)»

«ForEach(Child[Age < 12]) selects children whose age is less than 12» «End()»

last

Used in a ForEach to test whether the last repeating item is being referenced.

«last()»

«If((position() > 1) and (position() < last()-1))», «End()»«If((position() > 1) and (position() = last()-1))» and «End()»

Ordinal

Ordinal (i.e. First, Second,...) inside ForEach

«Ordinal()»

«Ordinal(,Eerste,Tweede,Derde,Vierde,Fyfde,Sesde,Sewende,Agste en verdere)»

position

Get the position within a ForEach

«When(position() > 1, and )»

«ForEach(Party)»«PartyFullNames»«If(last() > 1)»«When(position() < last()-1,!, )»«When(position() = last()-1, and )»«End(party > 1)»«End(for each)»

RepeatWhile

Repeat while a condition is true

«SetV('This','XXThat')»«RepeatWhile(GetV('This') != 'That')»Variable 'This' is «GetV('This')» «SetV('This',substring(GetV('This'),2))»«End()»

Templates Commands and Functions    Templates Commands and Functions

Command or Function Name Description and Examples
AppendPDF

Append a PDF file to the assembled (PDF) document

«AppendPDF(PDFFileName)»

«AppendPDF('Survey Agreement.pdf')»

«AppendPDF('Survey Agreement.pdf|Non-disclosure Agreement.pdf')»

BaseTemplate

Base (or overlay) this template on another template

«BaseTemplate(LetterHead)»

«BaseTemplate(headings:LetterHead,Destination)»

ComeHereAfterRun

Place a marker in the template where the cursor should be after the template has run.

«ComeHereAfterRun()»

DocumentBody

Insert the body of the originating template into the Base Template

«DocumentBody»

IncludeCodeTemplate

Include only those paragraphs which contain XpressDox merge fields

«IncludeCodeTemplate(utils:Help,Text)»

IncludePicture

Include a picture

«IncludePicture(images:Logo.jpg,0.8in,0.8in)»

IncludeSpreadsheet

Include a spreadsheet in the final document

«IncludeSpreadsheet(HourlyRates.xslt)»

IncludeTemplate

Include a template as part of this template

«IncludeTemplate(utils:Clauses,Destination,ExcludeHeaders)»

«IncludeTemplate(utils:Clauses,Destination,PreserveHeaders)»

«IncludeTemplate(utils:Help,Text)»

InsertPicture

Insert a picture

«InsertPicture(concat('images:Personnel\',Signatory,'.jpg'),0.8in,0.8in)»

InsertSpreadsheet

Insert a spreadsheet in the final document

«InsertSpreadsheet(concat('HourlyRatesFor',DirectorCode,'.xslt'))»

InsertTemplate

Insert a template whose name appears in a data element which is chosen by the user.

«InsertTemplate(Clause,Destination)»

«InsertTemplate(concat('Clauses:',ChosenClauseName,PartyType),Destination)»

«InsertTemplate('Party Underage Clause',Destination)»

«InsertTemplate('letters:Covering Letter',Destination,PreserveHeaders)»

MergeDataSheetTemplate

Merge this template's Data Sheet Template

«MergeDataSheetTemplate()»

MergePDFForm

Merge a PDF from after the currently running template

«MergePDFForm('Agreement')»

«MergePDFForm(concat('Agreement -',PartyType),'Agreement')»

MergeTemplate

Supply the name of another template to be merged

«MergeTemplate('Agreement')»

«MergeTemplate(concat('Agreement -',PartyType))»

ReplaceField

Replace a Fillpoint in the Base Template

«ReplaceField(Addressee)»«ClientName»«ReplaceFieldEnd()»

«ReplaceField(ToUpper(Addressee))»«ToSentence(ClientName)»«ReplaceFieldEnd()»

Script

Define a chunk of document for re-use

«Script(ProductDescription)»chunk of text«ScriptEnd()»

SetCoreFileProperty

Sets a core file property in the merged document

«SetCoreFileProperty('Author',WindowsLogonUser())»

«SetCoreFileProperty('Subject',What_this_is_About)»

TemplateName

Get the file name of the running template

«TemplateName()»

«TemplateName('true','true')»

UseScript

Insert the contents of a script defined in another part of the template.

«UseScript(ProductDescription)»

Variables Commands and Functions    Variables Commands and Functions

Command or Function Name Description and Examples
AppendVr

Append values to the end of a variable

«AppendVr('List',',')»

«AppendVr('List',',',PartyName)»

ArrayAppendVr

Append a value to the value of an array element

«ArrayAppendVr('contacts','FullName',' ',Surname)»

ArrayClear

Removes all entries from an array

«ArrayClear('Transactions')»

ArrayConcat

Concatenate one array into another

«ArrayConcat('AllContacts','ForeignContacts')»

ArrayCount

Get the number of elements in an array

«ArrayCount('A')»

ArrayDelete

Delete an array element

«ArrayDelete('contacts','dependants')»

ArrayGetV

Get the value of an array element

«ArrayGetV('contacts','dependants')»

«ArrayGetV('contacts',3)»

ArrayGetVn

Get the value of an array element as numeric where the context requires it

«ArrayGetVn('contacts','dependants')»

ArrayIncrementV

Increment the value of an array element

«ArrayIncrementV('contacts','dependants')»

«ArrayIncrementV('contacts','dependants',count(Child))»

ArrayIncrementVr

Increment the value of an array element, and remove the paragraph

«ArrayIncrementVr('contacts','dependants')»

«ArrayIncrementVr('contacts','dependants',count(Child))»

ArrayKeys

Get one of the keys of the elements in the array

«ArrayKeys('A',1)»

«ArrayKeys('A',ArrayCount('A'))»

«SetVr('Ix',1)»
«RepeatWhile(GetV('Ix') <= ArrayCount('A'))» «ArrayKeys('A',GetV('Ix'))» = «ArrayValues('A',GetV('Ix'))» «IncrementVr('Ix')» «End()»

ArrayRemoveDuplicates

Removes duplicate (and empty) elements from an array

«ArrayRemoveDuplicates('foodList')»

ArraySetFromString

Create an array from a delimited string

«ArraySetFromString('names','Fred,John,Mary,Jack',',')»

ArraySetV

Initialise or change the value of an array element

«ArraySetV('contact','N',FirstNames)»

«ArraySetV('contact',3,FirstNames)»

ArraySetVr

Initialise or change the value of an array element, and remove the paragraph

«ArraySetVr('contact','N',FirstNames)»

ArraySortByIndex

Sorts the elements of an array by the index values

«ArraySortByIndex('Transactions')»

«ArraySortByIndex('Transactions','Numeric')»

ArraySortByValue

Sorts the elements of an array by value

«ArraySortByValue('Transactions')»

ArrayValues

Get one of the values of the elements in the array

«ArrayValues('A',1)»

«ArrayValues('A',ArrayCount('A'))»

«SetVr('Ix',1)»
«RepeatWhile(GetV('Ix') <= ArrayCount('A'))» «ArrayValues('A',GetV('Ix'))» «IncrementVr('Ix')» «End()»

concat

Concatenates any number of string values

«SetV('FullName',concat(FirstNames,' ',Surname))»

«SetV('Possessive',concat(Noun,'!'s'))»

CreateDataElement

Create a data element in the template's data set.

«CreateDataElement('ThisDataElement',GetV('ThisVariable')»

«CreateDataElement('ThisFileName'),GetValidFileName(AccountNumber)»

GetV

Get the value of a variable

«GetV('Balance')»

GetVn

Get the value of a variable used as numeric

«Party[GetVn('Counter')]/Name»

GetVOrDefault

Get the value of a variable if it has been defined otherwise a default value

«GetVOrDefault('NumberOfLines',1)»

IncrementV

Increment a variable value

«IncrementV('Counter')»

«IncrementV('Total',RenderAsNumeric(Amount))»

IncrementVr

Increment a variable by a given amount and remove the paragraph

«IncrementVr('Total',RenderAsNumeric(Amount))»

«IncrementVr('Counter')»

PrependVr

Prefix values at the front of a variable

«PrependVr('List',',')»

«PrependVr('List',PartyName,',')»

RemoveParagraph

Remove the paragraph after the template has merged.

«RemoveParagraph()»

SetV

Set a variable value

«SetV('Balance',0)»

«SetV('Balance',GetV('Balance') + RenderAsNumeric(Amount))»

«IncrementV('Balance', RenderAsNumeric(Amount))»

«ChooseFromRDBList(Gender,Male,Female)»«If(Gender = "Male")»«SetV("PronounHe","he")»«Setv("PronounHim","him")»«SetV("PronounHis","his")»«Else()»«SetV("PronounHe","she")»«SetV("PronounHim","her")»«SetV("PronounHis","her")»«End()»«RemoveParagraph()»
«GetV('PronounHe')» took «GetV('PronounHis')» bag with «GetV('PronounHim')»


«ChooseFromRDBList(PartyGender,Male,Female)»
«Gender(PartyGender,1,'he,she')» took «Gender(PartyGender,1,'his,her')» bag with «Gender(PartyGender,1,'him,her')»

SetVR

Set a variable value and remove the paragraph

«SetVR('Balance',0)»

«SetVr('Balance',GetV('Balance') + RenderAsNumeric(Amount))»

«ChooseFromRDBList(Gender,Male,Female)»«If(Gender = "Male")»«SetVr("PronounHe","he")»«Setv("PronounHim","him")»«SetV("PronounHis","his")»«Else()»«SetVR("PronounHe","she")»«SetV("PronounHim","her")»«SetV("PronounHis","her")»«End()»
«GetV('PronounHe')» took «GetV('PronounHis')» bag with «GetV('PronounHim')»

Web Commands and Functions    Web Commands and Functions

Command or Function Name Description and Examples
EnableWebLocalSave

Enable Save Local on the Web

«EnableWebLocalSave(Yes)»

SendWebEmail

Set all the properties to send an email from a Web based template

«SendWebEmail(ToAddress,'','','noreply@email.com','Documents attached for your info','emailbody.html','false','true','false')»

SetWebButtonText

Sets the text to be shown in the "Assemble Document" button on the web interview

«SetWebButtonText(Submit)»

SetWebCustomButton

Sets custom text to be implemented in the interview by the web designer

«SetWebCustomButton('Do Something')»

SetWebEncryptionKey

Set the Web Encryption Key

«SetWebEncryptionKey('E8809904DABE')»

SetWebInterimSaveButton

Sets the text to be shown in the "InterimSave" button on the web interview, and the URL

«SetWebInterimSaveButton(Save data and Exit,http://www.mydomain.com/SaveInterviewData.php?interviewID=76575&type=privateCompany)»

SetWebInterviewSize

Set the Web Interview Size

«SetWebInterviewSize(Medium)»

SetWebReturnURL

Set the return URL for a web-based template

«SetWebReturnURL('www.MyLawFirm.com/DocumentCompleted.aspx')»

«SetWebReturnURL('www.MyLawFirm.com/DocumentCompleted.php?userID=131234&activity=LoanApplication')»

«SetWebReturnURL('www.MyLawFirm.com/DocumentCompleted.php?userID=&activity=LoanApplication')»

Back to top »