Description: 
Splits an XML File into multiple separate FlowFiles, each comprising a child or descendant of the original root element
Tags: 
xml, split
Properties: 
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.
| Display Name | API Name | Default Value | Allowable Values | Description | 
|---|
| Split Depth | Split Depth | 1 |  | Indicates the XML-nesting depth to start splitting XML fragments. A depth of 1 means split the root's children, whereas a depth of 2 means split the root's children's children and so forth. | 
Relationships: 
| Name | Description | 
|---|
| failure | If a FlowFile fails processing for any reason (for example, the FlowFile is not valid XML), it will be routed to this relationship | 
| original | The original FlowFile that was split into segments. If the FlowFile fails processing, nothing will be sent to this relationship | 
| split | All segments of the original FlowFile will be routed to this relationship | 
Reads Attributes: 
None specified.Writes Attributes: 
| Name | Description | 
|---|
| fragment.identifier | All split FlowFiles produced from the same parent FlowFile will have the same randomly generated UUID added for this attribute | 
| fragment.index | A one-up number that indicates the ordering of the split FlowFiles that were created from a single parent FlowFile | 
| fragment.count | The number of split FlowFiles generated from the parent FlowFile | 
| segment.original.filename | The filename of the parent FlowFile | 
State management: 
This component does not store state.Restricted: 
This component is not restricted.Input requirement: 
This component requires an incoming relationship.System Resource Considerations:
| Resource | Description | 
|---|
| MEMORY | The entirety of the FlowFile's content (as a Document object) is read into memory, in addition to all of the generated FlowFiles representing the split XML. A Document object can take approximately 10 times as much memory as the size of the XML. For example, a 1 MB XML document may use 10 MB of memory. If many splits are generated due to the size of the XML, a two-phase approach may be necessary to avoid excessive use of memory. |