Release Info

Build Instructions

API Docs

DOM C++ Binding
Migration Guide

PDF Document

Source Repository
User Mail Archive
Devel Mail Archive

Migration Archive

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

Migrating from Xerces-C++ 2.5.0 to Xerces-C++ 2.6.0

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

Topics discussed are:

  • New features in Xerces-C++ 2.6.0
  • Public API Changes
    • New Public API
    • Modified Public API
    • Deprecated/Removed Public API
    • Please note the following source code incompatibility: Rename VALUE_CONSTRAINT enumeration values in XSConstants.hpp due to conflict with system header. New values are VALUE_CONSTRAINT_NONE, VALUE_CONSTRAINT_DEFAULT and VALUE_CONSTRAINT_FIXED. Old values are VC_NONE, VC_DEFAULT and VC_FIXED.
    • Also note that if you have implemented your own XMLGrammarPool implementation, that the original getXSModel has been marked deprecated and a new method, of the same name, that takes a bool parameter has been added. This new getXSModel needs to always return an XSModel.
New features in Xerces-C++ 2.6.0
  • Reduce footprint of DLL by building the deprecated DOM as a separate library
  • Improve packaging scripts
  • Enable ID's to work on all kinds of schema components
  • Add messages to DOMExceptions along with the error code
  • Improve annotation error-reporting capabilities
  • Make grammar caching work with DTD internal subsets
  • Bring parser up to the XML 1.0 3rd Edition
  • Update to the XML 1.1 recommendation
  • Add new method to DOMDocument so that DOM level-2 style DOMDocumentTypes (which have a DOMDocument to own them) can be created
  • Feature for disabling identity constraints
  • Update schema errata
  • Provide means to get actual values out of PSVI/schema component model
  • Synthesize annotation components for non-schema attributes
  • Expose partial PSVIElement information at the start element call
  • Externalize validation, actual/canonical value production for arbitrary strings
  • Laxly validate schema annotations
  • Upgrade to ICU 3.0
  • Handle elements with a large number of attributes more efficiently

Public API Changes

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

New Public API
  • XSValue
  • IdentityConstraintHandler
  • XMLBufferFullHandler
  • XMLString: removeChar, isValidNOTATION
  • XMLUri: normalizeUri
  • PSVIHandler: handlePartialElementPSVI
  • RefHash family of classes: getHashModulus
  • XSAnnotation: setline/col and systemid
  • XMLReader: handeEOL
  • XMLChar: isValidNmToken
  • XMLBigDecimal: parseDecimal, getIntVal
  • HexBin: getCanonicalRepresentation, decode
  • Base64: getCanonicalRepresentation, decode
  • XMLBigInteger: compareValues
  • XMLAbstractDoubleFloat: isDataConverted, getValue, isDataOverFlowed
  • PSVIItem: getActualValue
  • XSSimpleTypeDefinition: getDatatypeValidator
  • RefHash2KeysTableOf: transferElement
  • XMLGrammarPool: getXSModel

Modified Public API
  • XSerializeEngine constructor
  • MACUnicodeConverters

Deprecated/Removed Public API
  • XSerializeEngine constructor
  • DTDAttDef: getDOMTypeInfoName, getDOMTypeInfoUri
  • DTDElementDecl: getDOMTypeInfoName, getDOMTypeInfoUri
  • SchemaAttDef: setAnyDatatypeValidator
  • UnionDatatypeValidator: getMemberTypeName, getMemberTypeUri, getMemberTypeAnonymous, getMemberTypeValidator
  • XMLAttr: getValidatingTypeURI, getValidatingTypeName, setDatatypeValidator, setSchemaValidated
  • ComplexTypeInfo: setContentModel
  • XMLGrammarPool: getXSModel
  • SAXParser, mark this class deprecated

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