Xerces non validating
Processing an XML document means recognizing, extracting and directly processing the element contents and attribute values or mapping them to other business objects that are processed further on.
Before an application can apply any business logic, the following steps must take place: Parsing XML documents implies a lot of character encoding and decoding and string processing.
XML processing is very CPU, memory, and I/O or network intensive.
XML documents are text documents that need to be parsed before any meaningful application processing can be performed.
The parsing of an XML document may result either in a stream of events if the SAX API is used, or in an in-memory document model if the DOM API is used.
During parsing, a validating parser may additionally perform some validity checking of the document against a predefined schema (a Document Type Definition or an XML Schema).
Then, depending on the chosen API, recognition and extraction of content may correspond to walking through a tree data structure, or catching the events generated by the parser and processing them according to some context.
JAXP provides support for XSLT engine implementations that accept source input and result output in the form of SAX events.When building complex XML processing pipelines, one can use JAXP to process the result of another style sheet transformation with a style sheet.Working with SAX events until the last stage in the pipeline will optimize performance by avoiding the creation of in-memory data structures like DOM trees.SAX is very convenient when you want to extract information from an XML document (an element content or an attribute value) regardless of its overall context -- its position in the XML document tree, or when the document structure maps exactly to the business object structure.Otherwise, keeping track of the element nesting may be very tedious and one may better end up using DOM.