JobDataXml

Native C API

Overview

XML files provide DataField values for generating output. Use TFormer_SetXmlDataFile to import the file into the current TFORMer instance.

The XML file must use one of the supported formats described below.

To transform the XML input into a supported format before importing it, use TFormer_SetXmlDataFileEx instead. Pass the XSLT stylesheet filename as pszXsltFileName and NULL as pszXsltTFC; the latter is reserved for internal use.

The following XML formats can be used:

Generic XML Format (Variant 1)

<Root>
  <Records>
    <Record>
      <V Name="DataFieldName1">Value</V>
      <V Name="DataFieldName2">Value</V>
      <V Name="DataFieldName3">Value</V>
    </Record>
    <Record>
      <V Name="DataFieldName1">Value</V>
      <V Name="DataFieldName2">Value</V>
      <V Name="DataFieldName3">Value</V>
    </Record>
    :
    Further Data Records
    :
  </Records>
</Root>

Name

Description

Root

This is the root element. It encloses all other elements of the XML-file.

Records

This element encloses all records.

Record

This element represents one Record. Within a Record the single DataField-values are defined.

V

Data-Element. This element defines the name and the value of the DataField.

DataFieldName

Name of the DataField (must be unique within a Record).

Value

The actual value of the DataField.


The elements can be named arbitrarily. This means the terms Root, Records and Record can be selected at will. Only the order of the element-nodes is decisive: TFORMer interprets the lowest level of the XML-file as name/value pairs for data-fields, superordinate nodes always correspond to records.

Generic XML Format (Variant 2)

Variant 2 is comparable to variant 1, but instead of using the syntax <V Name="DataFieldName">Value</V> you can specify DataField-values using the following syntax:

<Root>
  <Records>
    <Record>
      <DataFieldName1>Value</DataFieldName1>
      <DataFieldName2>Value</DataFieldName2>
      <DataFieldName3>Value</DataFieldName3>
    </Record>
    <Record>
      <DataFieldName1>Value</DataFieldName1>
      <DataFieldName2>Value</DataFieldName2>
      <DataFieldName3>Value</DataFieldName3>
    </Record>
    :
    Further Data Records
    :
  </Records>
</Root>

XML Files Exported by Microsoft® Access

<?xml version="1.0" encoding="UTF-8"?>
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata">
  <tblTableName>
    <DataFieldName1>Value</DataFieldName1>
    <DataFieldName2>Value</DataFieldName2>
    <DataFieldName3>Value</DataFieldName3>
  </tblTableName>
  <tblTableName>
    <DataFieldName1>Value</DataFieldName1>
    <DataFieldName2>Value</DataFieldName2>
    <DataFieldName3>Value</DataFieldName3>
  </tblTableName>
  :
  Further Data Records
  :
</dataroot>

Internal XML Format

TFORMer Designer uses this format to store DataField name/value pairs.

Note

This file format is created with TFormer_SaveXml and can then be used as JobData with the function TFormer_SetDataFile.

<PSData>
  <Form>
    <Records>
      <Record Copies="1">
        <V Name="DataFieldName1">Value</V>
        <V Name="DataFieldName2">Value</V>
        <V Name="DataFieldName3">Value</V>
      </Record>
      <Record Copies="1">
        <V Name="DataFieldName1">Value</V>
        <V Name="DataFieldName2">Value</V>
        <V Name="DataFieldName3">Value</V>
      </Record>
    </Records>
  <ImportedVariables/>
  </Form>
</PSData>

Name

Description

PSData

This is the root element. It encloses all other elements within the XML-file.

Form

This element encloses all records for one FormLayout. It must be specified only once.

Records

This element encloses all records to be printed. It must be specified only once.

Record

This element encloses all data-fields for one Record. For each Record there is one (optional) attribute named Copies. If this attribute is missing it defaults to 1, meaning that this Record is used once. If you want to use the same data for multiple records you can specify the number of copies using this attribute.

V

Data-Element. This element consists of the DataField-name (attribute name) and the value.

DataFieldName

Name of the DataField (must be unique within a Record).

Value

The actual value of the DataField.

ImportedVariables

Used internally by TFORMer.

Example

The following example selects an XML input file.

  // Use the XML file InputData.XML as data source
  eCode = TFormer_SetXmlDataFile (hTForm, "path/data.xml");

More Information

For a general description see JobData.

Search documentation

Search in
More scopes
Additional scopes

All contents