45
45
<IMG border="0" height="14" hspace="0" src="resources/close.gif" vspace="0" width="120"><BR></TD><TD align="left" valign="top" width="500"><TABLE border="0" cellpadding="3" cellspacing="0"><TR><TD>
46
46
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Migration Archive</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
48
<P>For migration information to Xerces-C++ 2 series or earlier,
48
<P>For migration information on earlier versions of Xerces-C++ 2
49
49
please refer to <A href="migrate-archive-3.html">Migration Archive</A>.</P>
51
51
</FONT></TD></TR></TABLE><BR>
53
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Migrating from Xerces-C++ 2 series to Xerces-C++ 3.1.0</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
53
<TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="ffffff" colspan="2" width="494"><TABLE border="0" cellpadding="0" cellspacing="0" width="494"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="492"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="+1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Migrating from Xerces-C++ 3.0.0 to Xerces-C++ 3.1.0</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="492"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="492"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
54
54
<P>The following section is a discussion of the technical differences between
55
Xerces-C++ 2 series and Xerces-C++ 3.1.0.</P>
55
Xerces-C++ 3.0.0 and Xerces-C++ 3.1.0.</P>
57
57
<P>Topics discussed are:</P>
59
59
<LI><A href="#NewFeatures300">New features in Xerces-C++ 3.1.0</A></LI>
60
60
<LI><A href="#API300">Public API Changes</A></LI>
62
<LI><A href="#NewAPI300">New Public API</A></LI>
63
<LI><A href="#ModifiedAPI300">Modified Public API</A></LI>
64
<LI><A href="#DeprecatedAPI300">Deprecated/Removed Public API</A></LI>
68
63
<A name="NewFeatures300"><!--anchor--></A>
69
64
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>New features in Xerces-C++ 3.1.0</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
71
<LI>Autotools-based build system for the UNIX/Linux/Mac OS X platforms</LI>
72
<LI>Project files for VC++ 9</LI>
73
<LI>Support for the ICU transcoder in VC++ 7.1, 8, and 9 project files</LI>
74
<LI>libcurl-based net accessor</LI>
75
<LI>Support for XInclude in DOM</LI>
76
<LI>Support for both XPath 1 and XPath 2 models in the DOM XPath interface</LI>
77
<LI>Support for the XML Schema subset of XPath 1 in DOM</LI>
78
<LI>Conformance to the final DOM Level 3 interface specification</LI>
79
<LI>Ability to provide custom DOM memory manager as well as tune the global DOM heap parameters</LI>
80
<LI>All public and widely used interfaces as well as a large
81
portion of the implementation were converted to be 64-bit safe.</LI>
82
<LI>Various XML Schema fixes including the fix for the large
83
maxOccurs and minOccurs bug as well as for the changed ##other
85
<LI>Reviewed and cleaned up diagnostics messages</LI>
86
<LI>Optimizations for SAX/SAX2 and DOM parsing as well as XML Schema
66
<LI>Working multi-import support. The support for handling multiple import
67
declarations with the same target namespaces has been improved and
68
thoroughly tested. Furthermore, the same logic was extended to
69
loadGrammar and the schemaLocation attributes so that you can load
70
several schemas with the same namespace and/or "add" more declarations
71
with the schemaLocation attributes. To enable this feature, set the
72
XMLUni::fgXercesHandleMultipleImports feature/parameter to true.
73
Starting with this release all the tests and examples have multi-import
74
support enabled by default.</LI>
76
<LI>New property, XMLUni::fgXercesLowWaterMark, allows to configure the
77
parser buffer low water mark. In particular, setting this value to 0
78
disables data caching in the parser which can be useful if you want
79
the SAX events to be dispatched as soon as the data is available.</LI>
81
<LI>DOMLSParser::parseWithContext implementation. In particular, this
82
functionality allows one to parse a document fragment with missing
83
namespace declarations as long as the context document provides them.</LI>
85
<LI>Improved performance and reduced memory footprint when validating with
86
large maxOccurs values. If available, the SSE2 instructions are used to
87
further speedup this case.</LI>
89
<LI>Improved scalability of the XML Schema identity checking (key, keyref,
92
<LI>Multiple XML Schema conformance fixes.</LI>
94
<LI>More robust external library detection (libcurl and ICU). In particular,
95
the build system no longer tries to inject any additional paths such as
96
/usr or /usr/local.</LI>
98
<LI>Compilation of the ICU message loader resources no longer depends on
99
the ICU implementation details.</LI>
89
101
</FONT></TD></TR></TABLE><BR>
91
103
<A name="API300"><!--anchor--></A>
92
104
<TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="484"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="482"><FONT color="#ffffff" face="arial,helvetica,sanserif"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Public API Changes</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="482"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="482"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
94
<P>Xerces-C++ 3.1.0 is a major release and includes
95
a number of application-breaking interface changes compared to
97
The following sub-sections provide an overview of the public API
98
changes between Xerces-C++ 2 series and this release.</P>
100
<A name="NewAPI300"><!--anchor--></A>
101
<TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="472"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>New Public APIs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
103
<LI>XMLGrammarPoolImpl implementation has been moved to
104
framework/ and is now publicly accessible</LI>
106
<LI>DOM XPath interfaces now support XPath 2 model</LI>
108
<LI>A number of DOM interfaces (DOMLSInput, DOMLSOuput,
109
DOMLSParser, DOMLSSerializer, DOMConfiguration, etc.)
110
were added as part of the the final DOM Level 3
111
specification conformance work</LI>
113
</FONT></TD></TR></TABLE><BR>
115
<A name="ModifiedAPI300"><!--anchor--></A>
116
<TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="472"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Modified Public APIs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
118
<P>A large number of public APIs have been modified. Consult
119
individual interface documentation for details. The following
120
list gives an overview of major changes:</P>
123
<LI>Several DOM interfaces have been adjusted to conform to the final
124
DOM Level 3 specification</LI>
126
<LI>DOM XPath interfaces have been adjusted to support both XPath 1
129
<LI>Many public interfaces that used int/long types to represent
130
memory-related sizes, counts, indexes, etc., have been modified
131
to use the 64-bit safe XMLSize_t type instead</LI>
134
</FONT></TD></TR></TABLE><BR>
136
<A name="DeprecatedAPI300"><!--anchor--></A>
137
<TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="ffffff" colspan="2" width="484"><TABLE border="0" cellpadding="0" cellspacing="0" width="474"><TR><TD bgcolor="#039acc" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#039acc" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#039acc" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#0086b2" width="472"><FONT color="#ffffff" face="arial,helvetica,sanserif" size="-1"><IMG border="0" height="2" hspace="0" src="resources/void.gif" vspace="0" width="2"><B>Deprecated/Removed Public APIs</B></FONT></TD><TD bgcolor="#017299" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR><TR><TD bgcolor="#0086b2" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#017299" height="1" width="472"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="472"></TD><TD bgcolor="#017299" height="1" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD></TR></TABLE></TD></TR><TR><TD width="10"> </TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
138
<P>All APIs marked as deprecated in Xerces-C++ 2 series have
139
been removed in this release. In particular deprecated DOM
140
(depdom) as well as COM support have been removed.</P>
142
<P>Furthermore, a number of DOM interfaces (DOMBuilder, DOMWriter,
143
DOMInputSource, etc.) were replaced as part of the the final
144
DOM Level 3 specification conformance work.</P>
145
</FONT></TD></TR></TABLE><BR>
106
<P>Xerces-C++ 3.1.0 is a minor release and does
107
not include any public API changes that would preclude
108
applications using the previous version of Xerces-C++ from
109
building successfully with this version.</P>
147
110
</FONT></TD></TR></TABLE><BR>
148
111
</FONT></TD></TR></TABLE><BR>