Skip to main content
Skip table of contents

XML Parsing Optimization

You are looking at an older version of the documentation. The latest version is found here.

Memory Usage and Streaming XML Processing

Unlike other types of data, XML processing is always done in the Java Heap and not in buffers. This is the limitation of the Java XML parsing library used by Data Virtuality. The performance and stability of the Data Virtuality Server can be adversely impacted by XML parsing, depending on the type of parsing needed. The XML library inside Data Virtuality can automatically switch between two parsing modes. The first mode is “streaming mode”, which has a low memory footprint. However, only some types of parsing (more specifically, some types of navigation within the DOM tree of an XML document) are possible in this mode. As soon as more powerful navigation and parsing capabilities are needed, the library automatically switches into a mode where entire XML documents are loaded into Java Heap space in memory. In such cases, it is important to provide enough Java Heap memory to the Data Virtuality Server to avoid low performance or Out-Of-Memory crashes. 

For a more detailed discussion on eligible (i.e. the ones which support streaming) and ineligible XML operations, please refer to our documentation on XQuery Optimization.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.