File Content Extraction 26.1
Filter SDK C++ Programming Guide

# Template Elements and Attributes

This section lists the valid XML elements and attributes that you can use when creating or modifying templates. See the demo templates for examples.

## Conditional Elements

The following table lists the valid conditional elements.

Conditional elements
Element | Description
--- | ---
`<keyview>` | The XML template container ("root") element
`<if*>` | If the condition from the comparison is true, process the XML. Conditions can be nested up to 25 levels deep. Attributes `name`. (Required) The name of the main item to compare to `item` or `text`. `item`. (Required if no `text`) The name of the item to compare to the item specified by `name`. `text`. (Required if no `item`) The text to compare to the item specified by `name`.
`<ifex>, <ifnx>` | If `name` item exists and has a `text` value or not. The Notes item might have a value that cannot be converted to text, such as an image.
`<ifeq>, <ifne>, <iflt>, <ifle>, <ifgt>, <ifge>` | Respectively, if `text` `==`, `!=`, `<`, `>`, `<=`, `>`, `>=`. Text comparison uses a case-insensitive string compare.
`<iftdeq>, <iftdne>, <iftdlt>, <iftdle>, <iftdgt>, <iftdge>` | Respectively, if time/date `==`, `!=`, `<`, `>`, `<=`, `>`, `>=`. Time/date comparison converts dates to text in local time using the Notes default, `TZFMT_NEVER`, because Notes also sometimes converts fields to text internally. For example:
    text="06/30/2005 02:52:04 PM"
`<iftzeq>, <iftzne>` | Respectively, if the time zone equals or does not equal the comparison `text`, for example `CDT`, `EST`, and so on.
`<ifini>` | If the value of the INI option specified in `name` equals the `text` value.
`<else>` | If the condition from the last `<if>` or `<switch>` was false, process XML.
`<switch>` | If a `name` value exists, process XML. Attributes `name`. (Required) The name of the main item to compare in `<case>` subelements.
`<case>` | If the comparison condition is true, process XML, then stop processing the rest of `<switch>`. Attributes `text`. (Required) The text to compare to the `name` item of `<switch>`.
`<default>` | If all `<case>` conditions were false, process XML. This element must be the last element in `<switch>`, after all the `<case>` elements. Any `<case>` elements after the `<default>` element are ignored.
`<for>` | If a `name` value exists, process XML. Process for each part of the `name` item. Attributes `name`. (Required) The name of the main item. `max`. (Optional) The maximum index to process. By default, all are processed.
`<index>` | Output `<for>` loop index (1-based). `<index>` is only valid within a `<for>` element.

## Control Elements

The following table lists the valid control elements.

Control Elements

Element | Description
--- | ---
`<call>` | Call another XML template. You can nest templates up to 10 levels deep. Attributes `file`. (Required) The template file name. This name must be unique.
`<log>` | Log message to the NSF log file. Attributes `text`. (Required) The text to log. `type`. (Optional) The type of log message. The following values are valid: `ERROR` `WARN` `INFO` `DIAG` (the default option) `DEBUG` `DUMP`
`<quit>` | Stop processing the template. Exits without error. Attributes `text`. (Optional) The text to log. `type`. (Optional) The type of log message. See <log>.
`<stop>` | Stop processing the template. Exits with an `ERROR` log message. Attributes `text`. (Required) The text to log.

## Data Elements

The following table lists the valid data elements.

Data elements

Element | Description
--- | ---
`<text>` | Output text. Attributes `name`. (Required if there is no parent) The name of the item to output.
`<rich>` | Output rich text (MHTML). Images are output in the next part or parts of the MHTML, after the first `<HTML>` part. Attributes `name`. (Required if there is no parent) The name of the item to output.
`<body>` | Output the message body in rich text (MHTML). As with <rich>, images are output in the next part or parts of the MHTML.
`<form>` | Output the message form (usually `$Body` field) in rich text (MHTML). Attributes `name`. (Required if there is no parent) The name of the item to output.
`<addr>` | Output an address. Attributes `name`. (Required if there is no parent) The name of the item to output. `type`. (Optional) The type of address to output. Set this attribute to `CN` (Common Name), which is the only supported type.
`<name>` | Output the name of the last `name` item, or in other words the current main item. The item must exist.
`<format>` | Set the default format for `<date>` and `<date_kv>`. This element does not set the `<text>` format. See Date and Time Formats for a list of all Notes and File Content Extraction date and time formats and integer values. Attributes `format`. (Optional. Omit to reset to defaults) The Notes and File Content Extraction date and time format. You can set the following formats: `TD=``int`. The Time Date format (`TDFMT_*`) `TS=``int`. The Time Show format (`TSFMT_*`) `TT=``int`. The Time Time format (`TTFMT_*`) `TZ=``int`. The Time Zone format (`TZFMT_*`) `KV=``int`. The KeyView date and time format where `int` is an integer value that corresponds to the desired format. Separate multiple formats with commas. For example: `format="TD=0,TS=2,TT=1,TZ=1,KV=55"`
`<date>` | Output a Notes date. Attributes `name`. (Required if there is no parent) The name of the item to output. `format`. (Optional) See <format>. You can set the following values: `TD` `TS` `TT` `TZ`
`<date_kv>` | Output a KeyView date. Attributes `name`. (Required if there is no parent) The name of the item to output. `format`. (Optional) See <format>. You can set the following values: `TZ` `KV`
`<time>` | Output a time range, for example 1 hour, 30 minutes. Attributes `name`. (Required if there is no parent) The item name of the start date or time. `item`. (Required) The item name of the end date or time.
`<zone>` | Output a Notes time zone mnemonic, for example `MST`. Attributes `name`. (Required if there is no parent) The name of date item to output.
`<zone_utc>` | Output a time zone as UTC, for example `(UTC-06:00)`.
`<logo>` | Output the mail header logo. The image link is included in the output; the actual image is output to a different part of the MHTML subfile.
`<image>` | Output an image. The image link is included in the output; the actual image is output to the MHTML next part, as with <rich> and <body>.
`<image_uri>` | Output an image URI, in quotation marks. The actual image is output to a different part of the MHTML subfile. Attributes `link`. (Required if there is no `file`) The image link, such as a form or title name. For example: `link="StdNotesLtr0"` `file`. (Required if there is no `link`) The name of the image file. The file must exist in the `../../templates/images` directory. For example: `file="boxcheck.gif"`

Copyright 1997-2025 Open Text
Version 26.1 | Last updated January 2026

Send documentation feedback

Close

Send documentation feedback

To send feedback using your default email client, open an email window.

Otherwise, send your feedback and the information below to MFI-swpdl.idoldocsfeedback@opentext.com.

We appreciate your feedback!

Product: File Content Extraction 26.1

Topic Title: Template Elements and Attributes