Splitter
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
1.0.1.3 Updated SplitDocument on Finished output to have the text <Finished />
1.0.1.4 Changed xml parsing to use XDocument instead of XmlDocument - performance improvement.
1.0.1.5 Fixed bug when root element contain a namespace and ParentAndRootNodes are selected.
1.0.1.6 Fixed regression issue where encapsulation is set to None. This used to return InnerXml, but changed to InnerText from v1.0.1.4
Properties
SourceDocumentXml
Type: Xml Input
The XML document to be processed
SplitXPath
Type: String Input
The XPath expression that will be used to evaluate matches
Encapsulation
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
Namespaces
Type: Multiline Text Input
A list of namespace prefixes and namespaces in the form :.
For Example:
ns:tempuri.org
ns2:otheruri.org
ChunkSize
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).
SplitDocumentXml
Type: Xml Output
The document returned for the current iteration
TotalRows
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.
CurrentRow
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.
Remarks
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.
Examples
See Sample Workflow for an example.