Homespacer>spacerMergemill Tags Guide

spacer

Content Field

Expression

Looping

Branching

System Values

Statistics

Sections

Example

spacer

Content Insertion Fieldspace[ Learn ]
space<?[Field]?>
space<?[Field]{Column}?>
space<?[LookupValueField]([LookupKeyField]=[Field])?>
space<?[LookupValueField]([LookupKeyField]=[Field]{Column})?>
space* A result number format may be specified, before "?>", like <?[LVField]([LKField]=[Field]{Column})@NumFormat?>.

Arithmetic Expressionspace[ Learn ]
space<?(Expression)?>
space<?(Expression)@NumFormat?>

Loopingspace[ Learn ]
space<?Loop: Count?>
space<?Exit?>
space<?EndLoop?>

Branching: IFspace[ Learn ]
space<?If(Expression ComparisonOperator CheckValue)?>
space<?If(Expression = CheckValue1; CheckValue2; ...)?>
space<?If(Expression = FromValue .. ToValue)?>
space<?If(Same[Field])?>
space<?If(Same[Field]{Column})?>
space<?Else?>
space<?EndIf?>
space* The comparison operator is one of these: =, >, <, <>, >=, <=, or ?=.

Branching: CASEspace[ Learn ]
space<?StartCase?>
space<?Case(Expression ComparisonOperator CheckValue)?>
space<?Case(Expression = CheckValue1; CheckValue2; ...)?>
space<?Case(Expression = FromValue .. ToValue)?>
space<?Case()?>
space<?EndCase?>
space* The comparison operator is one of these: =, >, <, <>, >=, <=, or ?=.

System Values: Date Timespace[ Learn ]
space<?YearNum?>
space<?MonthNum?>
space<?DayNum?>
space<?DateYMD?>
space<?DateLong?>
space<?DateAbbr?>
space<?TimeHMS?>

System Values: Pagespace[ Learn ]
space<?PrevPage?>
space<?NextPage?>
space<?PageNum?>

Statisticsspace[ Learn ]
space<?SCNT([ValueField],[FrequencyField])?>
space<?SSUM([ValueField],[FrequencyField])?>
space<?SAVG([ValueField],[FrequencyField])?>
space<?SSDS([ValueField],[FrequencyField])?>
space<?SSDP([ValueField],[FrequencyField])?>
space<?SMAX([ValueField])?>
space<?SMIN([ValueField])?>
space<?LRCT([InputFieldX],[ResponseFieldY])?>
space<?LRRC([InputFieldX],[ResponseFieldY])?>
space<?LRCC([InputFieldX],[ResponseFieldY])?>
space* A result number format may be specified, before "?>", like <?SAVG([ValueField],[FrequencyField])@NumFormat?>.

Sections: Variablesspace[ Learn ]
space<?Vr:vName?> ... <?/Vr?>
space<?vName?>
space<?vName@NumFormat?>

Sections: Hidespace[ Learn ]
space<?Hd?> ... <?/Hd?>

Sections: Speechspace[ Learn ]
space<?Sp?> ... <?/Sp?>
space<?Pause: Count?>

Sections: Emailspace[ Learn ]
space<?EmFrom?> ... <?/Em?>
space<?EmTo?> ... <?/Em?>
space<?EmCC?> ... <?/Em?>
space<?EmBCC?> ... <?/Em?>
space<?EmSubj?> ... <?/Em?>
space<?EmHTML?> ... <?/Em?>
space<?EmText?> ... <?/Em?>
space<?EmFile?> ... <?/Em?>

space
Syntax and Usage Notes

1.

General

 

a)

The words in blue above are user-specified objects or values.

 

b)

All tag keywords are case INsensitive.

 

c)

The Count attribute in the <?Loop: Count?> tag is optional. If it is not specified, the colon may also be skipped. Without the attribute, loop break is controlled by data stream breaks, and by the <?Exit?> tag if used.

 

d)

The [FrequencyField] in statistical function tags is optional. If it is not specified, the comma may also be skipped, and the frequency of each value is assumed to be 1.

 

e)

Mergemill reports template errors only where control structures and tag pairs are incorrectly used. Tags not recognized are treated as static template text.
space

2.

Field and variable naming rules

 

a)

The names are case SENSITIVE.

 

b)

They must not begin with a number, a symbol, or the letters "xml" in any combination of upper or lower case.

 

c)

Don't include

 

 

i)

whitespaces

 

 

ii)

comparison operators (=, >, <, <>, >=, <=, ?=)

 

 

iii)

arithmetic operators (+, -, *, /, \, %, ^)

 

 

iv)

other reserved symbols ([, ], (, ), {, }, @, .., #, :, ;, ", and the comma)
space

3.

Whitespaces

 

a)

Each stretch of reserved keywords and symbols, shown in black in the tags above, must not be broken by whitespaces. Taking "<?LRCC([InputFieldX],[ResponseFieldY])@NumFormat?>" as an example, there must NOT be whitespaces in the parts shown in bold.

 

b)

Whitespaces immediately before and after user-specified objects are allowed and ignored. These objects are:

 

 

i)

Field name, field attribute, column number, variable name, and number format specification

 

 

ii)

Expression operand, operator, and check value

 

 

iii)

The Loop attribute count
space

4.

IF, CASE, and LOOP structures

 

a)

The comparison operator "<>" means not-equal-to, and "?=" means contains. Example:
spacer<?If([field] ?= mob)?>Field value could be "automobile"<?EndIf?>

 

b)

If there is no ELSE part in an IF structure, you may skip it:
spacer<?If(...)?> ... <?EndIf?>

 

c)

The case else tag <?Case()?> is optional. It is always true and, if included, must be the last CASE in the structure.

 

d)

Nesting of control structures

 

 

i)

LOOPs must not be nested. The following is therefore NOT allowed:
spacer<?Loop?> ... <?Loop:20?> ... <?EndLoop?> ... <?EndLoop?>

 

 

ii)

Multi-level nesting of IF and CASE structures are allowed:
spacer<?If(...)?> ... <?StartCase?> ... <?EndCase?> ... <?Else?> ... <?EndIf?>
spacer<?StartCase?><?Case(...)?> ... <?If(...)?> ... <?EndIf?> ... <?Case()?> ... <?EndCase?>
spacer<?If(...)?> ... <?If(...)?> ... <?Else?> ... <?EndIf?> ... <?Else?> ... <?EndIf?>
spacer<?StartCase?> ... <?Case(...)?> ... <?StartCase?> ... <?EndCase?> ... <?Case()?> ... <?EndCase?>

 

 

iii)

IF, CASE, and LOOP structures may be nested within each other:
spacer<?Loop?> ... <?If(...)?> ... <?Else?> ... <?EndIf?> ... <?EndLoop?>
spacer<?StartCase?> ... <?Case(...)?> ... <?Loop?> ... <?EndLoop?> ... <?EndCase?>
space

5.

Use of double-quotes in check values inside the IF and CASE tags

 

a)

Add quotes if the leading and trailing whitespaces in a check value are significant, such as " words".

 

b)

Add quotes if a check value contains the double-dot or semicolon, such as "monday... friday; sunday" or "monday; tuesday; wednesday".

 

c)

A check value may be a number, a string of characters, a variable name, or a reserved word representing a Mergemill system value such as PageNum. If the string of characters you want to test happens to be a variable name or a reserved word, put it between quotes to specify it as ordinary text.

 

d)

If a check value contains double-quote characters, it must be enclosed in double-quotes, and the embedded double-quotes must each be represented by a pair of consecutive double-quotes, such as "the name is ""test""".
space

6.

Additional options if the comparison operator in an IF or CASE tag is "="

 

a)

You may check for a single value, a value in a range, or a value in a list.

 

b)

When checking for a value in a range:

 

 

i)

The separator between the two boundary values is a double-dot, i.e. two consecutive dots.

 

 

ii)

Boundary values are included in the range.

 

 

iii)

The from value may be bigger than the to value.
space

7.

Sections

 

a)

Everything except content-insertion field tags are ignored in a hide section (<?Hd?> ... <?/Hd?>).

 

b)

Sections may be embedded within a control structure.

 

c)

Control structures may be used inside a section:
spacer<?Sp?><?If(...)?>Speak this<?Else?>Speak that<?EndIf?><?/Sp?>

 

d)

Similar sections must NOT be nested:
spacer<?Sp?>...<?Sp?>...<?/Sp?><?/Sp?>
spacer
<?EmFrom?>...<?EmTo?>...<?/Em?><?/Em?>

 

e)

Any section type may be embedded within other types:
spacer<?EmTo?><?Loop?>...<?EndLoop?><?Sp?>Finish building recipient list<?/Sp?><?/Em?>

spacer

Content Field

Expression

Looping

Branching

System Values

Statistics

Sections

Example

spacer

Top of Page

Featuresspacer::spacerDownloadsspacer::spacerBuy Nowspacer::spacerSupportspacer::spacerTutorialsspacer::spacerTags Guidespacer::spacerSite Map


Copyright © 2001-2017 Cross Culture Ltd. All Rights Reserved.