Topology > I/O Devices > Import Variable Tags from an External Data Source > XML Template Tags
XML Template Tags

The proprietary tags used in TagGen XML files are listed below.

<template>

This is the root tag in the XML file. Only have one <template> tag in each XML file.

Can contain:

<param>, <input>, <output>

Attributes:

desc
Description of the template section.

<param>

This optional tag defines global parameters for the XML file. Here you can specify string constants to be used in the rest of the file.

Can contain:

<string>

Attributes:

name
Name of the parameter section.

desc
Description of the parameter section.

<input>

This defines the source database of the XML file, the fields to be imported and any input filtering that might be necessary. There needs to be only one input section defined.

Can contain:

<field>, <string>, <array>, <calculator>

Attributes:

name
Name of the input section.

file
Input database file name.

desc
Description of the input section.

<output>

This defines the output database of the XML file, the tags to be generated and any transformations necessary to generate tag data from input variable data. A template needs to have at least one output section defined.

Can contain:

<field>, <string>, <array>, <calculator>

Attributes:

name
Name of an output section

file
Output database file name

filter
Output section filter, syntax:

filter="variable=FilterString"

<FilterString> is a string expression that can combine wildcards or wildcard strings with boolean operators (AND, OR and NOT), as well as grouped boolean terms using parentheses. For example, "L*" will match if string beginning with the letter "L"; "L* OR H*" will match if string beginning with "L" or "H". See Pattern matching for a list of wildcard operators.

desc
Description of the output section.

<field>

This tag specifies the database fields that will be processed in <input> and <output> sections.

When used in the input section it specifies the named fields for each record loaded from the input database. It is read only.

When used in an output section it specifies the named fields to write to for each generated tag record in the output database.

Attributes:

name
Case insensitive name of a database field.

key
Valid for output sections only, this boolean flag indicates whether this is a key field. This is useful for special handling in the output section. For example, you can synchronize between a new record set and an old record set by matching the key fields.

load
Valid for both input and output sections, this boolean flag indicates whether this is a load filter field. Load filter fields are used to filter records when loading data from the input database and output database.

desc
Description of the field element.

Note: Key and Load string expressions can contain a regular string, a variable reference, wild card operators, or a mixture of these. See Pattern matching for a list of wildcard operators.

<string>

This tag defines a string constant that can be used in <param>, <input> and <output> sections.

Attributes:

name
Name of a variable string.

desc
Description of the string element.

Note: For Unity SpeedLink, the string "IODevice", when defined in the <param> section, refers to the project's IO Device. Do not assign it another value.

<array>

This tag defines a dynamic array of strings in <input> and <output> sections.

The set of strings depends on the fields of the record being processed and those strings that are generated by the ToProperty() and Split() commands. See Built-In Functions for more information.

Attributes:

name
Name of a variable string array.

desc
Description of the array element.

<calculator>

This tag defines an expression variable in <input> and <output> sections.

The content of this tag is a mathematical expression used to specify a simple operation for data transformation.

The operands in the expression can be only numbers or variables with numeric values. The expression can use parentheses to change the precedence of the evaluation.

For example, the following calculator in an <input> section counts input records by incrementing its current value.

<calculator name="c1" initial="0">{c1} + 1</calculator>

Attributes:

name
Name of a calculator.

initial
Initial value of the calculator, zero by default.

desc
Description of the calculator element.

Published June 2018