Repeatedly matches the content of an XML document against a supplied XPath expression, enabling each match to be processed separately downstream.

Warning: This Node is replaced by For Each.

Revision History Updated SplitDocument on Finished output to have the text <Finished /> Changed xml parsing to use XDocument instead of XmlDocument - performance improvement. Fixed bug when root element contain a namespace and ParentAndRootNodes are selected. Fixed regression issue where encapsulation is set to None. This used to return InnerXml, but changed to InnerText from v1.0.1.4



Type: Xml Input
The XML document to be processed


Type: String Input
The XPath expression that will be used to evaluate matches


Type: List Input
Governs how matches on the supplied XPath are encapsulated in the SplitDocumentXml property

None - No encapsulation is performed
ParentNode - The root of the Node that was matched is returned
ParentAndRootNodes - The XML document root Node is returned with the root matched Node nested into


Type: Multiline Text Input
A list of namespace prefixes and namespaces in the form :.
For Example:


Type: Int32 Input
The number of matches that should be returned per iteration. This can be used to achieve bulk processing but is set to 1 by default. If greater than 1, an Encapsulation option other than None must be set, otherwise an invalid XML document will be returned (ie. the document will have more than one root Node).


Type: Xml Output
The document returned for the current iteration


Type: Int32 Output
The total number of rows (split operations) for the current XML Document and XPath. These are calculated prior to the first iteration firing.


Type: Int32 Output
The index of the current row (split operation) for the current XML Document and XPath. This value is updated on each iteration.


The Splitter Node is used to iterate over sections of an XML Document. Each match of the supplied SplitXPath on SourceDocumentXml will cause the Split Output to Fire.

On completion, the Finished Output will fire.

Note that this Node will exit prior to completion of all iterations if a request is made to stop the Workflow.


See https://flowgear.me/s/bSKI18T for an example.