Connect XML Type Data


This function is only available for "classic" templates. You can find more information here.

If the third party application wants to do without an interface definition in OneOffixx, this can be achieved with type="Data" in the interface definition in the connect file. Without the interface definition, the fields can no longer be placed directly in the template. To achieve this, the Editor argument must be added to the connect file so that the editor can display the fields.


Use of Type Data

Basically, an interface with Type Data can always be used, but for certain use cases this can also save configuration effort. This can be the case if:

  • the data supplied by the third party application has already been prepared for OneOffixx before export. This means that only the data that has to be used will be delivered. This applies both if the XML is already a valid Connect XML and if it is an unstructured XML. In the case of an unstructured XML, the interface can then be created with Type Data via the XML Transformer.

  • the amount of data is small, but a large part of it is used.

It does not make sense to use an interface with Type Data if:

  • the third party application provides a large amount of data that is not yet prepared. In this case it makes sense to use a Connect interface definition to read out the data that is needed. This prevents a lot of irrelevant data from ending up in the Word document and slowing down the creation process. This applies to Connect XML as well as to unstructured XML.

A big advantage of an interface with Type Data is that dates can be provided with the desired date format directly in the Connect via the "Format" attribute – previously, scripts were always necessary to do this.

It is important to note:

  • The main use case includes text, date, image and listings. Other types can also be used, but this often makes no sense.

  • If nodes with the same Id in the document parameter (hereafter called DP) and interfaces exist, then the value (content) of the document function with the earlier position in the pipeline is used in each case.

  • If the document function Connect interface definition is in the pipeline before the DP with the same Id, the values of the nodes configured in the DP are displayed in the DP. However, the document then displayes the value that was passed by the connect interface definition.

  • The attributes are basically resolved according to the same scheme. However: If e.g., in the interface the node is specified with Tracked="true ", but in the DP it is not, and the DP is placed before the Connect interface definition (so the values are taken from the DP), then the content controls are still displayed in the Quick Check.

  • The nodes are probably separate with their own attribute values in the documentPart, but the attributes are finally merged when displayed. I.e., if the attribute values are present in both nodes, then the value of the node that comes first in the pipeline is accepted. If the attribute value is set in only one of the nodes, then this is taken, regardless of the position in the pipeline.

  • All view attributes like Row, Column etc. are redundant; the configuration has no influence on the Document Parameter.


Configuration

<Function name="CustomInterfaceConnector" id="70E94788-CE84-4460-9698-5663878A295B" xmlns=""> <Arguments> <Interface Name="TypeDataSchema" type="Data"> <All Id="[string]" Tracked="[bool]" Label="[string]" (Defines the label which is displayed in the Quick Check if Tracked true) > </All> <Text>[string]</Text> <DateTime Offset="[string]" (Works only if no default value is specified, i.e. Today+Offset) Format="[string]" Calendar="[string]">[string:parsable]</DateTime> <CheckBox>[bool]</CheckBox> <Image>[string:base64]</Image> <ComboBox SelectedValue="[string]" > <Item Value="[string]" DisplayText="[string]" /> [...] </ComboBox> <Collection> <Element> [...] (Some node, z.&#160;B. <Text Id="">Value</Text>) </Element> [...] </Collection> </Interface> </Arguments> </Function>

NOTE

About Tracked="true": This property makes the node appear in the Quick Check. But the default value must be specified if the Quick Check should be red, for text &#160; (non-breaking space) must be set.


Example

<?xml version="1.0" encoding="utf-8"?> <OneOffixxConnectBatch xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1"> <Settings xmlns=""> <Add key="KeepConnector">true</Add> <Add key="CreateConnectorResultOnError">true</Add> </Settings> <Entries xmlns=""> <OneOffixxConnect> <Arguments> <Editor>true</Editor> <TemplateId>71d2ee53-a0b0-4037-95c1-7262b88b904b</TemplateId> </Arguments> <Commands> <Command Name="DefaultProcess"> <Parameters> <Add key="Start">true</Add> </Parameters> </Command> <Command Name="ConvertToDocument" /> </Commands> <Function name="CustomInterfaceConnector" id="70E94788-CE84-4460-9698-5663878A295B"> <Arguments> <Interface Name="BeispielTypeData" type="Data"> <Text Id="TypeData.TextPreFilled">Prefilled text</Text> <Text Id="TypeData.TextToFillOut" Tracked="True" Label="Please fill in this text">&#160;</Text> <DateTime Id="TypeData.DateTimeSet" Format="dd. MMMM yyyy">27.02.1995</DateTime> <DateTime Id="TypeData.DateTimeNotSet" Format="dd. MMMM yyyy" Label="Please select date" Tracked="true">01.01.1901</DateTime> <CheckBox Id="TypeData.CheckBox">false</CheckBox> <Image Id="TypeData.Base64Image">iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA...</Image> <ComboBox Id="TypeData.ComboBox" SelectedValue="1"> <Item Value="1" DisplayText="Entry 1" /> <Item Value="2" DisplayText="Entry 2" /> <Item Value="3" DisplayText="Entry 3" /> </ComboBox> <!-- Collections were deliberately omitted. Extended Binding is required to process a collection from an interface. --> </Interface> </Arguments> </Function> </OneOffixxConnect> </Entries> </OneOffixxConnectBatch>

In this example <Editor>true</Editor> is set. This causes the template to be opened in the Word editor. The fields defined in the interface are then (and only then) available and can be inserted into the document:

After the fields have been inserted in the editor, the editor can be saved. The next time it is called with <Editor>false</Editor> the content will then be filled and the nodes that are tracked="true" will be displayed in the quick check:

 

PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland