JobDataXml
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 |
V | Data-Element. This element consists of the DataField-name (attribute |
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.