Class XmlStreamSplitter
- All Implemented Interfaces:
Configurable<XmlStreamSplitterConfig>,ConfigurableDocHandler<XmlStreamSplitterConfig>,DocHandler
Splits XML document on a specific element.
This class is suited for large XML documents. It will read the XML as a
stream and split as it is read, preserving memory during parsing.
For this reason, element matching is not as flexible as DOM-based XML
parsers, such as DomSplitter, but is more efficient on large
documents.
Element matching
To identify the element to split on, you give the full path to it from the document root, where each element is separated by a forward slash. Let's take this XML as an example:
<animals>
<species name="mouse">
<animal>
<name>Itchy</name>
<race>cartoon</race>
</animal>
</species>
<species name="cat">
<animal>
<name>Scratchy</name>
<race>cartoon</race>
</animal>
</species>
</animals>
To split on <animal>, you would use this path:
/animals/species/animal
Should be used as a pre-parse handler.
Content-types
By default, this filter is restricted to (applies only to) documents matching
the restrictions returned by
CommonRestrictions.xmlContentTypes(String).
You can specify your own restrictions to further narrow, or loosen what
documents this splitter applies to.
- See Also:
-
Field Summary
Fields inherited from interface com.norconex.commons.lang.config.Configurable
PROPERTYFields inherited from interface com.norconex.importer.handler.DocHandler
NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleaninthashCode()voidsplit(DocHandlerContext docCtx) toString()Methods inherited from class com.norconex.importer.handler.splitter.AbstractDocumentSplitter
handleMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.norconex.importer.handler.DocHandler
close, init
-
Constructor Details
-
XmlStreamSplitter
public XmlStreamSplitter()
-
-
Method Details
-
split
- Specified by:
splitin classAbstractDocumentSplitter<XmlStreamSplitterConfig>- Throws:
IOException
-
getConfiguration
-
equals
- Overrides:
equalsin classAbstractDocumentSplitter<XmlStreamSplitterConfig>
-
canEqual
- Overrides:
canEqualin classAbstractDocumentSplitter<XmlStreamSplitterConfig>
-
hashCode
public int hashCode()- Overrides:
hashCodein classAbstractDocumentSplitter<XmlStreamSplitterConfig>
-
toString
- Overrides:
toStringin classAbstractDocumentSplitter<XmlStreamSplitterConfig>
-