XMP Inject



The XMP Inject Flow Element can be used for two main purposes:


  • Inject an external dataset into the job

    The data to be injected is linked to the incoming job as an external dataset and corresponds to the XMP schema which is listed in the Switch jobticket.

    For example, the dataset could have been created by the export metadata mechanism which extracts information from a PDF.

    A scenario where we can use this feature is when merging information from multiple PDF's into a single PDF.

  • Insert or update data to an existing XMP dataset

    All kinds of Switch variables can be injected as data. For example, we can use this feature in a GWG Add-Ticket to update the missing values.

Supported job types


Outgoing connections

The XMP Inject Flow Element requires at least one incoming connection. The outgoing connection is a traffic light connection of the following type only:

Note: The incoming files which have an external dataset will retain it even after passing through the XMP Inject tool if the user has not specified in the settings, to discard external dataset. There are no outgoing log connections.

Script declaration

Properties

Property name Description
Action Select an action to perform on the incoming job. "Update XMP" and "Inject XMP" options are available in this drop-down menu.
Dataset Select a dataset that contains the information. Make sure the dataset is in XMP format. This property is visible only when you select "Inject XMP" for Action.
Keep dataset Set to "Yes" to keep the external dataset after it has been injected. Select "No" to discard the external dataset. This property is visible only when you select "Inject XMP" for Action.
XMP fields This option allows you to select an XMP field and update its value in the Update XMP data dialog box and is visible only when you select "Update XMP" for Action.
Rule Properties Description
Name Enter the name of the rule
XMP location path Select or define the XMP location path
New value The new value is interpreted according to the value type selected in Value type drop-down menu. For example, if the value type is "Date" then the new value must be a string representing datetime in ISO 8601 as described here: http://www.w3.org/TR/NOTE-datetime
Value type Select the value type from the options:

String, Number, Boolean, Date and Localized text

If you select "Number" you have to specify the "Precision" in the textbox of the same name.

If you select "Localized text", two more textboxes, "Generic language" and "Specific language" appear.

Generic Language: Enter the name of the generic language. Example: 'en'. Or choose Select from library option to view a list of languages to select from. This language is used if the specific language does not match. Make sure the format complies with the RFC 3066 standard or leave this field empty.

Specific Language: Enter the name of the specific language. Example: 'en-UK' or 'en-US'. Or choose Select from library option to view a list of languages to select from. This language will be selected when there is an exact match. Make sure the format complies with the RFC 3066 standard or use 'x-default' as artificial language to denote a default item in an alt-text array. This field cannot be empty

Note: Before appending information to a job, user should ascertain that the job has an external XMP dataset which conforms to the RDF schema, as it is not possible to inject any arbitrary XML file. If the dataset conforms and matches the file type, it is injected into the job and the job is routed through the Success out connection. The job is routed to the error out connection if the dataset cannot be injected or if the specified dataset cannot be found.

When updating values to an existing XMP dataset, select the node and add it to a list of values that must be updated.

Injecting XMP from XML Data

XMP and JDF are both XML based languages. However, both these, as well as XML need to be converted to the proper XML format for XMP injection, from other sources or from within other Switch elements.

Within Switch, this can be done with the XSLT tool and custom style sheets to convert XML into the XMP format before injection.