http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Xerces Project

Overview
Charter
Release Info
Download

Xerces-C++ 3.1.0
Installation
Build Instructions

Programming
Samples
FAQs

API Reference
DOM C++ Binding
Migration Guide

Xerces-C++ 2.8.0
Installation
Build Instructions

Programming
Samples
FAQs

API Reference
DOM C++ Binding
Migration Guide

Feedback
Bug-Reporting
Mailing Lists

Source Repository
Applications

Releases Plan
 

For future release plan about Xerces-C++, please refer to Releases Plan.


Releases Archive
 

For information about earlier Xerces-C++ release, refer to the Releases Archive.


Release Information for Xerces-C++ 3.1.0
 

The following new features and bug fixes have been implemented in Xerces-C++ 3.1.0:

Date  Contributor  Description 
2010-01-26  Boris Kolpackov  Remove the "experimental" marker from the loadGrammar API. 
2010-01-20  John Snelson  Fix an infinite loop bug in XML 1.1 NCName parsing. 
2010-01-20  Boris Kolpackov  Get rid of warnings uncovered with g++ -W -Wall. 
2009-11-24  Boris Kolpackov  Don't call u_init in ICU 3.6 and later. 
2009-11-23  Boris Kolpackov  Store the anonymous type count in the SchemaGrammar object. 
2009-11-23  Boris Kolpackov  Save the scope count to the grammar object in case we will be adding to this schema (multi-import case). 
2009-11-23  Boris Kolpackov  Mark schema DOM representation as unavailable after the call to TraverseSchema. 
2009-11-23  Alberto Massari  Don't use intrinsics in VS.NET 2003 since they are not available. 
2009-11-23  Boris Kolpackov  Redo libcurl check to avoid liking to the library when we don't use it. Also update the make pretty-printing code. 
2009-11-20  Boris Kolpackov  Fix a bug in the new LocalFileFormatTarget buffering implementation. 
2009-11-20  Boris Kolpackov  Clear the cached GrammarInfo list when calling resedCachedGrammarPool. 
2009-11-20  Boris Kolpackov  Limit the buffer growth in LocalFileFormatTarget to 64Kb. Optimize MemBufFormatTarget. 
2009-11-20  Boris Kolpackov  Make sure that imported schemas, as well as those loaded with loadGrammar or via the schemaLocation attributes get taken into account when we decide whether the schema in question has already been loaded. 
2009-11-19  Boris Kolpackov  Implement loading of multiple schemas with the same namespace in loadGrammar() when multi-import is enabled. 
2009-11-19  Boris Kolpackov  Extend multi-import support to schemas provided with the schemaLocation attributes (XERCESC-1659). 
2009-11-18  Boris Kolpackov  Try to switch to the XML Schema mode if we see xsi:type or xsi:nill (XERCESC-1263). 
2009-11-18  Boris Kolpackov  Provide a more descriptive error message for empty date-time type values (XERCESC-1703). 
2009-11-18  Boris Kolpackov  Skip the character that we just unescaped when searching for the next percent sign (XERCESC-1826). 
2009-11-18  Boris Kolpackov  Recognize a register-based authority in URI (XERCESC-1748, XERCESC-1747). 
2009-11-18  Boris Kolpackov  Commit a partial fix for XERCESC-1866 by David Bertoni. 
2009-11-18  Boris Kolpackov  Load schemas specified with the external schema location properties even if the load-schema property is set to false (XERCESC-1713). 
2009-11-17  Boris Kolpackov  Catch and ignore exceptions in destructors (XERCESC-1898). 
2009-11-13  John Snelson  Fixed DOMDocumentImpl::importNode() to copy the prefix of element and attribute nodes. 
2009-11-13  Alberto Massari  Add a variant to test for XERCESC-1893. 
2009-11-13  Boris Kolpackov  Call getDatatypeValidator before checking whether the schema has been imported. 
2009-11-12  Boris Kolpackov  Rework the way we search for and detect the ICU and libcurl libraries (XERCESC-1892). 
2009-11-11  Boris Kolpackov  Rework the binToText implementation and usage so that we don't need the XERCES_SIZEOF_* macros. This should allow using the same set of headers for 32 and 64-bit builds (XERCESC-1874). 
2009-11-11  Boris Kolpackov  Fix ICU message loader makefile to handle dist properly. 
2009-11-10  Alberto Massari  As we now generate source files for the ICU message loader, use standard automake code. 
2009-11-10  Boris Kolpackov  Rework compilation of ICU message loader resources (XERCESC-1882). 
2009-11-10  Boris Kolpackov  Do not complain that the XSD namespace is not imported (XERCESC-1896). 
2009-11-05  Boris Kolpackov  Enable multiple import handling in examples and test. 
2009-11-05  Boris Kolpackov  Allow the user to change the low water mark used by the parsers (XERCESC-1607). 
2009-11-04  Boris Kolpackov  Free resources if we throw from c-tors (XERCESC-1480). 
2009-11-04  Boris Kolpackov  Remove mentioning of XMLString::release (XERCESC-1847). 
2009-11-04  Boris Kolpackov  Use US-ASCII instead of USASCII. 
2009-11-04  Boris Kolpackov  Expand setNewLine() documentation (XERCESC-1507). 
2009-11-04  Boris Kolpackov  Disable throwing of an exception from the DOMLSParser::parse*() functions (XERCESC-1894). 
2009-10-30  Alberto Massari  Export PDB also for static builds (XERCESC-1759). 
2009-10-28  Alberto Massari  Implemented DOMLSParser::parseWithContext. 
2009-10-28  Alberto Massari  When the base type for a complex type cannot be found in an imported schema that has already been processed, check if a simple type with the same name exists (XERCESC-1893). 
2009-10-27  Boris Kolpackov  Check if glibtoolize exist. Otherwise call libtoolize. 
2009-10-20  James Berry  For builds with curl, use curl-config to get appropriate compiler and linker flags (XERCESC-1892). 
2009-10-06  Alberto Massari  Place the creation of token in the main function to avoid misalignments. 
2009-09-04  Alberto Massari  When releasing an element, remove and release also its attributes (XERCESC-646). 
2009-09-04  Alberto Massari  Improve support for DOMLSParserFilter: (1) if startElement() returned REJECT it was treated like SKIP, and it was changing the current parent node one time too much; (2) the acceptNode() callback was invoked on text nodes every time some data was added to them, potentially removing it many times; (3) the nodes rejected by the callback were not recycled, leading to the same memory footprint as they were accepted. 
2009-09-02  Alberto Massari  Performance improvements. 
2009-08-28  Alberto Massari  The test to detect if the CPU was SSE2-enabled using __get_cpuid was reversed; configure.ac was testing for the presence of emmintrin.h before detecting which compiler option turned on SSE2, and the header cannot be used until that switch has been set. 
2009-08-28  Alberto Massari  If a minOccurs/maxOccurs cannot be parsed in a valid integer because it's too big, assume it is 500. 
2009-08-26  Alberto Massari  Use SSE2 instructions to speed up bit operations used in schema validation with large maxOccurs. 
2009-08-26  Alberto Massari  The invalid xs:float is now e-46, not e-39. 
2009-08-25  Alberto Massari  Updated documentation to reflect the change in limits for xs:float datatype. 
2009-08-25  Alberto Massari  Fixed memory leak; added optimization to the bitfield enumerator. 
2009-08-24  Alberto Massari  Improved performance and reduced memory footprint of schema validation involving large maxOccurs: (1) the CMStateSet uses a sparsely allocated matrix to store the bits, resulting in less memory usage and faster bitwise operations (when analyzing an unallocated chunk, no operations are done); also, having moved the dynamic buffer data members into a separate structure, the space used by two pointers has been added to the cached bit fields, that is now 128 bits; (2) the DFA builder chooses the faster algorithm depending on the data being analyzed. The regression test for XERCESC-1051 now completes in 30 seconds instead of 80. 
2009-08-21  Alberto Massari  When testing for simple type blocked substitutions, allow list and unions when base type is anySimpleType. 
2009-08-21  Alberto Massari  When testing for blocked substitutions, check the entire inheritance chain. 
2009-08-21  Alberto Massari  Added optimizations forgotten in previous commit, plus tests. 
2009-08-20  Alberto Massari  When retrieving an attribute of a schema declaration, specify its type so that the proper whitespace collapse operation can be performed. 
2009-08-20  Alberto Massari  Improved validation of xsi:nil. 
2009-08-14  Alberto Massari  Move the list with the imported targetNamespace in TraverseSchema, so that a schema can "see" what an imported schema imports (XERCESC-1249). 
2009-08-14  Alberto Massari  When matching an XPath expression, don't accept a node only if it's the first branch of an union that matches. The XPath parser takes care of removing identical branches (XERCESC-809). 
2009-08-14  Alberto Massari  Ignore the lax directive if an element has an xsi:type directive (XERCESC-1707). 
2009-08-14  Alberto Massari  When storing a default/fixed value, use the canonical representation. 
2009-08-14  Alberto Massari  Use an entity resolver to feed the grammar for the XML namespace. 
2009-08-14  Alberto Massari  When building the key for identity constraints, use the topmost validator. 
2009-08-13  Alberto Massari  Name and reference to names should be whitespace collapsed. 
2009-08-13  Alberto Massari  Don't manipulate the XPath expression to ensure it starts with "./" before parsing; add the proper token after the scanner phase. 
2009-08-13  Alberto Massari  Complain if an identity constraint has an empty name. 
2009-08-13  Alberto Massari  When placing a value in the identity constraint map, store the actual validator used, instead of the official one. 
2009-08-13  Alberto Massari  Instead of using the FLT_MIN and FLT_MAX macros, use the XMLSchema definition of minimum and maximum value for a xs:float (XERCESC-1833). 
2009-08-13  Alberto Massari  When the xsi:type attribute is present, don't emit validation errors complaining of a missing declaration (XERCESC-1481). 
2009-08-13  Alberto Massari  Attributes in the xsi namespace were not whitespace-normalized. 
2009-08-12  Alberto Massari  Blocked substitution was not checked when defined on a complex type (XERCESC-1568): (1) Blocked substitution should not be checked when xsi:type names the same original type; (2) Blocked substitution didn't check the bit of the restriction/extension, but it performed an equality check. 
2009-08-12  Alberto Massari  When parsing a "block" attribute, an empty value means an empty set, not "use blockDefault". 
2009-08-12  Alberto Massari  When parsing a "final" attribute, an empty value means an empty set, not "use finalDefault" (XERCESC-1716). 
2009-08-12  Alberto Massari  When an identity constraint involves a QName, store the value using its Clark name so that values using different prefixes can be matched. 
2009-08-11  Alberto Massari  When validating an annotation, report the location of the error in the source schema, not inside the annotation itself. 
2009-08-10  Alberto Massari  Test that runs a few parse operations with an input stream that splits the source in bad locations. 
2009-08-10  Alberto Massari  Before assuming that a complex type has a simple type as base type simply because it has a data type validator, inspect the base type definition (XERCESC-697). 
2009-08-10  Alberto Massari  Before processing a schema location, remove the 0xFFFF characters present in the non-normalized attribute value (XERCESC-1831). 
2009-08-10  Alberto Massari  If a derived attribute is prohibited, don't check type substitution and fixed facet (XERCESC-961). 
2009-08-10  Alberto Massari  Deprecate two symbols because of a typo in the name; added a version with the correct spelling. 
2009-08-10  Alberto Massari  Add check for NULL (XERCESC-1863). 
2009-08-10  Alberto Massari  Don't report repetitions in the block/final schema attributes as errors. If a derived attribute is prohibited, don't check type substitution and fixed facet (XERCESC-961). 
2009-08-05  Alberto Massari  On Linux, iconv requires char*; on Solaris, const char*. Use autoconf to pick the correct code. 
2009-08-05  Alberto Massari  Allow GNUiconv to be compiled on Solaris (XERCESC-1856). 
2009-08-04  Alberto Massari  Allow platform with machine/endian.h to select the GNUiconv transcoder. 
2009-08-04  Alberto Massari  Add an autoconf test to verify if the compiler supports the matching operator delete (XERCESC-1380). 
2009-07-30  Alberto Massari  Before complaining that there are not enough child nodes, test the existing ones to be correct (XERCESC-1246). 
2009-07-29  Alberto Massari  Fix end position for fixed string pattern matching (XERCESC-1021). 
2009-07-29  Alberto Massari  Report an error if more than one anyAttribute declaration is found, or if it is not the last declaration (XERCESC-1717). 
2009-07-29  Alberto Massari  If an imported schema had a keyref definition, all the others keyref definition ended up in that schema, and would not be enforced (XERCESC-1583). 
2009-07-29  Alberto Massari  If there is no complex type in the stack, fallback to the schema element definition, like it is done a few lines earlier (XERCESC-1808). 
2009-07-29  Alberto Massari  When copying a context object, allocate new memory for fMatch and fOffsets only if the size of the data being copied is different, so that a user-provided fMatch object can be properly filled (XERCESC-1870). 
2009-07-28  Alberto Massari  Improve scalability of identity checking by using a hash table whose hash value is computed on the canonical values of the values (XERCESC-1878). 
2009-07-08  Alberto Massari  Added methods defined in the Element Traversal specification (http://www.w3.org/TR/2008/REC-ElementTraversal-20081222/). 
2009-06-30  Alberto Massari  Include system-dependent files only if the appropriate macro is defined (XERCESC-1852). 
2009-06-30  Alberto Massari  Fix warning (XERCESC-1872). 
2009-06-03  Alberto Massari  Avoid recursion when parsing simply nested DTD structures. This issue is referenced in the following document: CVE-2009-1885 (http://nvd.nist.gov/nvd.cfm?cvename=CVE-2009-1885). Thanks to Jukka Taimisto, Tero Rontti and Rauli Kaksonen from the CROSS project at Codenomicon Ltd. and CERT-FI for bringing this issue to our attention. 
2009-06-03  Alberto Massari  Improve XSTSHarness to also run the XML Test Suite. 
2009-05-28  Alberto Massari  Add quotes around path in custom build command (XERCESC-1868). 
2009-05-28  Alberto Massari  The PDB file for VC 9.0 used "vc80" (XERCESC-1869). 
2009-05-26  Boris Kolpackov  Check return value of getaddrinfo for non-zero instead of less-than-zero (XERCESC-1871). 
2009-04-27  Alberto Massari  The implementation of some methods didn't match exactly the signature (XERCESC-1867). 
2009-04-23  Boris Kolpackov  Save the scope count value in the SchemaGrammar object. This is necessary for the multiple import option to function correctly. 
2009-03-30  John Snelson  Initializing unitialized variables in TranscodeToStr and TranscodeFromStr (#XERCESC-1858). 
2009-03-27  John Snelson  Fixed a bug when transcoding small strings using TranscodeToStr (XERCESC-1858). 
2009-03-12  Alberto Massari  When the DOMLSInput contains a stringData buffer, the encoding of the source is XMLCh. 


Copyright © 1999-2007 The Apache Software Foundation. All Rights Reserved.