The XML parser stage parses whole XML documents by default, but it can also be configured to parse only specific nodes without loading the entire document into memory. It can also split an XML document into multiple documents. XPATH-like expressions are used to select specific nodes to parse, such as /posts/row
or /posts/record
. Nested XML elements are flattened.
To create new documents from selected elements, configure rootPaths
.
Note
|
The XML Transformation index pipeline stage is deprecated in favor of this parser stage. |
Tip
|
When entering configuration values in the UI, use unescaped characters, such as \t for the tab character. When entering configuration values in the API, use escaped characters, such as \\t for the tab character.
|
XML stage-specific properties
Property | Description, Type |
---|---|
enabled
Enable this Parser Stage |
type: default value: ' |
errorHandling
Error Handling |
type: default value: ' enum: { ignore log fail mark } |
id
Parser ID |
type: default value: ' |
ignoredMediaTypes
Media Types to ignore |
Documents with a media type on this list will be not be processed by this parser stage. type: |
inheritMediaTypes
Match default media types in this Parser Stage |
Each parser stage has a built-in list of media types it handles by default. If this setting is true, that list will be used along with any optional additional types provided in the mediaTypes list. If this setting is false, this stage will only be selected for media types in the mediaTypes list, and the mediaTypes list becomes a mandatory property which must have at least one valid media type. type: default value: ' |
listHandling
XML List handling |
Create a single multivalued field containing all items, or a separate index-numbered field per list item? type: default value: ' enum: { multivalued index_numbered } |
maxSize
Maximum output size for each document |
Maximum number of XML characters, excluding extra whitespace, that will be processed from each source document node to produce an output document type: default value: ' |
mediaTypes
Media Types to match |
Documents with a media type on this list will be matched by this parser stage. See inheritMediaTypes / use default media types for more. type: |
outputFieldPrefix
Prefix parsed fields with |
Fields extracted by this parser will be prefixed with this string. The remainder of the field name will be as detected in the stream type: maxLength: 20 pattern: ^$|^[A-Za-z_][A-Za-z0-9_\-\.]+$ |
pathPatterns
File names to parse |
Specify a file name or pattern that must be matched for this parser stage to run. Forward slashes ("/") are used to join names of files inside archives with the archive name. type: object attributes: { } |
rootPaths
Root paths |
Read XML elements that can be found on specified XML paths and parse them into separate documents type: default value: ' |
type
required |
type: default value: ' enum: { xml } |