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

Home

Readme
Download
Installation
Build Instructions

API Docs
Samples
Schema

FAQs
Programming
Migration

Releases
Bug-Reporting
Feedback

Y2K Compliance
PDF Document

CVS Repository
Mail Archive

Migrating from Xerces-C++ 1.5.2 to Xerces-C++ 1.6.0
 

This document is a discussion of the technical differences between Xerces-C++ 1.5.2 code base and the Xerces-C++ 1.6.0 code base.

Topics discussed are:


New features in Xerces-C++ 1.6.0
 
  • Full Schema support is available in this release. See the Schema page for details.
  • New sample SEnumVal to show how to enumerate the markup decls in a Schema Grammar is added.

Public API Changes in Xerces-C++ 1.6.0
 

The following lists the public API changes between the Xerces-C++ 1.5.2 and the Xerces-C++ 1.6.0 releases of the parser.

New Public API
 
  • It should not be a fatal error if a schema InputSource is not found. Add the following new methods:
    • const bool InputSource::getIssueFatalErrorIfNotFound() const
    • void InputSource::setIssueFatalErrorIfNotFound(const bool flag
  • Allow code to take advantage of the fact that the length of the prefix and local name are known when constructing the QName. Add the following new methods:
    • void QName::setNPrefix(const XMLCh*, const unsigned int)
    • void QName::setNLocalPart(const XMLCh*, const unsigned int)
  • To support schemaLocation and noNamespaceSchemaLocation to be specified outside the instance document, the following new methods are added:
    • XMLCh* DOMParser::getExternalSchemaLocation() const
    • XMLCh* DOMParser::getExternalNoNamespaceSchemaLocation() const
    • void DOMParser::setExternalSchemaLocation(const XMLCh* const schemaLocation)
    • void DOMParser::setExternalNoNamespaceSchemaLocation(const char* const noNamespaceSchemaLocation)
    • XMLCh* IDOMParser::getExternalSchemaLocation() const
    • XMLCh* IDOMParser::getExternalNoNamespaceSchemaLocation() const
    • void IDOMParser::setExternalSchemaLocation(const XMLCh* const schemaLocation)
    • void IDOMParser::setExternalNoNamespaceSchemaLocation(const char* const noNamespaceSchemaLocation)
    • XMLCh* SAXParser::getExternalSchemaLocation() const
    • XMLCh* SAXParser::getExternalNoNamespaceSchemaLocation() const
    • void SAXParser::setExternalSchemaLocation(const XMLCh* const schemaLocation)
    • void SAXParser::setExternalNoNamespaceSchemaLocation(const char* const noNamespaceSchemaLocation)
    • and the following properties are recognized by SAX2XMLReader:
      • http://apache.org/xml/properties/schema/external-schemaLocation
      • http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation
  • To support identity constraints, the following new method is added:
    • QName* XMLAttr::getAttName() const

Pulic API Modified
 
  • To support attribute constraint checking, the constant values in XMLAttDef::DefAttTypes have been re-ordered.

Deprecated Pulic API
 
  • Root Element check is moved from XMLValidator to XMLScanner. Thus XMLValidator::checkRootElement() is deprecated.


Migration Archive
 

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



Copyright © 2001 The Apache Software Foundation. All Rights Reserved.