| Migration Archive |

| For migration information to Xerces-C++ 2.7.0 or earlier, please refer to Migration Archive.

| Migrating from Xerces-C++ 2.7.0 to Xerces-C++ 2.8.0 |

The following section is a discussion of the technical differences between Xerces-C++ 2.7.0 code base and the Xerces-C++ 2.8.0.

Topics discussed are:

- New features in Xerces-C++ 2.8.0
- Public API Changes

- New Public API
- Modified Public API
- Deprecated/Removed Public API

| New features in Xerces-C++ 2.8.0 |

- Exponential growth of memory block (from 16KB to 128KB) that are allocated by the DOM heap.
- The NODE_CLONED notification is now sent to each node's user data handler when cloning the entire DOMDocument.
- On Windows extract the registry code page from MIME\Database\Charset\<encoding>\@InternetEncoding instead of MIME\Database\Charset\<encoding>\@Codepage.
- Allow whitespace-only nodes to be added as children of a DOMDocument.
- When a node is cloned or imported the type information (PSVI) is also copied.
- When using SAX2, including XMLReaderFactory to use createXMLReader doesn't include xercesc/parsers/SAX2XMLReaderImpl.hpp anymore. If you need to cast the SAX2XMLReader to SAX2XMLReaderImpl, you need to include this header yourself.

| Public API Changes |

The following lists the public API changes between the Xerces-C++ 2.7.0; and the Xerces-C++ 2.8.0 releases of the parser.

| New Public API |

- XMLBufferMgr: getBufferCount and getAvailableBufferCount

| Modified Public API |

| Deprecated/Removed Public API |

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