Xerces2 Changelog

What's new in Xerces2 2.10.0

Sep 3, 2010
  • add: Added experimental support for XML Schema 1.1 (refer to the documentation for a list of features supported). [Ken Cai, John Chan, Mukul Gandhi, Hiranya Jayathilaka, Khaled Noaman, Kun Xu]
  • add: Implemented enhancements to javax.xml.validation that were introduced by JAXP 1.4, including support for StAXSource/StAXResult as an input/output to the JAXP Validator, StreamResult as an output to the JAXP Validator and StAXSource as an input to the SchemaFactory. [Michael Glavassevich]
  • add: Added support for the StAX 1.0 event API (javax.xml.stream.events). [Michael Glavassevich, Lucian Holland]
  • add: Added support for the Element Traversal API (org.w3c.dom.ElementTraversal). [Michael Glavassevich]
  • add: Implemented a property for starting schema assessment from a specific element declaration and enhanced the existing property for starting schema assessment from a type definition to accept a javax.xml.namespace.QName as a value. [Michael Glavassevich]
  • add: Added a property for specifying the locale to use when reporting error and warning messages. [Michael Glavassevich]
  • add: Added support for matching multi-digit back references in regular expressions. [Khaled Noaman]
  • add: Added a method to the ItemPSVI interface in the XML Schema API to expose error messages corresponding to the error codes that were already available in the PSVI. [Michael Glavassevich]
  • add: Implemented native support for UTF-16. [Michael Glavassevich]
  • update: Improved usability of the XML Schema API by updating XSNamedMap and all of the list type interfaces to extend java.util.Map and java.util.List respectively. [Michael Glavassevich]
  • update: Improved performance by eliminating excessive calls to XMLSchemaValidator.findSchemaGrammar() when processing local elements with no namespace. [Michael Glavassevich]
  • update: Improved recovery from schema loading errors. [Sandy Gao]
  • update: Improved performance of Element.getBaseURI() when the depth of the node to the document root is longer. [Ludger Bünger]
  • update: Implemented several improvements in the DOM implementation to help the garbage collector reclaim objects which are no longer reachable by the application but were held on to strongly by the Document node. [Ludger Bünger]
  • update: Improved the messages reported for minOccurs/maxOccurs related schema validation errors. [Michael Glavassevich]
  • fix: Fixed problems with regular expression matching where the parser would hang or cause a stack overflow exception. [Khaled Noaman]
  • fix: Fixed a problem where the LSParser repeatedly overwrote a text node child of an element (rather than appending) when there are multiple text nodes in the input. [Michael Glavassevich]
  • fix: Fixed an infinite loop in XMLScanner which could allow remote attackers to launch a denial of service attack (CVE-2009-2625). [Michael Glavassevich]
  • fix: Fixed a bug in XSDateTime where getXMLGregorianCalendar() would lose precision for fractional digits and insert time-zones where there are none. [Michael Glavassevich]
  • fix: Fixed a bug in the DOM implementation where a static text Node field in AttrImpl broke thread-safety of mutations in independent documents from within an event listener. This was also a potential memory leak. [Ludger Bünger]
  • fix: Fixed a bug in the SoftReferenceSymbolTable which could cause it to get stuck in an infinite loop. [Anli Shundi]
  • fix: Fixed a bug which could cause an ArrayIndexOutOfBoundsException to be thrown when adopting a node from a deferred DOM. [Michael Glavassevich]
  • fix: Fixed various bugs and made various improvements.

New in Xerces2 2.9.1 (Aug 6, 2009)

  • Added support for creating UIEvents and MouseEvents through the DOM Level 2 Events API. [Michael Glavassevich]
  • Improved the reporting of character conversion errors. The CharConversionException which triggered the fatal error is now available from SAXException.getException(). [Michael Glavassevich]
  • Reduced the performance penalty for using an EOFException internally to signal to the scanner that the end of the document has been reached. The exception is now cached, avoiding the expensive fillInStackTrace() on creation. [Michael Glavassevich]
  • Improved the performance of the XMLGregorianCalendar implementation. [Michael Glavassevich]
  • Implemented improvements in the processing of large minOccurs/maxOccurs on element/wildcard particles which once caused OutOfMemoryErrors to occur during validation. Note that an OutOfMemoryError may still occur if the minOccurs/maxOccurs are nested or appear on a sequence or choice model group. [Michael Glavassevich]
  • Improved the algorithm for checking the Unique Particle Attribution constraint so that it no longer causes an OutOfMemoryError for content models with large maxOccurs values. Note that this only applies to the checking of schema validity. An OutOfMemoryError may still occur if the schema contains large maxOccurs and is used to validate an instance document. [Peter McCracken]
  • Completed the implementation of XML Schema erratum E2-67. [Ed Merks, Khaled Noaman]
  • Implemented XML 1.0 Third Edition erratum E13. [Michael Glavassevich]
  • Fixed bugs in the implementation of Document.normalizeDocument() where it was not correctly re-evaluating Element.schemaTypeInfo, Attr.schemaTypeInfo, IDness or the [element content whitespace] property of text nodes when validating against a DTD or XML Schema. [Michael Glavassevich]
  • Fixed a thread-safety bug which could cause an ArrayIndexOutOfBoundsException or a NullPointerException to be thrown during DTD validation if a grammar pool is shared between multiple parser instances. [Michael Glavassevich]
  • Fixed a bug in the DOMConfiguration of a Document where it was processing the "schema-location" parameter as an atomic URI value instead of a whitespace separated list of URIs. [Michael Glavassevich]
  • Fixed a bug in the XInclude implementation where the Locator would report the location of the xi:include element in the top-level document as the location of all the document events in the included document or fragment. [Michael Glavassevich]
  • Fixed a bug in the JAXP schema validator which caused it to fail with a third-party DOM Level 3 implementation whose nodes can only be tested for identity using isSameNode(). [Michael Glavassevich]
  • Fixed several bugs in the XML schema processor which were exposed by running the W3C's XML Schema 1.0 2nd Edition test suite. [Michael Glavassevich]
  • Fixed several bugs in the DOM Level 2 Traversal and Range implementation. [Michael Glavassevich]

New in Xerces2 0.9.0 (Jul 19, 2007)

  • Migrated the DOM Level 3 serialization support onto a common serialization codebase shared with Xalan and deprecated Xerces' native serializer. [Neil Delima, Michael Glavassevich]
  • Upgraded the xml-commons resolver to v1.2. This new version of the resolver adds support for OASIS XML Catalogs v1.1. [Michael Glavassevich]
  • Created a new parser configuration which uses a memory sensitive SymbolTable which can handle usage scenarios where the names in the XML documents being parsed are mostly unique. The internalized strings stored in this SymbolTable are softly reachable and may be cleared by the garbage collector in response to memory demand. [Peter McCracken]
  • Updated the schema loader so that it can now process schema documents with an XML 1.1 declaration. [Michael Glavassevich]
  • Fixed several bugs in the checking of schema type restrictions that involve substitution groups. [Lucian Holland, Ignacio Hernandez-Ros]
  • Fixed a bug in Xerces' regular expression support where patterns containing "$" and "^" were being interpreted as anchors in a schema context. [Chris Carman]
  • Fixed a bug in the XPath matcher for identity constraints which allowed steps containing NCName:* to select element or attribute names which do not match the specified namespace. [Michael Glavassevich]
  • Fixed a bug in the XPath parser for identity constraints which caused field and selector XPaths containing the non-abbreviated form of the child and attribute axes to be reported as invalid. [Michael Glavassevich]
  • Fixed a bug which allowed the JAXP SchemaFactory to mutate a user supplied DOM input. [Michael Glavassevich]
  • Fixed a bug which caused the JAXP 1.2 method for schema validation to produce DTD validation errors when XInclude processing is enabled. [Michael Glavassevich]
  • Fixed various bugs and made various improvements. [Nathan Beyer, George Cristian Bina, Michael Glavassevich, Jacob Kjome, Grant McDonald]