Evaluates one or more XPaths against the content of a FlowFile. The results of those XPaths are assigned to FlowFile Attributes or are written to the content of the FlowFile itself, depending on configuration of the Processor. XPaths are entered by adding user-defined properties; the name of the property maps to the Attribute Name into which the result will be placed (if the Destination is flowfile-attribute; otherwise, the property name is ignored). The value of the property must be a valid XPath expression. If the XPath evaluates to more than one node and the Return Type is set to ‘nodeset’ (either directly, or via ‘auto-detect’ with a Destination of ‘flowfile-content’), the FlowFile will be unmodified and will be routed to failure. If the XPath does not evaluate to a Node, the FlowFile will be routed to ‘unmatched’ without having its contents modified. If Destination is flowfile-attribute and the expression matches nothing, attributes will be created with empty strings as the value, and the FlowFile will always be routed to ‘matched’


XML, evaluate, XPath


In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values.

Name Default Value Allowable Values Description
Destination flowfile-content * flowfile-content
* flowfile-attribute
Indicates whether the results of the XPath evaluation are written to the FlowFile content or a FlowFile attribute; if using attribute, must specify the Attribute Name property. If set to flowfile-content, only one XPath may be specified, and the property name is ignored.
Return Type auto-detect * auto-detect
* nodeset
* string
Indicates the desired return type of the Xpath expressions. Selecting 'auto-detect' will set the return type to 'nodeset' for a Destination of 'flowfile-content', and 'string' for a Destination of 'flowfile-attribute'.

Dynamic Properties:

Dynamic Properties allow the user to specify both the name and value of a property.

Name Value Description
A FlowFile attribute(if 'Destination' is set to 'flowfile-attribute' An XPath expression If 'Destination'='flowfile-attribute' then the FlowFile attribute is set to the result of the XPath Expression. If 'Destination'='flowfile-content' then the FlowFile content is set to the result of the XPath Expression.


Name Description
matched FlowFiles are routed to this relationship when the XPath is successfully evaluated and the FlowFile is modified as a result
unmatched FlowFiles are routed to this relationship when the XPath does not match the content of the FlowFile and the Destination is set to flowfile-content
failure FlowFiles are routed to this relationship when the XPath cannot be evaluated against the content of the FlowFile; for instance, if the FlowFile is not valid XML, or if the Return Type is 'nodeset' and the XPath evaluates to multiple nodes

Reads Attributes:

None specified.

Writes Attributes:

Name Description
user-defined This processor adds user-defined attributes if the 'Destination' property is set to flowfile-attribute.