This release fixes several bugs which were present in Xerces-J 2.9.0. It also includes a few minor enhancements and performance improvements.

Added support for creating UIEvents and MouseEvents through the DOM Level 2 Events API. Improved the reporting of character conversion errors. The CharConversionException which triggered the fatal error is now available from SAXException.getException(). 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. Improved the performance of the XMLGregorianCalendar implementation. 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. 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. Completed the implementation of XML Schema erratum E2-67. Implemented XML 1.0 Third Edition erratum E13. 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. 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. 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. 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. 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(). Fixed several bugs in the XML schema processor which were exposed by running the W3C's XML Schema 1.0 2nd Edition test suite. Fixed several bugs in the DOM Level 2 Traversal and Range implementation. Fixed various bugs and made various improvements.

As of this release, Xerces and Xalan now share a common serialization codebase. The DOM Level 3 serialization support which was in Xerces was migrated into the Xalan serializer and Xerces' native serializer was deprecated. In this release we also upgraded the xml-commons resolver to v1.2 (which provides support for OASIS XML Catalogs v1.1), introduced a few minor features and fixed several bugs.

Migrated the DOM Level 3 serialization support onto a common serialization codebase shared with Xalan and deprecated Xerces' native serializer. Upgraded the xml-commons resolver to v1.2. This new version of the resolver adds support for OASIS XML Catalogs v1.1. 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. Updated the schema loader so that it can now process schema documents with an XML 1.1 declaration. Fixed several bugs in the checking of schema type restrictions that involve substitution groups. Fixed a bug in Xerces' regular expression support where patterns containing "$" and "^" were being interpreted as anchors in a schema context. 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. 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. Fixed a bug which allowed the JAXP SchemaFactory to mutate a user supplied DOM input. Fixed a bug which caused the JAXP 1.2 method for schema validation to produce DTD validation errors when XInclude processing is enabled. Fixed various bugs and made various improvements.

This release fixes several bugs which were present in Xerces-J 2.8.0. It also includes a few minor enhancements and performance improvements.

Implemented native support for the ISO-8859-1 encoding. Added a method to XSModel which returns a list containing the members of the substitution group for a given element declaration. Improved the performance of Xerces' optimized readers (for small documents) by recycling their byte buffers. Modified the DocumentBuilder and LSParser implementations so that they drop their internal references to the DOM they just built. If an application is pooling parsers this will allow the garbage collector to reclaim the Document and all of its nodes if the application no longer has any references to it. Fixed numerous schema annotation related bugs including those introduced in Xerces-J 2.8.0 which caused NPEs to be thrown from several of the getAnnotation() methods in the XML Schema API. Fixed a DOM bug which caused the internal subset of a DocumentType node to be omitted from a cloned Document. Fixed a bug in Xerces' regular expression support involving patterns starting with '.'. Fixed a bug which caused the DOM builder to drop all of the text in the document if grammar caching is enabled and the document being processed contains both an internal and an external DTD subset. Fixed a schema bug which allowed defaulted attributes with the same local name to overwrite each other. Fixed a bug which caused a schema document to be loaded multiple times if it was both included and redefined. This made it possible for the redefined components to be incorrectly overwritten by the original ones from the include. Fixed a bug in Xerces' native serializer which caused documents containing supplemental characters in attribute values to be written incorrectly. Fixed a bug in the XInclude processor which in some instances caused content to be omitted from the result if an element() XPointer is specified on an include element. Fixed various bugs and made various improvements.

This release introduces several new validation related features and provides enhancements to the XML schema annotation support. All of the schema component interfaces in the XML Schema API now have a getAnnotations() method which returns a list of XSAnnotations. This includes annotations on particles and attribute uses which were previously "lost". In addition, in this release we implemented support for pretty-printing in the LSSerializer, repaired the warn-on-undeclared-elemdef feature which had been broken for several releases and fixed many other bugs.

Added a getAnnotations() method to each of the component interfaces in the XML Schema API (including XSParticle and XSAttributeUse) and implemented the support for the new methods. Implemented a property for starting schema assessment from a specific type definition. Implemented features for disabling ID/IDREF, unparsed entity and identity constraint checking. Implemented a feature which instructs the schema validator to ignore xsi:type attributes until a global element declaration has been found. Modified the JAXP Validation API implementation so that it propagates features set on the SchemaFactory to the Schemas created from the factory and in turn ValidatorHandlers and Validators constructed from those Schema objects (as clarified by JAXP 1.4). Implemented the DOM Level 3 Load and Save format-pretty-print parameter. Fixed the warn-on-undeclared-elemdef feature which had been broken for many releases. Implemented a feature which allows the parser to process DTDs containing large content models which under normal operation may cause a StackOverflowError to occur. Improved the performance and memory usage of XSAnnotation.writeAnnotation(). Implemented XML Schema erratum E2-66. Fixed bugs in the implementation of Document.normalizeDocument() which caused DTD validation to fail in numerous scenarios. Fixed a bug where schema validation performed in Document.normalizeDocument() was adding default attributes without setting their owner element or firing mutation events. Fixed a bug which caused the JAXP 1.2 method for schema validation to fail when the parser is reused. Fixed a bug which caused a ClassCastException to be thrown when adopting a node from a deferred DOM into a non-deferred DOM. Fixed the dtdjars build target which had been broken for several releases. Improved identity constraint error messages. Fixed various bugs and made various improvements.

This release fixes one XInclude bug and several schema related bugs which were present in Xerces-J 2.7.0.

Fixed an inconsistency in the validation behaviour of the parser when XInclude processing is enabled and the validation and schema validation features are also enabled. Fixed a bug where in a DOM Level 3 context with schema validation enabled, not all schema constraints (such as unique particle attribution) were being checked. Fixed bugs which allowed various invalid lexical values to be accepted by the schema validator for the following types: double, date, float, gDay, gMonthDay, gMonth and gYearMonth. Fixed a schema bug where errors would be reported for comments and processing instructions which appear as the children of an element declared to have empty content. Fixed a bug which caused an NPE to be thrown for a namespace declaration such as xmlns="" which appeared on an ancestor element of an <annotation>.

This release provides a complete implementation of the parser related portions of JAXP 1.3 and also brings Xerces into compliance with SAX 2.0.2, the DOM Level 3 Core and Load/Save W3C Recommendations, the XML Inclusions (XInclude) Version 1.0 W3C Recommendation and the XML Schema 1.0 Structures and Datatypes Second Edition W3C Recommendations.

&ParserName; 2.7.0 incorporates two minor changes to the Xerces Native Interface (documented below). A new package org.apache.xerces.xs.datatypes has been added to Xerces' XML Schema API that provides a full schema datatype to object mapping. In addition, in this release we introduced many new parser features, improved parser performance in several areas and fixed many bugs.

Implemented the following packages defined by JAXP 1.3: javax.xml.datatype, javax.xml.parsers and javax.xml.validation. Defined and implemented interfaces (org.apache.xerces.xs.datatypes) for accessing actual values. Implemented a feature that instructs the schema processor to use all schema location hints for a given target namespace when locating components. Implemented partial experimental support for the first working draft of XML Schema 1.1 Structures and Datatypes. Implemented features for configuring whether the XInclude processor performs base URI fixup and/or language fixup. Implemented the XInclude Recommendation (December 2004). Fixed a bug which caused the DTD validator to be activated when using the XInclude processor with schema validation turned on. Modified the XNI XMLLocator interface to include getCharacterOffset and getXMLVersion. Added a getCharacterOffset method to XMLParseException. Made various modifications to support the reporting of character offsets in XNI and DOM. Implemented SAX 2.0.2 and SAX2 Extensions 1.1. Fixed SAX conformance bugs including one concerning skipped entities. Implemented a feature that allows schema annotations to be validated. Added support for generating synthetic annotations when a schema component has non-schema attributes but no child annotation. Fixed numerous schema related bugs. Reimplemented Text.replaceWholeText and TypeInfo.isDerivedFrom according to the DOM Level 3 Core Recommendation. Fixed various DOM Level 3 bugs. Fixed numerous bugs in the DOM Level 2 Events and Traversal and Range implementation. Created two new parser configurations that support XML 1.1. Improved the performance of the SymbolTable, processing of attribute values and parsing of relative URIs. Added support for EntityResolver2 and LSResourceResolver to XMLCatalogResolver. Fixed a potential memory leak in the ObjectFactory classes which in some circumstances allowed input streams to never be closed. Fixed a thread-safety bug concerning identity constraints which caused spurious errors about duplicate field matches to be reported. Fixed various bugs.
This release fixes several bugs which were present in Xerces-J 2.6.1. It also provides a few minor performance improvements. Fixed a bug in the specification of the XML Schema API. Some of the method signatures did not match the signatures in the implementation. Fixed a bug introduced in 2.6.1 which caused the XMLSerializer to automatically expand entity references and convert CDATA sections to text. Fixed a possible security hole regarding class loading. Improved class initialization for the XMLChar and XML11Char classes to reduce the cost of loading Xerces. Fixed a SAX conformance bug involving spurious prefix mapping events with namespace support turned off. Made message localization changes. Fixed schema related bugs. Fixed various bugs. This release provides support for OASIS XML Catalogs and includes several bug fixes for XML 1.1, XML Schema and DOM Level 3 Core and Load/Save. It also contains several performance improvements and includes an update for the latest working draft of XInclude. This is the last release to support JDK 1.1. Added support for XML Catalogs. Implemented some remaining XML Schema errata and fixed several schema related bugs. Fixed various DOM Level 3 bugs. Implemented well-formedness checking for LSSerializer (DOM Level 3). Modified the XJavac task used by the build file so that Xerces can be built on Mac OS X with Apple JDK 1.4. Fixed possible security hole: the features and properties set on the parser were not propagated to the XMLSchemaLoader. Implemented the latest XInclude draft, excluding support for XPointer. Implemented missing support for supplemental characters in XML 1.1 names. Fixed a bug which caused the parser to overwrite some of the user's configuration with default values when namespace support was disabled. Implemented various performance improvements. Fixed various bugs. This release provides an implementation of W3C DOM Level 3 Core and Load/Save Candidate Recommendations and also brings Xerces into compliance with the most recent work of the W3C XML Core working group (XML 1.1, Namespace in XML 1.1, XML 1.0 3rd edition, XInclude). In addition, in this release we improved parser performance in several areas and fixed many bugs. Improved the scanning of attribute lists, both small and large. Reimplemented XML11Configuration (the default configuration), improving performance during reset; accomplished primarily by adding an internal feature which allows components to query whether or not they need to read features and properties from the configuration. Modified XML Schema interfaces (org.apache.xerces.xs) and updated the implementation accordingly. Methods were added to expose actual values and their types and new interfaces were added for loading XSModels. In addition, fixed various bugs in the implementation and PSVIWriter sample. Implemented the DOM Level 3 Core and Load and Save Candidate Recommendations. Added support for the 'well-formed' feature in DOM Level 3 Core. Added XML 1.1 support to DOM Level 3. Fixed the serializer so that TAB (0x9), LF (0xA), CR (0xD), NEL (0x85) and LSEP (0x2028) are escaped where appropriate in order to allow these characters to be roundtripped. Implemented experimental support for the XML 1.1 PR. This still excludes section 2.13. Fixed a bug which could cause the parser to run out of memory (or other resources) while parsing documents containing many entity references. Implemented missing support for Registry-based Naming Authority in the URI implementation. Modified the XJavac task used by the build file so that Xerces can be built on Linux with Blackdown JDK 1.4. Removed static references to sun.io.CharToByteConverter which made it impossible to compile Xerces on platforms that do not have this internal class. With binaries on such platforms, the serializer was unusable with many encodings. Added support for XML Base to the XInclude implementation. Fixed various bugs regarding text inclusion and relative URI resolution in the XInclude implementation. Implemented errata from the XML 1.0 Second Edition Specification. Moved Xerces' SAX support up to SAX 2.0.1. Fixed bugs in the XML 1.1 entity scanner that in some cases treated NEL (0x85) and LSEP (0x2028) as white space characters in internal entities, and not as end of line characters in external entities. Fixed bug in HTML DOM implementation that would cause a hierarchy request error by trying to move a doctype node to be a child of the <html> element. Fixed various bugs. This release provides a partial implementation of W3C XInclude specification as well as adds annotation support for the XML Schema component API. In addition to fixing many bugs, this release also brings Xerces into compliance with the most recent work of the W3C DOM working group on DOM level 3 Core and Load/Save, and includes additional fixes related to the XML 1.1 specification. Fixed an ArrayIndexOutOfBoundsException in the scanner caused by some invalid character references. Fixed various bugs related to XML 1.1. Fixed various bugs in the URI implementation, and added previously missing support for IPv6 addresses. Fixed performance issue for attributes with large value field. Implemented the latest DOM Level 3 Core and Load and Save drafts in Last Call. Added annotation support to the XML Schema component model API implementation. Modified the PSVI API to allow exposing facets as objects. Added preliminary XInclude implementation, excluding support for XPointer and XML Base specifications. Modified PSVIWriter to output all PSVI information. Changed it to output to an XNI event stream rather than a file. Modified error messages for Schema validation. Fixed various bugs. This release incorporates two minor changes to the Xerces Native Interface. In addition to fixing many bugs, this release also brings Xerces into compliance with the most recent work of the W3C DOM working group on DOM level 3 Core and Load/Save, and includes additional fixes based on the XML Schema errata. Also in this release, XML 1.1. is supported by default. Modified XNI XMLResourceIdentifier to include set/getNamespace. Added getEncoding method to the XNI XMLLocator interface. Fixed scanner implementation to be able to handle large CDATA sections without buffering. Made internal class loading strategy a bit more friendly in environments which need to provide classloaders to do things like manage multiple versions of Xerces. Improved robustness of build shell script under the Cygwin environment. Fixed null pointer exception in DTDConfiguration caused when no DTD handlers are registered. Fixed various bugs related to <redefine> in XML Schema traversal. Fixed various bugs related to the pattern facet (regular expression) in XML Schema. Implemented the latest DOM Level 3 Core and Load and Save drafts. Improved performance of XML11Configuration and made it the default configuration. Added support for ordering disconnected nodes (DOM Level 3 compareDocumentPosition) In anticipation of the DOM Level 3 Events specification, fix Xerces Events implementation to call event listeners in the order in which they were registered Implemented XML Schema errata as they were published. Fixed a bug related the external-schemaLocation property. Fixed various bugs. With this release, the Xerces-J developers are declaring the Xerces Native Interface (XNI) core and parsers packages to be gold. This release also brings Xerces into compliance with the most recent work of the W3C DOM working group on DOM level 3 Core and Load/Save, and introduces many fixes to bring Xerces's behaviour into line with XML Schema errata. Support for the parsing of documents written according to the XML 1.1 candidate recommendation has also been completed, except that no option for verifying that documents are normalized has yet been implemented. Finally, Xerces now provides means by which applications can force the parser to reject certain kinds of documents the processing of which could result in a denial-of-service attack. Modified XMLLocator interface to remove setter methods for move towards finalizing XNI; this change also implied removing XMLLocator's dependence upon XMLResourceIdentifier. Implemented several DOM Level 3 features, including DOMConfiguration, exposing type information via DOM, and allowing to set an ID attribute in the DOM. Modified support for DOM L3 compareDocumentPosition (formerly compareTreePosition). Modified several XNI interfaces, i.e. NamespaceContext, XMLResourceIdentifier, Augmentation, XMLAttributes, and updated implementation accordingly. Modified PSVI interfaces (org.apache.xerces.impl.xs.psvi) and updated implementation accordingly. Modified XMLDTDHandler, XMLDTDSource, XMLDTDContentModelHandler and XMLDTDContentModelSource to make these pipelines doubly-linked, as was done in the last release for the main document pipeline. Completed experimental support for XML 1.1 and XML Namespaces 1.1 CR's, except for XML 1.1 section 2.13. Provided a mechanism by which applications can instruct the parser to abort the parsing of documents containing constructs that could swamp system resources. Added a feature "disallow-doctype-decl" so that a fatal error is reported if this feature is on and the incoming document has a DOCTYPE. Added a feature "standard-uri-conformant" so that the parser enforces the URI rules when this feature is on. Performance update: ported the partial DTM implementation of DOM and use it for parsing Schema documents. Provided full support for canonical representation of XML Schema datatypes. Implemented XML Schema errata as they were published. Fix comment parsing bug that prevented Tomcat 4.1.12 from making use of Xerces versions later than 2.1.0. This release fixes four important bugs and several minor problems that were present in Xerces-J 2.2.0. Fixed SAX endElement call so that the element's namespace URI is returned. Fixed HTML DOM implementation so that it can be instantiated. Made the external-schema-location property work again. Enabled Xerces to validate the schema for schemas. As well as incorporating two changes to the Xerces Native Interface, this release focuses on performance improvements and bug fixes. Modified XMLComponent interface so that components used in a parser configuration can specify preferred default values for settings. Also updated all classes that implement the XMLComponent interface. Modified XNI XMLDocumentHandler interface so that NamespaceContext objects are passed on the startDocument call. This makes the start/endPrefixMapping calls redundant; they have been deprecated. Fixed many conformance bugs and enhanced the parser's performance in many situations. As well as some relatively minor changes to XNI, this release includes many bugfixes and performance improvements. Added xni.XMLDocumentHandler.setDocumentSource/getDocumentSource and XMLDocumentSource.getDocumentHandler methods to allow to modify Xerces pipeline dynamically. Store PSVI in DOM tree: when the new DOM document is used, element/attribute nodes can be casted to Element/AttributePSVI interfaces to retrieve PSVI properties. Provide access to PSVI via SAX using org.apache.xerces.impl.xs.psvi.PSVIProvider interface. Provided a way to convert preparsed schema grammars to XSModels. Message localization changes. Send all element PSVI properties on endElement calls, so that the application doesn't need to stack them when startElement is called. Made it possible to build a Schema Datatype jar file. Now it can be used as a standalone data type library. Performance update: avoid using exceptions to determine whether an array needs to be resized. Performance update: avoid adding the commonly used XML symbols to the symbol table again and again. Performance update: improve scanning speed by skipping end tag names and using proper input buffer size. Applied fixes to Xerces's regular expression support to address a number of bugs reported by users. Provide implementation for DOM Level 3 DOMBuilderFilter and DOMWriterFilter. Applied fixes to JAXP, SAX and internal object factory code so that it behaves correctly in environments where AccessControllers are being used. These fixes make it no longer possible to compile Xerces under JDK 1.1.8. Reorganize the code again to allow to build Xerces with DOM Level 3 support and modifying the build.xml to replace import statements in the source code. Changed various parts of Xerces's implementation so that it is now statically immutable. Reorganized identity constraint support to improve both conformance and performance. General bug fixes. In this release, numerous bugs have been fixed. Only one minor change in the Xerces Native Interface is included (documented below); considerable new functionality has also been added in terms of PSVI support, DOM level 3, and grammar preparsing/caching. Schema Component API interfaces and implementation; full PSVI support. Add XMLResourceIdentifier to startExternalSubset() method defined in XNI XMLDTDHandler. That allows supporting baseURI for an external subset. Add implementation for baseURI, documentURI, normalizeDocument and required normalize document features. Added support for DOM revalidation against XML Schemas. [DOM Level 3] Added implementation for compareTreePosition method of DOM L3. Added XMLGrammarLoader interface to the xni.grammars package; refactor DTD and Schema validation code to create classes implementing this interface; created a convenience class (XMLGrammarPreparser) that uses the new grammar loaders to permit grammar preparsing; wrote a sample (xni.XMLGrammarBuilder) that demonstrates how all this works. Reorganized the code in Xerces DOM implementation to expose DOM Level 3 functionality via org.w3c.dom package. Added several build targets for building customized xerces jar files that include DOM Level 3 Core and Load/Save interfaces and implementation of those interfaces: jars-dom3, apijar-dom3, sampjar-dom3. Updated xni.DocumentTracer sample to print augmentations for events. This makes it easier to debug configurations that augment the document's infoset. Removed dependence on SAX attribute interfaces from XMLAttributesImpl utility class. The AbstractSAXParser already defines a SAX attribute proxy class so that the parser and components can be properly layered. Moved from the org.xml.sax.helpers.AttributesImpl shipped with SAX 2.0 to that shipping in 2.0.1. This solves problems encountered with creating empty attribute lists. Improved handling of settings in parser classes making it easier to re-use the parsers with other parser configurations. Previously, the parser instances assumed that all configurations supported various settings (i.e. the parser would set default values without first adding the recognized features and property identifiers to the parser configuration). Fixed bug in HTML DOM implementation that was causing xerces.dom element nodes to be created instead of the appropriate HTML element nodes. Fixed bug to avoid null pointer exception in AbstractDOMParser when locator information is not available from parser configuration. Fixed bug in WrappedInput/OutputStream classes reported by Morten Bjørhus. The DTD validator failed to report "undeclared element" error if an attribute was declared for an undeclared element. Performance fixes: replaced code that increases array sizes by catching ArrayIndexOutOfBoundsExceptions with code that checks the sizes of the relevant arrays. Also streamlined several method calls in the DTD Grammar classes to account for the fact that scope is not relevant for this type of grammar. Finally, improved algorithm for recognizing entities and notations. Compress jars by default. We have not done so in the past, and it will be useful to see if this proves problematic or beneficial. Added several build targets for building customized xercesImpl jar files. Now we can build a DTD-only version, and a DTD-only version also excluding support for the HTML/WML DOM. Parser now reads external entities one chunk at a time, rather than a character at a time; this increases performance dramatically in certain circumstances. This fix also allows a number of EBCDIC encodings to work which did not work previously. Performance enhancement: implemented DOM node and declaration pools that reduce number of objects created during building of XML Schema grammars. Improved performance for non-deferred DOM: reduced number of concatenations for characters (bug #5602) According to the namespace spec errata, namespace declaration attributes should be bound to a special namespace; and errors should be reported on illegal bindings of "xmlns" and "xml" prefixes and their namespaces. Refined schema error messages: provide more descriptive error messages for simple type validation errors; avoid cascading errors when a grammar for a given namespace is not found, or when components from a certain namespace can't be accessed from a given schema document. Changed the lexical representation of gMonth from "--MM--" to "--MM". Decimal point shouldn't be allowed in integer-derived types; "fractionDigits" and "totalDigits" should be calculated on the value space. Fixed several DOM bugs. Xerces now passes W3C DOM Level 1 Core test suite. Improved management of ID attributes in the DOM so that Document.getElementByID is more reliable. Applied patch from Scott Sanders to fix Java serialization of the DOM and add a test. Applied patch from Henry Zongaro to fix a ClassCastException in the deferred DOM. Applied patch from Fabio Riccardi to reset normalize value in the PSVI. Applied patch from Joe Kesselman that fixes NPE in a NodeIterator (bug #6888). This release fixes a number of bugs. Fixed and closed bugs filed in Bugzilla. Added the support of reporting line/column numbers of schema errors. When creating DOM nodes, use Strings we already have, instead of creating new ones. Updated DTD datatypes to use the new datatype interfaces. Fixed an entity resolution bug: we passed null as the system ID to the entity resolver. Fixed a bug in the handling of URI's containing "../../". Fixed a thread-safety bug in schema simple type implementation. The implementation class should be stateless after construction. Fixed bugs in namespace algorithm for serialization. Fixed a bug in deferred DOM for CDATA nodes. Enabled processing of base 64-encoded material on OS/390. Modified XNI grammar interfaces such that Grammars now have an associated XMLGrammarDescription and XMLGrammarDescriptions record the type of the grammar. Fixed a bug related to Signature of call back attributeDecl in XNI samples. Fixed a bug related to feature prefix in AbstractDOMParser. Added the support for defer loading of schema grammars, grammar is parsed only when there is reference to any schema component from that namespace. JAXP 1.2 schemaSource property, if the String given is relative URI, now it is resolved against the instance document being parsed. Fixed a bug related to SchemaNormalizedValue to expose it only when validation attempted is full. This is the first production-quality release of the Xerces2 Java XML parser. We are confident that it also marks the stabilization of the XNI API, although changes in XNI are still possible. As well as these XNI improvements and extensions, a host of bugs and limitations that existed in Xerces 2.0.0beta4 have been fixed in this release. Implemented support for UCS-4 and UCS-2 encodings. Added ability to override default parser configuration. Implemented DOM Level 3 isEqualNode() method Implemented namespace fixup during serialization of DOM tree. Added implementation for new Xerces features validation/schema/normalized-value and validation/schema/element-default Implemented current-element-node property Added internal subset string to DOM. Added support for warn-on-duplicate-attdef xerces feature validation/warn-on-duplicate-attdef Added an interface, XMLResourceIdentifier, for describing the physical location of XML resources (external entities, schemas etc.) for use in grammar caching and entity resolution. Updated XMLEntityResolver, XMLLocator, XMLDocumentHandler, XMLDocumentFragmentHandler, and XMLDTDHandler to use this new interface consistently instead of unwieldy lists of Strings in various callbacks. Updated Xerces Native Interface to add augmentations to document fragment handler, DTD handler, and the DTD content model handler interfaces. Additional methods were also renamed and/or modified. Updated Xerces Native Interface to add methods to Augmentations, XMLAttributes, and modify PSVI interfaces. Cleaned up separation between DOMParser and DeferredDOM by moving part of the code from createDeferredElement back into the parser, this has several benefits including to only have to walk the list of attributes once Provided support for fundamental facets in DV implementation Moved schema simple type error messages to the property file to enable localization. Fixed various bugs related to the dependency between schema documents. Modified URI resolution strategy so that Windows network paths are recognized. Fixed various bugs related to schema components traversal and validation. Fixed a bug in the ui.DOMParserSaveEncoding sample. Modified XMLDTDScanner to synchronize start/end entity calls. Fixed XMLDocumentScannerImpl so it always checks settings for load-external-dtd feature. Modified implementation of setDocumentHandler(): now user can change document handler during the parse. Fixed DOM L2 bugs: synchronization for entity reference nodes, cloning of attribute node, report of event phases. Fixed a bug in XMLDocumentFragmentScannerImpl occurring when a ] is encountered at the end of an entity. Fixed misc. SAX bugs. Fixed JAXP implementation of schemaLanguage property. Massive Javadoc fixes. Fixed external-schemaLocation and external-noNamespaceSchemalocation properties related bug (# 5768) Fixed namespaces and namespace-prefixes related SAX bug. Corrected features documentation for string-interning feature. Fixed the bug in which duplicate attribute definitions were not ignored and error was reported for ID datatype and Notation. Fixed the bug where 'locale' value was not set for StandardParserConfiguration. This release fixes a number of bugs, introduces more changes to the Xerces Native Interface, provides partial experimental DOM Level 3 implementation, and includes full XML Schema support. Implemented schema particle derivation restriction checking Added checking for schema constraint cos-element-consistent resolved misc. SAX2 bugs Added implementation of DOMInputSource, DOMError, DOMLocator and wrappers for entity resolver and error handler (DOM Level 3). Added implementation of DOMWriter, DocumentLS, DOMImplementationLS and new features support for save and load: create-cdata-nodes, split-cdata-sections (DOM Level 3). Added implementation of DOMBuilder, DOMASBuilder and partial implementation of ASModel. Add support for a new feature "include-comments" (DOM Level 3). Added Augmentations interface to core XNI interfaces and PSVI interfaces as an extension to XNI (unstable). Added DOM Level 3 interfaces to xerces.dom3 package. Modified samples accordingly. Implemented split of xerces.jar file into an API-only jar file (xmlParserAPIs.jar) and a jar file containing only the API implementation (xercesImpl.jar). Modified XNI document handler interface to include Augmentations as an extra parameter on each parser event. Modified XMLAttributes interface to include getter methods for augmentations. Implemented PSVI support in Xerces and added PSVIWriter, PSVIParser and PSVIConfiguration sample files. Added "external-schemaLocation" and "external-noNamespaceSchemaLocation" properties. New schema simple type interface and implementation. It fixes various bugs in the old implementation, and provides enough information for PSVI support. Internalize all symbols in SymbolTable using java.lang.String#intern(). Now applications can compare the symbols by reference. Added "schema-full-checking" feature, and implemented "Unique Particle Attribution" constraint. Changed the default configuration to standard parser configuration (that does not include XML Schema validator), modified how and when the pipeline is constructed. Changed XML Schema validation behavior back to validate only if the http://xml.org/sax/features/validation feature is true. Note: XML Schema validation is off by default. Added constructor to new DTDXSParserConfiguration so it can share settings from a parent configuration. The parser no longer wraps RuntimeException with XNIException in the parse method. Fixed cloneNode() for Entity, EntityReference and DocumentType. Fixed importNode() of EntityReference nodes which mistakenly carried the old value. Fixed handling EntityReference node subtrees that left the node empty in non deferred DOM. Added missing default attribute values in the DOM and fixed double entity value bug in deferred DOM. Fixed getElementById() in the DOMParser. Bound namespace attributes to http://www.w3.org/2000/xmlns/ (DOM only). Various documentation fixes. Added more DOM Level 3 interfaces to xerces.dom3 package. Implemented DOMImplementationRegistry (DOMImplementationSource really), Node.set/getTextContent(), Node.isSameNode(), Node.getInterface(), Node.set/getUserData(). Extended dom.mem.Test to test these additions. Added ASBuilder sample to the DOM samples package to show how to use the new DOM level 3 ASBuilder interface to implement a form of grammar caching. Enabled the parser to process documents encoded in EBCDIC and UTF-16. This release fixes a number of bugs, introduces some changes to the Xerces Native Interface, and is the first Xerces2 release to include XML Schema validation support. Please note that the XML Schema validation code was completely rewritten for Xerces2 and should be considered alpha at this time. Redesigned and rewrote XML Schema validation code. Also updated standard parser configuration to include the XML Schema validator in the document pipeline by default. Added new default parser configuration that includes DTD and XML Schema validators (DTDXSParserConfiguration). Implemented dynamic validation for both validators. Synched up javax.xml.parsers package with latest code from xml-commons module and various bug fixes. DOM/ DOMParser bug fixes. Fixed newline normalization bug. Previously, the sequence #x0A #x0D was being converted to #x0A instead of #x0A #x0A per section 2.11 of the XML 1.0 specification. Thanks to Aleksander Slominski for the bug report. Added getter methods to XMLParserConfiguration interface and added filter interfaces for components that consume and produce document and DTD information. Fixed DTD scanner from reporting entity boundaries appearing inside of markup declarations. Entity boundaries appearing in the content model of an element declaration is still reported, though. Simplified XMLAttributes interface by removing the methods related to entities appearing in attribute values. Changed the XMLDTDHandler defined in XNI to add a non-normalized value parameter to the internal element declaration callback. Also implemented the non-normalized value for attribute values. Fixed bug in entity manager that would never resolve IANA encoding names to Java encoding names properly. (Bug #3449) Fixed bug in SAX parser that was not forwarding external entity declarations in the DTD. (Bug #3392) Separated the XMLDocumentScannerImpl class so that it derives from XMLDocumentFragmentScannerImpl which enables an application to parse document fragments. Ported the deferred DOM implementation from the Xerces 1.x codebase. This is primarily a bug fix release. However, a new XNI interface and additional documentation have been added. Fixed bug for when namespace bindings were added as default attributes from the DTD. Fixed Xerces2 standard components to properly recognize and use the features and properties that they are documented to accept. Added documentation to the XNI Manual for re-using the Xerces2 parser components. Moved Xerces 1.x to "xerces_j_1" branch and moved Xerces2 to the main trunk of the "xml-xerces" module. Improved ability of document and DTD scanners to perform pull parsing. Fixed bug where namespace binder would turn an emptyElement callback into startElement and endElement callbacks. Updated standard parser configuration to separate DTD validation and namespace binding in the parsing pipeline. Removed old XML Schema code that was not being used. This code is intended to be replaced by either a port of the Xerces 1.x XML Schema implementation or by a re-designed, re-implemented XML Schema implementation. Fixed bug in scanner that allowed the built-in entity references to be sent via XNI. The default value for this feature should have been false. Fixed several SAX bugs. Synchronized DOM implementation code from Xerces 1.x codebase. First beta release of the Xerces2 code. Besides numerous bug fixes, this release has changes and additions to XNI. The new XNI parser configuration framework has been added in this release. Refer to the XNI Manual for complete information. Added document and DTD scanner interfaces to XNI to allow parser configuration pipelines to be constructed generically. Fixed bug in DTD grammar for mixed content models that was building the wrong validation content model. Removed SAX dependency from XNI framework. Now the only dependence on external API such as SAX is in the implementation of the AbstractSAXParser and DOMParser so that legacy code doesn't break. Rewrote existing documentation, added XNI information, cleaned up stylesheets, and converted some docs to use custom DTDs. DTD method ordering problem for INCLUDE/IGNORE sections. Improved DFA build-time performance. Synchronized with Xerces 1.3.0 Initial alpha release of Xerces2 code.