This transformer modifies XML documents by performing one or more of the following actions:

  • Replace an XML element or attribute.
  • Replace the contents of an element or attribute.
  • Delete an XML element or attribute.
  • Delete the contents of an XML element or attribute.
  • Rename an element or attribute
  • Insert a new element or attribute.

For each document update, an XML path expression is used to identify the location of the items to be modified. Note that the path may refer to more than one item. If this is the case, all the items will be modified.

For modifications that replace existing items or insert new items, two parameters are given which specify the value to be added to the document. This value may be given as a simple text value, or it may be an XQuery expression.

The Update features provide the attribute values used in the document update operations. The Document feature is only used to supply the XML document which is to be updated.

For each feature that enters the Update port, all update operations listed in the transformer will be applied to each feature that entered the transformer through the Document port. Therefore, no changes will be made to the XML document if no features enter the transformer through the Update port.

Note that if the document is entered directly into the transformer parameters, it may be processed in two different ways:

  • If no Document features are given to the transformer, a new feature will be created to store the document. Each of the updates will be applied to the document, and it will then be output through the Document port.
  • If Document features are given to the transformer, each of the updates will be applied to the document, then it will be copied to each Document input feature before these features are output from the transformer.


Input Ports

Output Ports


Editing Transformer Parameters

Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.

Defining Values

There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters. There are a number of tools and shortcuts that can assist in constructing values, generally available from the drop-down context menu adjacent to the value field.

Dialog Options - Tables

Transformers with table-style parameters have additional tools for populating and manipulating values.

FME Community

The FME Community is the place for demos, how-tos, articles, FAQs, and more. Get answers to your questions, learn from other users, and suggest, vote, and comment on new features.

Search for samples and information about this transformer on the FME Community.