source: NonGTP/Xerces/xerces/doc/html/migrate_archive.html @ 358

Revision 358, 182.7 KB checked in by bittner, 19 years ago (diff)

xerces added

Line 
1<HTML><HEAD><META content="text/html; charset=utf8" http-equiv="Content-Type"><SCRIPT language="JavaScript" src="resources/script.js" type="text/javascript"></SCRIPT><TITLE>Migration Archive</TITLE></HEAD><BODY alink="#ff0000" bgcolor="#ffffff" leftmargin="4" link="#0000ff" marginheight="4" marginwidth="4" text="#000000" topmargin="4" vlink="#0000aa"><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" height="60" rowspan="3" valign="top" width="135"><IMG border="0" height="60" hspace="0" src="resources/logo.gif" vspace="0" width="135"></TD><TD align="left" colspan="4" height="5" valign="top" width="456"><IMG border="0" height="5" hspace="0" src="resources/line.gif" vspace="0" width="456"></TD><TD align="left" height="60" rowspan="3" valign="top" width="29"><IMG border="0" height="60" hspace="0" src="resources/right.gif" vspace="0" width="29"></TD></TR><TR><TD align="left" bgcolor="#0086b2" colspan="4" height="35" valign="top" width="456"><IMG alt="" border="0" height="35" hspace="0" src="graphics/migrate_archive-header.jpg" vspace="0" width="456"></TD></TR><TR><TD align="left" height="20" valign="top" width="168"><IMG border="0" height="20" hspace="0" src="resources/bottom.gif" vspace="0" width="168"></TD><TD align="left" height="20" valign="top" width="96"><A href="http://xml.apache.org/" onMouseOut="rolloverOff('xml');" onMouseOver="rolloverOn('xml');" target="new"><IMG alt="http://xml.apache.org/" border="0" height="20" hspace="0" name="xml" onLoad="rolloverLoad('xml','resources/button-xml-hi.gif','resources/button-xml-lo.gif');" src="resources/button-xml-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.apache.org/" onMouseOut="rolloverOff('asf');" onMouseOver="rolloverOn('asf');" target="new"><IMG alt="http://www.apache.org/" border="0" height="20" hspace="0" name="asf" onLoad="rolloverLoad('asf','resources/button-asf-hi.gif','resources/button-asf-lo.gif');" src="resources/button-asf-lo.gif" vspace="0" width="96"></A></TD><TD align="left" height="20" valign="top" width="96"><A href="http://www.w3.org/" onMouseOut="rolloverOff('w3c');" onMouseOver="rolloverOn('w3c');" target="new"><IMG alt="http://www.w3.org/" border="0" height="20" hspace="0" name="w3c" onLoad="rolloverLoad('w3c','resources/button-w3c-hi.gif','resources/button-w3c-lo.gif');" src="resources/button-w3c-lo.gif" vspace="0" width="96"></A></TD></TR></TABLE><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD align="left" valign="top" width="120"><IMG border="0" height="14" hspace="0" src="resources/join.gif" vspace="0" width="120"><BR>
2
3 
4<A href="../index.html" onMouseOut="rolloverOff('side-ext-2');" onMouseOver="rolloverOn('side-ext-2');"><IMG alt="Home" border="0" height="12" hspace="0" name="side-ext-2" onLoad="rolloverLoad('side-ext-2','graphics/ext-2-label-2.jpg','graphics/ext-2-label-3.jpg');" src="graphics/ext-2-label-3.jpg" vspace="0" width="120"></A><BR>
5
6
7
8  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
9
10     <A href="index.html" onMouseOut="rolloverOff('side-index');" onMouseOver="rolloverOn('side-index');"><IMG alt="Readme" border="0" height="12" hspace="0" name="side-index" onLoad="rolloverLoad('side-index','graphics/index-label-2.jpg','graphics/index-label-3.jpg');" src="graphics/index-label-3.jpg" vspace="0" width="120"></A><BR>
11     <A href="releases.html" onMouseOut="rolloverOff('side-releases');" onMouseOver="rolloverOn('side-releases');"><IMG alt="Release Info" border="0" height="12" hspace="0" name="side-releases" onLoad="rolloverLoad('side-releases','graphics/releases-label-2.jpg','graphics/releases-label-3.jpg');" src="graphics/releases-label-3.jpg" vspace="0" width="120"></A><BR>
12     
13     
14
15
16
17
18  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
19
20     <A href="install.html" onMouseOut="rolloverOff('side-install');" onMouseOver="rolloverOn('side-install');"><IMG alt="Installation" border="0" height="12" hspace="0" name="side-install" onLoad="rolloverLoad('side-install','graphics/install-label-2.jpg','graphics/install-label-3.jpg');" src="graphics/install-label-3.jpg" vspace="0" width="120"></A><BR>
21     <A href="http://xml.apache.org/xerces-c/download.cgi" onMouseOut="rolloverOff('side-ext-18');" onMouseOver="rolloverOn('side-ext-18');"><IMG alt="Download" border="0" height="12" hspace="0" name="side-ext-18" onLoad="rolloverLoad('side-ext-18','graphics/ext-18-label-2.jpg','graphics/ext-18-label-3.jpg');" src="graphics/ext-18-label-3.jpg" vspace="0" width="120"></A><BR>
22     <A href="build.html" onMouseOut="rolloverOff('side-build');" onMouseOver="rolloverOn('side-build');"><IMG alt="Build Instructions" border="0" height="12" hspace="0" name="side-build" onLoad="rolloverLoad('side-build','graphics/build-label-2.jpg','graphics/build-label-3.jpg');" src="graphics/build-label-3.jpg" vspace="0" width="120"></A><BR>
23     
24     
25     
26
27  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
28
29     <A href="faqs.html" onMouseOut="rolloverOff('side-faqs');" onMouseOver="rolloverOn('side-faqs');"><IMG alt="FAQs" border="0" height="12" hspace="0" name="side-faqs" onLoad="rolloverLoad('side-faqs','graphics/faqs-label-2.jpg','graphics/faqs-label-3.jpg');" src="graphics/faqs-label-3.jpg" vspace="0" width="120"></A><BR>
30
31     <A href="samples.html" onMouseOut="rolloverOff('side-samples');" onMouseOver="rolloverOn('side-samples');"><IMG alt="Samples" border="0" height="12" hspace="0" name="side-samples" onLoad="rolloverLoad('side-samples','graphics/samples-label-2.jpg','graphics/samples-label-3.jpg');" src="graphics/samples-label-3.jpg" vspace="0" width="120"></A><BR>
32     
33     
34     
35     
36     
37     
38     
39     
40     
41     
42     
43     
44     
45     
46     
47
48     <A href="api.html" onMouseOut="rolloverOff('side-api');" onMouseOver="rolloverOn('side-api');"><IMG alt="API Docs" border="0" height="12" hspace="0" name="side-api" onLoad="rolloverLoad('side-api','graphics/api-label-2.jpg','graphics/api-label-3.jpg');" src="graphics/api-label-3.jpg" vspace="0" width="120"></A><BR>
49
50  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
51
52     <A href="ApacheDOMC++Binding.html" onMouseOut="rolloverOff('side-ext-68');" onMouseOver="rolloverOn('side-ext-68');"><IMG alt="DOM C++ Binding" border="0" height="12" hspace="0" name="side-ext-68" onLoad="rolloverLoad('side-ext-68','graphics/ext-68-label-2.jpg','graphics/ext-68-label-3.jpg');" src="graphics/ext-68-label-3.jpg" vspace="0" width="120"></A><BR>
53
54     <A href="program.html" onMouseOut="rolloverOff('side-program');" onMouseOver="rolloverOn('side-program');"><IMG alt="Programming" border="0" height="12" hspace="0" name="side-program" onLoad="rolloverLoad('side-program','graphics/program-label-2.jpg','graphics/program-label-3.jpg');" src="graphics/program-label-3.jpg" vspace="0" width="120"></A><BR>
55     
56     
57     
58     
59     
60     
61     
62
63     <A href="migrate.html" onMouseOut="rolloverOff('side-migrate');" onMouseOver="rolloverOn('side-migrate');"><IMG alt="Migration Guide" border="0" height="12" hspace="0" name="side-migrate" onLoad="rolloverLoad('side-migrate','graphics/migrate-label-2.jpg','graphics/migrate-label-3.jpg');" src="graphics/migrate-label-3.jpg" vspace="0" width="120"></A><BR>
64     
65     
66  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
67
68  <A href="feedback.html" onMouseOut="rolloverOff('side-feedback');" onMouseOver="rolloverOn('side-feedback');"><IMG alt="Feedback" border="0" height="12" hspace="0" name="side-feedback" onLoad="rolloverLoad('side-feedback','graphics/feedback-label-2.jpg','graphics/feedback-label-3.jpg');" src="graphics/feedback-label-3.jpg" vspace="0" width="120"></A><BR>
69  <A href="bug-report.html" onMouseOut="rolloverOff('side-bug-report');" onMouseOver="rolloverOn('side-bug-report');"><IMG alt="Bug-Reporting" border="0" height="12" hspace="0" name="side-bug-report" onLoad="rolloverLoad('side-bug-report','graphics/bug-report-label-2.jpg','graphics/bug-report-label-3.jpg');" src="graphics/bug-report-label-3.jpg" vspace="0" width="120"></A><BR>
70  <A href="pdf.html" onMouseOut="rolloverOff('side-pdf');" onMouseOver="rolloverOn('side-pdf');"><IMG alt="PDF Document" border="0" height="12" hspace="0" name="side-pdf" onLoad="rolloverLoad('side-pdf','graphics/pdf-label-2.jpg','graphics/pdf-label-3.jpg');" src="graphics/pdf-label-3.jpg" vspace="0" width="120"></A><BR>
71
72  <IMG border="0" height="6" hspace="0" src="resources/separator.gif" vspace="0" width="120"><BR>
73
74   
75<A href="http://xml.apache.org/websrc/cvsweb.cgi/xml-xerces/c/" onMouseOut="rolloverOff('side-ext-100');" onMouseOver="rolloverOn('side-ext-100');"><IMG alt="CVS Repository" border="0" height="12" hspace="0" name="side-ext-100" onLoad="rolloverLoad('side-ext-100','graphics/ext-100-label-2.jpg','graphics/ext-100-label-3.jpg');" src="graphics/ext-100-label-3.jpg" vspace="0" width="120"></A><BR>
76
77   
78<A href="http://marc.theaimsgroup.com/?l=xerces-c-dev" onMouseOut="rolloverOff('side-ext-102');" onMouseOver="rolloverOn('side-ext-102');"><IMG alt="Mail Archive" border="0" height="12" hspace="0" name="side-ext-102" onLoad="rolloverLoad('side-ext-102','graphics/ext-102-label-2.jpg','graphics/ext-102-label-3.jpg');" src="graphics/ext-102-label-3.jpg" vspace="0" width="120"></A><BR>
79
80
81<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>
82    <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 to earlier Releases</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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
83      <UL>
84        <LI><A href="#Migrateto250">Migrating from Xerces-C++ 2.4.0 to 2.5.0</A></LI>
85        <LI><A href="#Migrateto240">Migrating from Xerces-C++ 2.3.0 to 2.4.0</A></LI>     
86        <LI><A href="#Migrateto230">Migrating from Xerces-C++ 2.2.0 to 2.3.0</A></LI>
87        <LI><A href="#Migrateto220">Migrating from Xerces-C++ 2.1.0 to 2.2.0</A></LI>
88        <LI><A href="#Migrateto210">Migrating from Xerces-C++ 2.0.0 to 2.1.0</A></LI>
89        <LI><A href="#Migrateto200">Migrating from Xerces-C++ 1.7.0 to 2.0.0</A></LI>
90        <LI><A href="#Migrateto170">Migrating from Xerces-C++ 1.6.0 to 1.7.0</A></LI>
91        <LI><A href="#Migrateto160">Migrating from Xerces-C++ 1.5.2 to 1.6.0</A></LI>
92        <LI><A href="#Migrateto152">Migrating from Xerces-C++ 1.4.0 to 1.5.2</A></LI>
93        <LI><A href="#Migrateto140">Migrating from XML4C 2.x to 1.4.0</A></LI>
94      </UL>
95    </FONT></TD></TR></TABLE><BR>
96
97        <A name="Migrateto250"><!--anchor--></A>
98        <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.4.0 to Xerces-C++ 2.5.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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
99      <P>The following section is a discussion of the technical differences between
100      Xerces-C++ 2.4.0 code base and the Xerces-C++ 2.5.0.</P>
101
102      <P>Topics discussed are:</P>
103      <UL>
104        <LI><A href="#NewFeatures250">New features in Xerces-C++ 2.5.0</A></LI>
105        <LI><A href="#API250">Public API Changes</A></LI>
106        <UL>
107            <LI><A href="#NewAPI250">New Public API</A></LI>
108            <LI><A href="#ModifiedAPI250">Modified Public API</A></LI>
109            <LI><A href="#DeprecatedAPI250">Deprecated/Removed Public API</A></LI>
110        </UL>
111      </UL>
112
113    <A name="NewFeatures250"><!--anchor--></A>
114    <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++ 2.5.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
115      <UL>
116              <LI>Fix duplicate attribute detection when namespaces are disabled </LI>
117              <LI>Stricter use of static memory manager for static data only</LI>
118              <LI>PSVI bug fix and enhencement </LI>
119              <LI>ThreadTest with grammar caching</LI>
120              <LI>Re-pluggable Panic Handler</LI>
121              <LI>Enhenced mutex creation to impove thread safety</LI>
122              <LI>Intrinsic transcoding support for 390.</LI>
123              <LI>Canonical Representation Support </LI>             
124              <LI>New sample SCMPrint</LI>
125              <LI>New sample PSVIWriter</LI>
126              <LI>New test XSerializerTest</LI>
127      </UL>
128    </FONT></TD></TR></TABLE><BR>
129
130    <A name="API250"><!--anchor--></A>
131    <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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
132
133        <P>The following lists the public API changes between the Xerces-C++
134           2.4.0; and the Xerces-C++ 2.5.0 releases
135           of the parser. </P>
136
137        <A name="NewAPI250"><!--anchor--></A>
138        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
139            <UL>
140              <LI></LI>           
141            </UL>
142        </FONT></TD></TR></TABLE><BR>
143
144        <A name="ModifiedAPI250"><!--anchor--></A>
145        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
146            <UL>
147              <LI></LI>
148            </UL>
149        </FONT></TD></TR></TABLE><BR>
150
151        <A name="DeprecatedAPI250"><!--anchor--></A>
152        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
153            <UL>
154              <LI></LI>             
155            </UL>
156        </FONT></TD></TR></TABLE><BR>
157
158    </FONT></TD></TR></TABLE><BR>
159    </FONT></TD></TR></TABLE><BR>
160   
161    <A name="Migrateto240"><!--anchor--></A>
162    <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.3.0 to Xerces-C++ 2.4.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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
163      <P>The following section is a discussion of the technical differences between
164      Xerces-C++ 2.3.0 code base and the Xerces-C++ 2.4.0.</P>
165
166      <P>Topics discussed are:</P>
167      <UL>
168        <LI><A href="#NewFeatures240">New features in Xerces-C++ 2.4.0</A></LI>
169        <LI><A href="#API240">Public API Changes</A></LI>
170        <UL>
171            <LI><A href="#NewAPI240">New Public API</A></LI>
172            <LI><A href="#ModifiedAPI240">Modified Public API</A></LI>
173            <LI><A href="#DeprecatedAPI240">Deprecated/Removed Public API</A></LI>
174        </UL>
175      </UL>
176
177    <A name="NewFeatures240"><!--anchor--></A>
178    <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++ 2.4.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
179      <UL>
180        <LI>PSVI</LI>
181        <LI>Performance enhancement</LI>       
182        <LI>Stateless Grammar </LI>
183        <LI>Grammar Serialization/Deserialiation</LI>
184      </UL>
185    </FONT></TD></TR></TABLE><BR>
186
187    <A name="API240"><!--anchor--></A>
188    <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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
189
190        <P>The following lists the public API changes between the Xerces-C++
191           2.3.0; and the Xerces-C++ 2.4.0 releases
192           of the parser. </P>
193
194        <A name="NewAPI240"><!--anchor--></A>
195        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
196            <UL>
197              <LI>PSVI related</LI>
198              <LI>Grammar serialization/deserialization related</LI>             
199            </UL>
200        </FONT></TD></TR></TABLE><BR>
201
202        <A name="ModifiedAPI240"><!--anchor--></A>
203        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
204            <UL>
205              <LI></LI>
206            </UL>
207        </FONT></TD></TR></TABLE><BR>
208
209        <A name="DeprecatedAPI240"><!--anchor--></A>
210        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
211            <UL>
212              <LI>XMLAttDef: getProvided, getDOMTypeInfoUri, getDOMTypeInfoName, setProvided</LI>
213              <LI>XMLAttDefList: hasMoreElements, nextElement, Reset</LI>
214              <LI>DTDAttDefList: hasMoreElements, nextElement, Reset</LI>
215              <LI>SchemaAttDefList: hasMoreElements, nextElement, Reset</LI>       
216              <LI>XMLElementDecl: LookupOpts</LI>
217              <LI>XMLNumber family: toString</LI>
218              <LI>ENTITYDatatypeValidator: setEntityDeclPool</LI>
219              <LI>IDDatatypeValidator: setIDRefList</LI>
220              <LI>IDREFDatatypeValidator: setIDRefList</LI>
221              <LI>GeneralAttributeCheck: setIDRefList</LI>
222              <LI>SchemaGrammar: getIDRefList</LI>
223              <LI>SchemaElementDecl: all non thread safe methods </LI>
224              <LI>SchemaAttDef: getters </LI>
225              <LI>DTDGrammar: getRootElemId</LI>                           
226            </UL>
227        </FONT></TD></TR></TABLE><BR>
228
229    </FONT></TD></TR></TABLE><BR>
230    </FONT></TD></TR></TABLE><BR>
231   
232    <A name="Migrateto230"><!--anchor--></A>
233    <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.2.0 to Xerces-C++ 2.3.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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
234      <P>The following section is a discussion of the technical differences between
235      Xerces-C++ 2.2.0 code base and the Xerces-C++ 2.3.0.</P>
236
237      <P>Topics discussed are:</P>
238      <UL>
239        <LI><A href="#NewFeatures230">New features in Xerces-C++ 2.3.0</A></LI>
240        <LI><A href="#API230">Public API Changes</A></LI>
241        <UL>
242            <LI><A href="#NewAPI230">New Public API</A></LI>
243            <LI><A href="#ModifiedAPI230">Modified Public API</A></LI>
244            <LI><A href="#DeprecatedAPI230">Deprecated/Removed Public API</A></LI>
245        </UL>
246      </UL>
247
248    <A name="NewFeatures230"><!--anchor--></A>
249    <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++ 2.3.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
250      <UL>
251        <LI>Experimental Implementation of Namespaces in XML 1.1 </LI>
252        <LI>Experimental Implementation of XML 1.1: in DOMWriter</LI>
253        <LI>More Schema 1.0 Errata Implementation</LI>
254        <LI>More DOM L3 Core Support</LI>       
255        <UL>
256            <LI>DOMConfiguration</LI>
257            <LI>Document Normalization</LI>
258        </UL>
259        <LI>Plugable Memory Manager</LI>     
260        <LI>Plugable Security Manager</LI>     
261        <LI>Plugable Panic Handler</LI>
262        <LI>Logical Path Resolution</LI>       
263      </UL>
264    </FONT></TD></TR></TABLE><BR>
265
266    <A name="API230"><!--anchor--></A>
267    <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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
268
269        <P>The following lists the public API changes between the Xerces-C++
270           2.2.0; and the Xerces-C++ 2.3.0 releases
271           of the parser. </P>
272
273        <A name="NewAPI230"><!--anchor--></A>
274        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
275            <UL>
276              <LI>To support additional DOM L3 functions, the following are added:</LI>
277              <LI>DOMDocument: getDOMConfiguration</LI>
278              <LI>DOMConfiguration class for document normalization.</LI>
279            </UL>
280        </FONT></TD></TR></TABLE><BR>
281
282        <A name="ModifiedAPI230"><!--anchor--></A>
283        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
284            <UL>
285              <LI></LI>
286            </UL>
287        </FONT></TD></TR></TABLE><BR>
288
289        <A name="DeprecatedAPI230"><!--anchor--></A>
290        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
291            <UL>
292              <LI>DOMDocument canSetNormalizationFeature, setNormalizationFeature, getNormalizationFeature, getErrorHandler, setErrorHandler removed</LI>
293            </UL>
294        </FONT></TD></TR></TABLE><BR>
295
296    </FONT></TD></TR></TABLE><BR>
297    </FONT></TD></TR></TABLE><BR>
298       
299    <A name="Migrateto220"><!--anchor--></A>
300    <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.1.0 to Xerces-C++ 2.2.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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
301      <P>The following section is a discussion of the technical differences between
302      Xerces-C++ 2.1.0 code base and the Xerces-C++ 2.2.0.</P>
303
304      <P>Topics discussed are:</P>
305      <UL>
306        <LI><A href="#NewFeatures220">New features in Xerces-C++ 2.2.0</A></LI>
307        <LI><A href="#CPPNamespace220">Using C++ Namespace</A></LI>
308        <LI><A href="#API220">Public API Changes</A></LI>
309        <UL>
310            <LI><A href="#NewAPI220">New Public API</A></LI>
311            <LI><A href="#ModifiedAPI220">Modified Public API</A></LI>
312            <LI><A href="#DeprecatedAPI220">Deprecated/Removed Public API</A></LI>
313        </UL>
314      </UL>
315
316    <A name="NewFeatures220"><!--anchor--></A>
317    <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++ 2.2.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
318      <UL>
319        <LI>C++ Namespace Support</LI>
320        <LI>Schema 1.0 Errata Implementation</LI>
321        <LI>Experimental Implementation of XML 1.1</LI>
322        <LI>More DOM L3 Core Support:</LI>
323        <UL>
324            <LI>DOMNode: baseURI</LI>
325            <LI>DOMAttr: isId, getTypeInfo</LI>
326            <LI>DOMElement: setIdAttribute, setIdAttributeNS, setIdAttributeNode, getTypeInfo</LI>
327        </UL>
328        <LI>DOM Message: make use of the non-standard extension DOMImplementation::loadDOMExceptionMsg
329        to load the default error text message for the correspond Exception Code.</LI>
330        <LI>New feature XMLPlatformUtils::Initialize(const char* const locale) to set
331        the locale for message loader.   See <A href="program-others.html#SpecifylocaleforMessageLoader">
332        Specify locale for Message Loader</A> for details</LI>
333        <LI>Support Build with ICU Message Loader, or Message Catalog Message Loader</LI>
334        <LI>RPM for Linux</LI>
335        <LI>390: Uniconv390 support</LI>
336        <LI>390: support record-oriented MVS datasets with the DOM Level 3 serialization APIs</LI>
337        <LI>Support for Linux/390</LI>
338        <LI>Performance: Break Scanner for different functionalities and many other performance improvement</LI>
339        <LI>New feature, &quot;http://apache.org/xml/features/dom/byte-order-mark&quot;, allows user to enable
340            DOMWriter to write Byte-Order-Mark in the output XML stream,
341            See <A href="program-dom.html#Byte-Order-Mark">
342            Xercesc Feature: Byte Order Mark</A> for details</LI>       
343      </UL>
344    </FONT></TD></TR></TABLE><BR>
345
346    <A name="CPPNamespace220"><!--anchor--></A>
347    <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>Using C++ Namespace</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
348        <P>Xerces-C++ 2.2.0 now supports C++ Namespace.  All Xerces-C++
349           classes, data and variables are defined in the xercesc namespace
350           if C++ Namespace support is ENABLED.</P>
351
352        <P>All the binary distributions of Xerces-C++ 2.2.0 are now built with
353           C++ Namespace enabled.   Therefore users' applications that links with the distributed
354           binary packages must namespace qualify all the Xerces-C++ classes, data and variables.</P>
355
356        <P>See the Programming Guide <A href="program-others.html#CPPNamespace">Using C++ Namespace</A>
357           for details.</P>
358
359    </FONT></TD></TR></TABLE><BR>
360
361    <A name="API220"><!--anchor--></A>
362    <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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
363
364        <P>The following lists the public API changes between the Xerces-C++
365           2.1.0; and the Xerces-C++ 2.2.0 releases
366           of the parser. </P>
367
368        <A name="NewAPI220"><!--anchor--></A>
369        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
370            <UL>
371              <LI>To support additional DOM L3 functions, the following are added:</LI>
372              <UL>
373                  <LI>DOMAttr: isId, getTypeInfo</LI>
374                  <LI>DOMElement: setIdAttribute, setIdAttributeNS, setIdAttributeNode, getTypeInfo</LI>
375                  <LI>Added DOMTypeInfo class for getTypeInfo class in DOMElement and DOMAttr</LI>
376                  <LI>Added getDOMTypeInfoUri, getDOMTypeInfoName to XMLAttDef and XMLElementDecl for use in building DOMTypeInfo</LI>
377              </UL>
378              <LI>Added a non-standard extension DOMImplementation::loadDOMExceptionMsg to load the
379              default error message for the corresponding DOMException code.</LI>
380              <LI>XMLAttr: Added a constructor and a set method to allow creating/setting of
381              XMLAttr using a rawname.</LI>
382              <LI>Added XMLUri::getUriText to return the URI as a string specification.</LI>
383              <LI>Add XMLString::fixURI to transform an absolute path filename to standard URI form.</LI>
384              <LI>Added XMLString::equals for faster string comparison.</LI>
385              <LI>To allow users to tell the parser to force standard uri conformance,
386                  the following are added:</LI>
387                <UL>
388                  <LI>XercesDOMParser/DOMParser/SAXParser: get/setStandardUriConformant</LI>
389                  <LI>and DOMBuilder/SAX2XMLReader will recognize the feature
390                      http://apache.org/xml/features/standard-uri-conformant</LI>
391                </UL>
392              <LI>Add XMLURL::hasInvalidChar() to indicate if the URL has invalid char as per RFC standard</LI>
393              <LI>To allow users to enable/disable src offset calculation,
394                  the following are added:</LI>
395                <UL>
396                  <LI>XercesDOMParser/DOMParser/SAXParser: get/setCalculateSrcOfs</LI>
397                  <LI>and DOMBuilder/SAX2XMLReader will recognize the feature
398                      http://apache.org/xml/features/calculate-src-ofst</LI>
399                </UL>
400              <LI>To allow users to select the scanner when scanning XML documents,
401                  the following are added:</LI>
402                <UL>
403                  <LI>XercesDOMParser/DOMParser/SAXParser: useScanner</LI>
404                  <LI>and DOMBuilder/SAX2XMLReader will recognize the property
405                      http://apache.org/xml/properties/scannerName</LI>
406                </UL>
407             <LI>Added getSrcOffset to XercesDOMParser/DOMParser/SAXParser/DOMBuilder/SAX2XMLReader to
408                 allow users to get the current src offset within the input source.</LI>
409            </UL>
410        </FONT></TD></TR></TABLE><BR>
411
412        <A name="ModifiedAPI220"><!--anchor--></A>
413        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
414            <UL>
415              <LI>The following DOM functions are being added a const modifier.</LI>
416              <UL>
417                  <LI>DOMImplementation::hasFeature</LI>
418                  <LI>DOMNode: isSameNode, isEqualNode, compareTreePosition</LI>
419              </UL>
420              <LI>XMLPlatformUtils::Initialize() takes a parameter specifying locale
421              for message loader, with default value &quot;en_US&quot;.</LI>
422              <LI>To fix [Bug 13641], the QName copy constructor is corrected to take
423              a reference as parameter, i.e. QName(const QName&amp; qname).</LI>
424              <LI>To fix [Bug 12232], the QName operator== has been added a const modified.</LI>
425              <LI>Move XMLUri copy constructor and operator = as public.</LI>
426              <LI>Move XMLUri::isURIString as public.</LI>
427              <LI>For validation purpose, added two more default parameters to
428              XMLValidator::validateAttrValue.</LI>
429              <LI>To fix [Bug 15802], the getURIText of DOMParser/XercesDOMParser/SAXParser/SAX2XMLReader
430              are being added a const modifier.</LI>
431            </UL>
432        </FONT></TD></TR></TABLE><BR>
433
434        <A name="DeprecatedAPI220"><!--anchor--></A>
435        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
436            <UL>
437              <LI>No Deprecated Public API in this release.</LI>
438            </UL>
439        </FONT></TD></TR></TABLE><BR>
440
441    </FONT></TD></TR></TABLE><BR>
442    </FONT></TD></TR></TABLE><BR>
443       
444    <A name="Migrateto210"><!--anchor--></A>
445    <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.0.0 to Xerces-C++ 2.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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
446      <P>The following section is a discussion of the technical differences between
447      Xerces-C++ 2.0.0 code base and the Xerces-C++ 2.1.0.</P>
448
449      <P>Topics discussed are:</P>
450      <UL>
451        <LI><A href="#NewFeatures210">New features in Xerces-C++ 2.1.0</A></LI>
452        <LI><A href="#API210">Public API Changes</A></LI>
453        <UL>
454            <LI><A href="#NewAPI210">New Public API</A></LI>
455            <LI><A href="#ModifiedAPI210">Modified Public API</A></LI>
456            <LI><A href="#DeprecatedAPI210">Deprecated/Removed Public API</A></LI>
457        </UL>
458      </UL>
459
460    <A name="NewFeatures210"><!--anchor--></A>
461    <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++ 2.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
462      <UL>
463        <LI>64 bit binaries distribution on Windows IA64 and Linux IA64</LI>
464        <LI>Support for Cygwin environment</LI>
465        <LI>DOM Level 3 DOMNode: compareTreePosition, lookupNamespaceURI, lookupNamespacePrefix and isDefaultNamespace</LI>
466        <LI>plus many more bug fixes</LI>
467      </UL>
468    </FONT></TD></TR></TABLE><BR>
469
470    <A name="API210"><!--anchor--></A>
471    <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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
472
473        <P>The following lists the public API changes between the Xerces-C++
474           2.0.0; and the Xerces-C++ 2.1.0 releases
475           of the parser. </P>
476
477        <A name="NewAPI210"><!--anchor--></A>
478        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
479            <UL>
480              <LI>To fix bug 7087, XMLEnumerator is added a virtual destructor.</LI>
481              <LI>To fix bug 11448, XMLNotationDecl::get/setBaseURI, and XMLEntityDecl::get/setBaseURI are added.</LI>
482            </UL>
483        </FONT></TD></TR></TABLE><BR>
484
485        <A name="ModifiedAPI210"><!--anchor--></A>
486        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
487            <UL>
488              <LI>DOMNodeList: item, and getLength have been added a const modifier.</LI>
489              <LI>DOMNode: lookupNamespacePrefix, isDefaultNamespace, and lookupNamespaceURI have been added a const modifier.</LI>
490            </UL>
491        </FONT></TD></TR></TABLE><BR>
492
493        <A name="DeprecatedAPI210"><!--anchor--></A>
494        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
495            <UL>
496              <LI>No Deprecated Public API in this release.</LI>
497            </UL>
498        </FONT></TD></TR></TABLE><BR>
499
500    </FONT></TD></TR></TABLE><BR>
501    </FONT></TD></TR></TABLE><BR>
502
503    <A name="Migrateto200"><!--anchor--></A>
504    <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++ 1.7.0 to Xerces-C++ 2.0.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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
505      <P>The following section is a discussion of the technical differences between
506      Xerces-C++ 1.7.0 code base and the Xerces-C++ 2.0.0.</P>
507
508      <P>Topics discussed are:</P>
509      <UL>
510        <LI><A href="#NewFeatures200">New features in Xerces-C++ 2.0.0</A></LI>
511        <LI><A href="#LibraryChange200">Unix Library Name change</A></LI>
512        <LI><A href="#DirChange200">DOM Reorganization</A></LI>
513        <LI><A href="#Reuse200">Reuse Grammar becomes Grammar Caching</A></LI>
514        <LI><A href="#API200">Public API Changes</A></LI>
515        <UL>
516            <LI><A href="#NewAPI200">New Public API</A></LI>
517            <LI><A href="#ModifiedAPI200">Modified Public API</A></LI>
518            <LI><A href="#DeprecatedAPI200">Deprecated/Removed Public API</A></LI>
519        </UL>
520      </UL>
521
522    <A name="NewFeatures200"><!--anchor--></A>
523    <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++ 2.0.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
524      <UL>
525        <LI>64 bit binaries distribution</LI>
526        <LI>Follow Unix Shared Library Naming Convention</LI>
527        <LI>Apache Recommended DOM C++ Binding</LI>
528        <LI>Experimental DOM Level 3 subset support, including DOMWriter and DOMBuilder</LI>
529        <LI>Grammar preparsing and Grammar caching</LI>
530        <LI>Optionally ignore loading of external DTD</LI>
531        <LI>Project files for Microsoft Visual C++ .Net</LI>
532        <LI>Codewarrior 8 support</LI>
533        <LI>Option to enable/disable strict IANA encoding name checking</LI>
534        <LI>plus many more bug fixes and performance enhancement</LI>
535      </UL>
536    </FONT></TD></TR></TABLE><BR>
537
538    <A name="LibraryChange200"><!--anchor--></A>
539    <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>Unix Library Name Change</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
540      <P>The Xerces-C++ UNIX Library now follows the Unix Shared Library Naming Convention (libname.so.soname).
541         It is now called:</P>
542         <UL>
543            <LI>AIX</LI>
544            <UL>
545              <LI>libxerces-c26.0.so</LI>
546              <LI>symbolic link: libxerces-c.so                      ----&gt; libxerces-c26.so</LI>
547              <LI>symbolic link: libxerces-c26.so  ----&gt; libxerces-c26.0.so</LI>
548            </UL>
549            <LI>Solaris / Linux</LI>
550            <UL>
551              <LI>libxerces-c.so.26.0</LI>
552              <LI>symbolic link: libxerces-c.so                      ----&gt; libxerces-c.so.26</LI>
553              <LI>symbolic link: libxerces-c.so.26 ----&gt; libxerces-c.so.26.0</LI>
554            </UL>
555            <LI>HP-UX</LI>
556            <UL>
557              <LI>libxerces-c.sl.26.0</LI>
558              <LI>symbolic link: libxerces-c.sl                      ----&gt; libxerces-c.sl.26</LI>
559              <LI>symbolic link: libxerces-c.sl.26 ----&gt; libxerces-c.sl.26.0</LI>
560            </UL>
561         </UL>
562    </FONT></TD></TR></TABLE><BR>
563
564    <A name="DirChange200"><!--anchor--></A>
565    <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>DOM Reorganization</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
566        <P>1. The old Java-like DOM is now deprecated, and all the associated files, including the headers
567              and DOMParser files are moved to <CODE><FONT face="courier, monospaced">src/xercesc/dom/deprecated</FONT></CODE>.  Users of the old
568              Java-like DOM are required to change all their #include lines to pick up the headers.
569              For example</P>
570<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
571//old code
572#include &lt;xercesc/dom/DOM.hpp&gt;
573#include &lt;xercesc/dom/DOM_Document.hpp&gt;
574#include &lt;xercesc/parsers/DOMParser.hpp&gt;
575
576void test(char* xmlFile) {
577    DOMParser parser;
578    parser.parse(xmlFile);
579    DOM_Document doc = parser.getDocument();
580    :
581    return;
582}
583</PRE></FONT></TD><TD bgcolor="#0086b2" 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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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></TABLE></DIV>
584              <P> should now change to </P>
585<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
586//new code
587#include &lt;xercesc/dom/deprecated/DOM.hpp&gt;          //&lt;==== change this include line
588#include &lt;xercesc/dom/deprecated/DOM_Document.hpp&gt; //&lt;==== change this include line
589#include &lt;xercesc/dom/deprecated/DOMParser.hpp&gt;    //&lt;==== change this include line
590
591// the rest is the same
592void test(char* xmlFile) {
593    DOMParser parser;
594    parser.parse(xmlFile);
595    DOM_Document doc = parser.getDocument();
596    :
597    return;
598}
599</PRE></FONT></TD><TD bgcolor="#0086b2" 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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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></TABLE></DIV>
600        <P>2. The Experimental IDOM is now renamed, and becomes the Apache Recommended DOM C++ Binding.
601              The following changes are made: </P>
602              <UL>
603                 <LI>class names are renamed from IDOM_XXXX to DOMXXXX, e.g. IDOM_Document to DOMDocument</LI>
604                 <LI>and thus header files are renamed from IDOM_XXXX.hpp to DOMXXXX.hpp and are moved
605                     to <CODE><FONT face="courier, monospaced">src/xercesc/dom</FONT></CODE></LI>
606                 <LI>the IDOMParser is renamed to XercesDOMParser.  And thus the header
607                     file is renamed as well</LI>
608                 <LI>the rest is the same, see
609                     <A href="ApacheDOMC++Binding.html">Apache Recommended DOM C++ binding</A>
610                     and <A href="program-dom.html">DOM Programming Guide</A> for more programming
611                     information</LI>
612              </UL>
613              <P>Users of IDOM are required to change all their #include lines and do a global rename of
614                 IDOMParser to XercesDOMParesr, and IDOM_XXXX to DOMXXXX.  For example</P>
615<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
616//old code
617#include &lt;xercesc/idom/IDOM.hpp&gt;
618#include &lt;xercesc/idom/IDOM_Document.hpp&gt;
619#include &lt;xercesc/parsers/IDOMParser.hpp&gt;
620
621void test(char* xmlFile) {
622    IDOMParser parser;
623    parser.parse(xmlFile);
624    IDOM_Document* doc = parser.getDocument();
625    :
626    return;
627}
628</PRE></FONT></TD><TD bgcolor="#0086b2" 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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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></TABLE></DIV>
629              <P> should now change to </P>
630<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
631//new code
632#include &lt;xercesc/dom/DOM.hpp&gt;                  //&lt;==== change this include line
633#include &lt;xercesc/dom/DOMDocument.hpp&gt;          //&lt;==== change this include line
634#include &lt;xercesc/parsers/XercesDOMParser.hpp&gt;  //&lt;==== change this include line
635
636void test(char* xmlFile) {
637    XercesDOMParser parser;                           //&lt;==== rename the IDOMParser
638    parser.parse(xmlFile);
639    DOMDocument* doc = parser.getDocument();          //&lt;==== rename the IDOM_XXXX
640    :
641    return;
642}
643</PRE></FONT></TD><TD bgcolor="#0086b2" 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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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></TABLE></DIV>
644    </FONT></TD></TR></TABLE><BR>
645
646    <A name="Reuse200"><!--anchor--></A>
647    <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>Reuse Grammar becomes Grammar Caching</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
648        <P>The Xerces-C++ 2.0.0 extends the &quot;Reuse Grammar&quot; support by replacing it with
649           a new feature called &quot;Grammar Caching&quot; which provides more flexibility in reusing grammars.
650           Users who used to do the following:</P>
651<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
652
653      XercesDOMParser parser;
654
655      // this is the first parse, just usual code as you do normal parse
656      // &quot;firstXmlFile&quot; has a grammar (schema or DTD) specified.
657      parser.parse(firstXmlFile);
658
659      // this is the second parse, by setting second parameter to true,
660      // the parser will reuse the grammar in the last parse
661      // (i.e. the one in  &quot;firstXmlFile&quot;)
662      // to validate the second &quot;anotherXmlFile&quot;.  Any grammar that is
663      // specified in anotherXmlFile is IGNORED.
664      //
665      // Note: The anotherXmlFile cannot have any DTD internal subset.
666      parser.parse(anotherXmlFile, true);
667
668</PRE></FONT></TD><TD bgcolor="#0086b2" 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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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></TABLE></DIV>
669        <P>should now use the features cacheGrammarFromParse and useCachedGrammarFromParse:</P>
670<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>
671      XercesDOMParser parser;
672
673      // By setting cacheGrammarFromParse to true,
674      // the parser will cache any grammars encountered in the
675      // follow-on xml files, if not cached already
676      parser.cacheGrammarFromParse(true);
677
678      parser.parse(firstXmlFile);
679
680      // By setting useCachedGrammarFromParse to true,
681      // the parser will use all the previous cached grammars
682      // to validate the follow-on xml files if the cached
683      // grammar matches the one specified in anotherXmlFile.
684      //
685      // Note: The follow-on xml files cannot have any DTD internal subset.
686      parser.useCachedGrammarFromParse(true);
687
688      parser.parse(anotherXmlFile);
689
690      // This will flush the cached grammar pool
691      parser.resetCachedGrammarPool();
692</PRE></FONT></TD><TD bgcolor="#0086b2" 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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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></TABLE></DIV>
693
694        <P>Note there are a number of differences between &quot;Reuse Grammar&quot; and &quot;Grammar Caching&quot; </P>
695           <OL>
696              <LI>&quot;Reuse Grammar&quot; ignores any grammar that is specified in anotherXmlFile and simply
697                  reuse whatever stored in previous parse; while &quot;Grammar Caching&quot; will use the
698                  cached grammar only if it matches the one specified in the anotherXmlFile.
699                  If not match, then the new grammar is parsed.</LI>
700              <LI>&quot;Reuse Grammar&quot; can only reuse the grammar from previous parse; while &quot;Grammar Caching&quot;
701                  can selectively cache many grammars from different parses and collect them all in a pool indexed
702                  by targetNamespace (for Schema) or system id (for DTD).</LI>
703              <LI>Plus &quot;Grammar Caching&quot; has much more functionalities other than above
704                  (like &quot;Pre-parsing Grammar&quot;).  Please refer to
705                  <A href="program-others.html#GrammarCache">Preparsing Grammar and Grammar Caching
706                  </A> for more programming details.</LI>
707           </OL>
708    </FONT></TD></TR></TABLE><BR>
709
710    <A name="API200"><!--anchor--></A>
711    <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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
712
713        <P>The following lists the public API changes between the Xerces-C++
714           1.7.0; and the Xerces-C++ 2.0.0 releases
715           of the parser. </P>
716
717        <A name="NewAPI200"><!--anchor--></A>
718        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
719            <UL>
720              <LI>To support DOM Level 3, the following are added (see
721                  <A href="api.html">the API documentation page</A> for details).</LI>
722                <UL>
723                  <LI>DOMNode functions set/getUserData, isSameNode isEqualNode.</LI>
724                  <LI>DOMDocument functions renameNode, get/setActualEncoding, get/setEncoding, get/setVersion, get/setStandalone, get/setDocumentURI.</LI>
725                  <LI>DOMEntity functions get/setActualEncoding, get/setEncoding, get/setVersion.</LI>
726                  <LI>classes AbstractDOMParser, DOMError, DOMErrorHandler, and DOMLocator.</LI>
727                  <LI>classes DOMUserDataHandler, DOMImplementationRegistry and DOMImplementationSource.</LI>
728                  <LI>classes DOMBuilder, DOMEntityResolver, DOMImplementationLS, DOMInputSource,
729                      Wrapper4DOMInputSource and Wrapper4InputSource.</LI>
730                  <LI>classes DOMWriter, DOMWriterFilter, LocalFileFormatTarget, StdOutFormatTarget,
731                      and MemBufFormatTarget</LI>
732                </UL>
733              <LI>To support DOMWriter, the following PlatformUtils functions are added</LI>
734                <UL>
735                   <LI>openFileToWrite, writeBufferToFile</LI>
736                </UL>
737              <LI>To have Apache Recommended DOM C++ Binding, the following are added (see
738                  <A href="ApacheDOMC++Binding.html">Apache Recommended DOM C++ binding).</A></LI>
739                <UL>
740                  <LI>function release() to fix Memory Management problem</LI>
741                  <LI>classes DOMDocumentRange and DOMDocumentTraversal</LI>
742                  <LI>XMLSize_t is used to represent unsigned integral type in DOM</LI>
743                  <LI>IDOM_XXXX classes are renamed to DOMXXXX, and IDOMParser is renamed to XercesDOMParser
744                      as described in <A href="#DirChange200">DOM Reorganization</A></LI>
745                  <LI>XercesDOMParser::adoptDocument is added so that document can optionally live
746                  outside the parser.</LI>
747                </UL>
748              <LI>To support optionally load external DTD, the following are added:</LI>
749                <UL>
750                  <LI>XercesDOMParser::set/getLoadExternalDTD</LI>
751                  <LI>DOMParser::set/getLoadExternalDTD</LI>
752                  <LI>SAXParser::set/getLoadExternalDTD</LI>
753                  <LI>and SAX2XMLReader will recognize the feature
754                      http://apache.org/xml/features/nonvalidating/load-external-dtd</LI>
755                </UL>
756              <LI>To support Preparsing Grammar and Grammar Caching, the following are added:</LI>
757                <UL>
758                   <LI>XercesDOMParser/DOMParser/SAXParser functions loadGrammar, resetCachedGrammarPool,
759                       cacheGrammarFromParse, isCachingGrammarFromParse, useCachedGrammarInParse,
760                       isUsingCachedGrammarInParse.</LI>
761                   <LI>SAX2XMLReader functions loadGrammar, resetCachedGrammarPool, and will recognize the features
762                       http://apache.org/xml/features/validation/cache-grammarFromParse and
763                       http://apache.org/xml/features/validation/use-cachedGrammarInParse.</LI>
764                </UL>
765              <LI>To support access to Grammar info, the following are added:</LI>
766                <UL>
767                   <LI>XercesDOMParser/DOMParser/SAXParser/SAX2XMLReader functions getRootGrammar, getGrammar, getURIText.</LI>
768                </UL>
769              <LI>To support strict IANA encoding name checking, the following are added:</LI>
770                <UL>
771                   <LI>class EncodingValidator.</LI>
772                   <LI>PlatformUtils functions strictIANAEncoding, isStrictIANAEncoding.</LI>
773                   <LI>XMLTransService functions strictIANAEncoding, isStrictIANAEncoding.</LI>
774                </UL>
775            </UL>
776        </FONT></TD></TR></TABLE><BR>
777
778        <A name="ModifiedAPI200"><!--anchor--></A>
779        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
780            <UL>
781              <LI>SAXParser::getScanner() is moved from public to protected.</LI>
782              <LI>Grammar::getGrammarType has been added a const modifier.</LI>
783              <LI>Xerces features are renamed from XMLUni::fgSAX2XercesXXXX to XMLUni::fgXercesXXXX
784                  so that they can be shared with DOM parser.</LI>
785              <LI>With the new Grammar Caching introduced, the the last parameter &quot;reuseGrammar&quot; in
786                  the following API is dropped.
787                   Users should now use the &quot;Grammar Caching&quot; feature as described in
788                   <A href="#Reuse200">Reuse Grammar becomes Grammar Caching</A>.</LI>
789                <UL>
790                   <LI>(in Parser, SAXParser, DOMParser, and XercesDOMParser) </LI>
791                   <LI>parse(const InputSource&amp; source, const bool reuseGrammar = false);</LI>
792                   <LI>parse(const XMLCh* const systemId, const bool reuseGrammar = false);</LI>
793                   <LI>parse(const char* const systemId, const bool reuseGrammar = false);</LI>
794                   <LI>(in SAXParser, DOMParser, and XercesDOMParser) </LI>
795                   <LI>parseFirst(const InputSource&amp; source, XMLPScanToken&amp;  toFill, const bool reuseGrammar = false);</LI>
796                   <LI>parseFirst(const XMLCh* const systemId, XMLPScanToken&amp;  toFill, const bool reuseGrammar = false);</LI>
797                   <LI>parseFirst(const char* const systemId, XMLPScanToken&amp;  toFill, const bool reuseGrammar = false);</LI>
798                </UL>
799            </UL>
800        </FONT></TD></TR></TABLE><BR>
801
802        <A name="DeprecatedAPI200"><!--anchor--></A>
803        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
804            <UL>
805              <LI>The old Java-like DOM is now deprecated as described in
806                  <A href="#DirChange200">DOM Reorganization</A></LI>
807              <LI>SAX2XMLReader::setValidationConstraint.   For consistency, SAX2XMLReader users should
808                  set the feature http://apache.org/xml/features/validation-error-as-fatal&quot; instead.</LI>
809              <LI>SAX2XMLReader::setExitOnFirstFatalError.  For consistency, SAX2XMLReader users should
810                  set the feature &quot;http://apache.org/xml/features/continue-after-fatal-error&quot; instead.</LI>
811              <LI>With the new Grammar Caching introduced, the following features will not be
812                  recognized by the SAX2XMLReader:</LI>
813                <UL>
814                   <LI>http://apache.org/xml/features/validation/reuse-grammar</LI>
815                   <LI>http://apache.org/xml/features/validation/reuse-validator</LI>
816                </UL>
817            </UL>
818        </FONT></TD></TR></TABLE><BR>
819    </FONT></TD></TR></TABLE><BR>
820    </FONT></TD></TR></TABLE><BR>
821
822    <A name="Migrateto170"><!--anchor--></A>
823    <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++ 1.6.0 to 1.7.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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
824      <P>The following section is a discussion of the technical differences between
825      Xerces-C++ 1.6.0 code base and the Xerces-C++ 1.7.0 code base.</P>
826
827    <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++ 1.7.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
828      <UL>
829        <LI>Support SAX2-ext's DeclHandler.</LI>
830        <LI>Directory sane_include reorganization: add sub-directory 'xercesc' to src / include folder.
831            See <A href="#DirChange170">&quot;Directory change in Xerces-C++ 1.7.0&quot;</A>
832            below for detail.</LI>
833        <LI>More IDOM test cases - port IDOMMemTest, and merge ThreadTest and IThreadTest.</LI>
834        <LI>Support IconvFBSD in multi-threading environment.</LI>
835        <LI>Use IDOM in schema processing for faster performance.</LI>
836        <LI>Add Project files for BCB6.</LI>
837        <LI>Port to Caldera (SCO) OpenServer.</LI>
838        <LI>Support building with new MacOSURLAccessCF NetAccessor that doesn't require
839            Carbon but can allow Xerces to live solely within CoreServices layer.</LI>
840      </UL>
841    </FONT></TD></TR></TABLE><BR>
842
843    <A name="DirChange170"><!--anchor--></A>
844    <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>Directory change in Xerces-C++ 1.7.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
845        <UL>
846            <LI>A new directory, <B>src/xercesc</B> is created to be the new parent directory of
847                all src's direct subdirectories.</LI>
848            <LI>And in the binary package, all the headers are distributed in <B>include/xercesc</B> directory.</LI>
849            <LI>Migration considerations:</LI>
850            <UL>
851              <LI>Windows application, <BR>
852                  either change the <B>include directories </B> setting to
853                  &quot;..\..\..\..\..\src\<B>xercesc</B>&quot; (Projects-&gt;settings-&gt;C/C++-&gt;Preprocessor), <BR>
854                  or <BR>
855                  change the relevant #include instances in the source/header files, accordingly, eg <BR>
856                  #include &lt;util/XMLString.hpp&gt; be changed to <BR>
857                  #include &lt;<B>xercesc</B>/util/XMLString.hpp&gt; </LI>
858              <LI>Unix application, <BR>
859                  either change the <B>include search path </B> in the Makefile to
860                  &quot; -I &lt;installroot&gt;/include/<B>xercesc</B>&quot;, <BR>
861                  or <BR>
862                  change the relevant #include instances in the source/header files as shown above. </LI>
863            </UL>
864        </UL>
865    </FONT></TD></TR></TABLE><BR>
866
867    <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 in Xerces-C++ 1.7.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
868
869        <P>The following lists the public API changes between the Xerces-C++
870           1.7.0 and the Xerces-C++ 1.7.0 releases
871           of the parser. </P>
872
873        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
874            <UL>
875              <LI>Added SAX2-ext's DeclHandler class.
876                  See <A href="api.html">the API documentation page</A> for details.</LI>
877              <LI>To support SAX2-ext's DeclHandler, the following new methods are added
878                  in classes DefaultHandler and SAX2XMLReader:</LI>
879              <UL>
880                <LI>void DefaultHandler::elementDecl(const XMLCh* const name, const XMLCh* const model)</LI>
881                <LI>void DefaultHandler::attributeDecl(const XMLCh* const eName, const XMLCh* const aName,
882                    const XMLCh* const type, const XMLCh* const mode, const XMLCh* const value)</LI>
883                <LI>void DefaultHandler::internalEntityDecl(const XMLCh* const name, const XMLCh* const value)</LI>
884                <LI>void DefaultHandler::externalEntityDecl(const XMLCh* const name, const XMLCh* const publicId,
885                    const XMLCh* const systemId)</LI>
886                <LI>DeclHandler* SAX2XMLReader::getDeclarationHandler() const</LI>
887                <LI>void SAX2XMLReader::setDeclarationHandler(DeclHandler* const handler)</LI>
888              </UL>
889              <LI>To conform to DOM Level 2 specification, the following methods are added:</LI>
890              <UL>
891                <LI>DOM_Node DOM_NodeIterator::getRoot()</LI>
892                <LI>DOM_Node DOM_TreeWalker::getRoot()</LI>
893                <LI>bool DOM_Node::hasAttributes() const</LI>
894                <LI>bool DOM_Element::hasAttribute(const DOMString &amp;name) const</LI>
895                <LI>bool DOM_Element::hasAttributeNS(const DOMString &amp;namespaceURI,
896                                const DOMString &amp;localName) const</LI>
897                <LI>IDOM_Node* IDOM_NodeIterator::getRoot()</LI>
898                <LI>IDOM_Node* IDOM_TreeWalker::getRoot()</LI>
899                <LI>bool IDOM_Node::hasAttributes() const</LI>
900                <LI>bool IDOM_Element::hasAttribute(const XMLCh* name) const</LI>
901                <LI>bool IDOM_Element::hasAttributeNS(const XMLCh* namespaceURI,
902                                const XMLCh* localName) const</LI>
903              </UL>
904              <LI>To fix [Bug 5570], a copy constructor is added to DOM_Range</LI>
905            </UL>
906        </FONT></TD></TR></TABLE><BR>
907
908        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
909            <UL>
910              <LI>To conform to the SAX2 specification, the namespace-prefixes feature
911                  in SAX2 is set to off as default.</LI>
912              <LI>To fix [Bug 6330], the Base64::encode and Base64::decode have been modified
913                  as follows</LI>
914                  <UL>
915                  <LI>static XMLByte* Base64::encode(const XMLByte* const inputData,
916                      const unsigned int   inputLength,
917                      unsigned int*        outputLength);</LI>
918                  <LI>static XMLByte* Base64::decode(const XMLByte* const inputData,
919                           unsigned int*        outputLength);</LI>
920                  <LI>static XMLCh* decode(const XMLCh* const inputData,
921                         unsigned int*      outputLength);</LI>
922                  </UL>
923              <LI>To conform to DOM Level 2 specification, the DOM_Node::supports and IDOM_Node::supports
924                  are modified to</LI>
925              <UL>
926                <LI>bool DOM_Node::isSupported(const DOMString &amp;feature, const DOMString &amp;version) const</LI>
927                <LI>bool IDOM_Node::isSupported(const XMLCh* feature, const XMLCh* version) const</LI>
928              </UL>
929            </UL>
930        </FONT></TD></TR></TABLE><BR>
931
932        <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 Public API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
933            <UL>
934              <LI>No Deprecated Public API in this release.</LI>
935            </UL>
936        </FONT></TD></TR></TABLE><BR>
937
938    </FONT></TD></TR></TABLE><BR>
939    </FONT></TD></TR></TABLE><BR>
940
941    <A name="Migrateto160"><!--anchor--></A>
942    <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++ 1.5.2 to 1.6.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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
943      <P>The following section is a discussion of the technical differences between
944      Xerces-C++ 1.5.2 code base and the Xerces-C++ 1.6.0 code base.</P>
945
946    <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++ 1.6.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
947      <UL>
948        <LI>Full Schema support is available in this release.
949            See <A href="schema.html">the Schema page</A> for details.</LI>
950        <LI>New sample SEnumVal to show how to enumerate the markup decls in a Schema Grammar is added.</LI>
951      </UL>
952    </FONT></TD></TR></TABLE><BR>
953
954    <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 in Xerces-C++ 1.6.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
955
956        <P>The following lists the public API changes between the Xerces-C++
957           1.5.2 and the Xerces-C++ 1.6.0 releases
958           of the parser. </P>
959
960        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
961            <UL>
962              <LI>It should not be a fatal error if a schema InputSource is not found.
963                  Add the following new methods:</LI>
964                <UL>
965                   <LI>const bool InputSource::getIssueFatalErrorIfNotFound() const</LI>
966                   <LI>void InputSource::setIssueFatalErrorIfNotFound(const bool flag</LI>
967                </UL>
968              <LI>Allow code to take advantage of the fact that the length of the prefix and
969                  local name are known when constructing the QName.
970                  Add the following new methods:</LI>
971                <UL>
972                   <LI>void QName::setNPrefix(const XMLCh*, const unsigned int)</LI>
973                   <LI>void QName::setNLocalPart(const XMLCh*, const unsigned int)</LI>
974                </UL>
975              <LI>To support schemaLocation and noNamespaceSchemaLocation to be specified outside the
976                  instance document, the following new methods are added:</LI>
977              <UL>
978                <LI>XMLCh* DOMParser::getExternalSchemaLocation() const</LI>
979                <LI>XMLCh* DOMParser::getExternalNoNamespaceSchemaLocation() const</LI>
980                <LI>void DOMParser::setExternalSchemaLocation(const XMLCh* const schemaLocation)</LI>
981                <LI>void DOMParser::setExternalNoNamespaceSchemaLocation(const char* const noNamespaceSchemaLocation)</LI>
982                <LI>XMLCh* IDOMParser::getExternalSchemaLocation() const</LI>
983                <LI>XMLCh* IDOMParser::getExternalNoNamespaceSchemaLocation() const</LI>
984                <LI>void IDOMParser::setExternalSchemaLocation(const XMLCh* const schemaLocation)</LI>
985                <LI>void IDOMParser::setExternalNoNamespaceSchemaLocation(const char* const noNamespaceSchemaLocation)</LI>
986                <LI>XMLCh* SAXParser::getExternalSchemaLocation() const</LI>
987                <LI>XMLCh* SAXParser::getExternalNoNamespaceSchemaLocation() const</LI>
988                <LI>void SAXParser::setExternalSchemaLocation(const XMLCh* const schemaLocation)</LI>
989                <LI>void SAXParser::setExternalNoNamespaceSchemaLocation(const char* const noNamespaceSchemaLocation)</LI>
990                <LI>and the following properties are recognized by SAX2XMLReader:</LI>
991                <UL>
992                   <LI>http://apache.org/xml/properties/schema/external-schemaLocation</LI>
993                   <LI>http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation</LI>
994                </UL>
995              </UL>
996              <LI>To support identity constraints, the following new method is added:</LI>
997              <UL>
998                <LI>QName* XMLAttr::getAttName() const</LI>
999              </UL>
1000            </UL>
1001        </FONT></TD></TR></TABLE><BR>
1002
1003        <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 API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1004            <UL>
1005              <LI>To support attribute constraint checking, the constant values in XMLAttDef::DefAttTypes have been re-ordered.</LI>
1006            </UL>
1007        </FONT></TD></TR></TABLE><BR>
1008
1009        <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 Public API</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1010            <UL>
1011              <LI>Root Element check is moved from XMLValidator to XMLScanner.  Thus XMLValidator::checkRootElement() is deprecated.</LI>
1012            </UL>
1013        </FONT></TD></TR></TABLE><BR>
1014
1015    </FONT></TD></TR></TABLE><BR>
1016    </FONT></TD></TR></TABLE><BR>
1017
1018    <A name="Migrateto152"><!--anchor--></A>
1019    <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++ 1.4.0 to 1.5.2</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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
1020      <P>The following section is a discussion of the technical differences between
1021      Xerces-C++ 1.4.0 code base and the Xerces-C++ 1.5.2 code base.</P>
1022
1023    <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++ 1.5.2</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1024        <P>Schema subset support and an experimental IDOM are available
1025           in this release.
1026        </P>
1027        <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>Schema Subset Support</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1028            <UL>
1029              <LI>New function &quot;setDoSchema&quot; is added to DOM/SAX parser.</LI>
1030              <LI>New feature &quot;http://apache.org/xml/features/validation/schema&quot; is recognized by SAX2XMLReader.</LI>
1031              <LI>New classes such as SchemaValidator, TraverseSchema ... are added.</LI>
1032              <LI>The Scanner is enhanced to process schema.</LI>
1033              <LI>New sample data files personal-schema.xml and personal.xsd.</LI>
1034              <LI>New command line option &quot;-s&quot; for samples.</LI>
1035            </UL>
1036            <P>
1037               See <A href="schema.html">the Schema page</A> for details.
1038            </P>
1039        </FONT></TD></TR></TABLE><BR>
1040
1041        <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>Experimental IDOM</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1042           <P>The experimental IDOM API is a new design of the C++ DOM API. If you would like
1043              to migrate from DOM to the experimental IDOM, please refer to
1044              <A href="program-idom.html">
1045              IDOM programming guide.</A> Please note that this experimental IDOM API is only
1046              a prototype and is subject to change.
1047           </P>
1048        </FONT></TD></TR></TABLE><BR>
1049
1050    </FONT></TD></TR></TABLE><BR>
1051
1052    <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>Changes required to migrate to Xerces-C++ 1.5.2</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1053
1054        <P>There are some architectural changes between the Xerces-C++
1055           1.4.0 and the Xerces-C++ 1.5.2 releases
1056           of the parser, and as a result, some code has undergone restructuring
1057           as shown below. </P>
1058
1059        <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>Validator directory Reorganization</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1060            <UL>
1061              <LI>common content model files such as DFAContentModel ...
1062                  are moved to a new directory called src/validators/common</LI>
1063              <LI>DTD related files are moved to a new directory called src/validators/DTD</LI>
1064              <LI>new directory src/validators/Datatype is created to store all datatype validators</LI>
1065              <LI>new directory src/validators/schema is created to store Schema related files</LI>
1066            </UL>
1067        </FONT></TD></TR></TABLE><BR>
1068
1069        <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>DTDValidator</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1070            <P> DTDValidator was design to scan, validate and store the DTD in Xerces-C++ 1.4.0
1071                or earlier. In Xerces-C++ 1.5.2, this process is broken down into three components:
1072            </P>
1073            <UL>
1074              <LI>new class DTDScanner - to scan the DTD</LI>
1075              <LI>new class DTDGrammar - to store the DTD Grammar</LI>
1076              <LI>DTDValidator - to validate the DTD only</LI>
1077            </UL>
1078        </FONT></TD></TR></TABLE><BR>
1079
1080    </FONT></TD></TR></TABLE><BR>
1081    </FONT></TD></TR></TABLE><BR>
1082
1083    <A name="Migrateto140"><!--anchor--></A>
1084    <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 XML4C 2.x to Xerces-C++ 1.4.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">&nbsp;</TD><TD width="484"><FONT color="#000000" face="arial,helvetica,sanserif">
1085       <P>The following section is a discussion of the technical differences between
1086       XML4C 2.x code base and the new Xerces-C++ 1.4.0 code base.</P>
1087
1088    <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>Summary of changes required to migrate from XML4C 2.x to Xerces-C++ 1.4.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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1089
1090        <P>There are some major architectural changes
1091        between the 2.3.x and Xerces-C++ 1.4.0 releases
1092        of the parser, and as a result the code has undergone
1093        significant restructuring. The list below mentions the public
1094        api's which existed in 2.3.x and no longer exist in
1095        Xerces-C++ 1.4.0. It also mentions the
1096        Xerces-C++ 1.4.0 api which will give you the
1097        same functionality.  Note: This list is not exhaustive. The
1098        API docs (and ultimately the header files) supplement this
1099        information.</P>
1100
1101        <UL>
1102
1103            <LI><CODE><FONT face="courier, monospaced">parsers/[Non]Validating[DOM/SAX]parser.hpp</FONT></CODE><BR>
1104            These files/classes have all been consolidated in the new
1105            version to just two files/classes:
1106            <CODE><FONT face="courier, monospaced">[DOM/SAX]Parser.hpp</FONT></CODE>.  Validation is now a
1107            property which may be set before invoking the
1108            <CODE><FONT face="courier, monospaced">parse</FONT></CODE>. Now, the
1109            <CODE><FONT face="courier, monospaced">setDoValidation()</FONT></CODE> method controls the
1110            validation processing.</LI>
1111
1112            <LI>The <CODE><FONT face="courier, monospaced">framework/XMLDocumentTypeHandler.hpp</FONT></CODE>
1113            been replaced with
1114            <CODE><FONT face="courier, monospaced">validators/DTD/DocTypeHandler.hpp</FONT></CODE>.</LI>
1115
1116            <LI>The following methods now have different set of
1117            parameters because the underlying base class methods have
1118            changed in the 3.x release. These methods belong to one of
1119            <CODE><FONT face="courier, monospaced">XMLDocumentHandler</FONT></CODE>,
1120            <CODE><FONT face="courier, monospaced">XMLErrorReporter</FONT></CODE> or
1121            <CODE><FONT face="courier, monospaced">DocTypeHandler</FONT></CODE> interfaces.</LI>
1122            <UL>
1123                <LI><CODE><FONT face="courier, monospaced">[Non]Validating[DOM/SAX]Parser::docComment</FONT></CODE></LI>
1124                <LI><CODE><FONT face="courier, monospaced">[Non]Validating[DOM/SAX]Parser::doctypePI</FONT></CODE></LI>
1125                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingSAXParser::elementDecl</FONT></CODE></LI>
1126                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingSAXParser::endAttList</FONT></CODE></LI>
1127                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingSAXParser::entityDecl</FONT></CODE></LI>
1128                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingSAXParser::notationDecl</FONT></CODE></LI>
1129                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingSAXParser::startAttList</FONT></CODE></LI>
1130                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingSAXParser::TextDecl</FONT></CODE></LI>
1131                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingSAXParser::docComment</FONT></CODE></LI>
1132                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingSAXParser::docPI</FONT></CODE></LI>
1133                <LI><CODE><FONT face="courier, monospaced">[Non]Validating[DOM/SAX]Parser::endElement</FONT></CODE></LI>
1134                <LI><CODE><FONT face="courier, monospaced">[Non]Validating[DOM/SAX]Parser::startElement</FONT></CODE></LI>
1135                <LI><CODE><FONT face="courier, monospaced">[Non]Validating[DOM/SAX]Parser::XMLDecl</FONT></CODE></LI>
1136                <LI><CODE><FONT face="courier, monospaced">[Non]Validating[DOM/SAX]Parser::error</FONT></CODE></LI>
1137            </UL>
1138
1139            <LI>The following methods/data members changed visibility
1140            from <CODE><FONT face="courier, monospaced">protected</FONT></CODE> in 2.3.x to
1141            <CODE><FONT face="courier, monospaced">private</FONT></CODE> (with public setters and getters, as
1142            appropriate).</LI>
1143
1144            <UL>
1145                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingDOMParser::fDocument</FONT></CODE></LI>
1146                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingDOMParser::fCurrentParent</FONT></CODE></LI>
1147                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingDOMParser::fCurrentNode</FONT></CODE></LI>
1148                <LI><CODE><FONT face="courier, monospaced">[Non]ValidatingDOMParser::fNodeStack</FONT></CODE></LI>
1149            </UL>
1150
1151
1152            <LI>The following files have moved, possibly requiring
1153            changes in the <CODE><FONT face="courier, monospaced">#include</FONT></CODE> statements.</LI>
1154
1155            <UL>
1156                <LI><CODE><FONT face="courier, monospaced">MemBufInputSource.hpp</FONT></CODE></LI>
1157                <LI><CODE><FONT face="courier, monospaced">StdInInputSource.hpp</FONT></CODE></LI>
1158                <LI><CODE><FONT face="courier, monospaced">URLInputSource.hpp</FONT></CODE></LI>
1159            </UL>
1160
1161
1162            <LI>All the DTD validator code was moved from
1163            <CODE><FONT face="courier, monospaced">internal</FONT></CODE> to separate
1164            <CODE><FONT face="courier, monospaced">validators/DTD</FONT></CODE> directory.</LI>
1165
1166            <LI>The error code definitions which were earlier in
1167            <CODE><FONT face="courier, monospaced">internal/ErrorCodes.hpp</FONT></CODE> are now split up into
1168            the following files:</LI>
1169
1170            <UL>
1171                <LI><CODE><FONT face="courier, monospaced">framework/XMLErrorCodes.hpp   </FONT></CODE> - Core XML errors</LI>
1172                <LI><CODE><FONT face="courier, monospaced">framework/XMLValidityCodes.hpp</FONT></CODE> - DTD validity errors</LI>
1173                <LI><CODE><FONT face="courier, monospaced">util/XMLExceptMsgs.hpp        </FONT></CODE> - C++ specific exception codes.</LI>
1174            </UL>
1175        </UL>
1176
1177    </FONT></TD></TR></TABLE><BR>
1178
1179
1180
1181    <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>The Samples</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1182
1183        <P>The sample programs no longer use any of the unsupported
1184        util/xxx classes. They only existed to allow us to write
1185        portable samples. But, since we feel that the wide character
1186        APIs are supported on a lot of platforms these days, it was
1187        decided to go ahead and just write the samples in terms of
1188        these. If your system does not support these APIs, you will
1189        not be able to build and run the samples. On some platforms,
1190        these APIs might perhaps be optional packages or require
1191        runtime updates or some such action.</P>
1192
1193        <P>More samples have been added as well. These highlight some
1194        of the new functionality introduced in the new code base. And
1195        the existing ones have been cleaned up as well.</P>
1196
1197        <P>The new samples are:</P>
1198        <OL>
1199           <LI>PParse - Demonstrates 'progressive parse' (see below)</LI>
1200           <LI>StdInParse - Demonstrates use of the standard in input source</LI>
1201           <LI>EnumVal - Shows how to enumerate the markup decls in a DTD Validator</LI>
1202        </OL>
1203    </FONT></TD></TR></TABLE><BR>
1204
1205
1206    <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>Parser Classes</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1207
1208        <P>In the XML4C 2.x code base, there were the following parser
1209        classes (in the src/parsers/ source directory):
1210        NonValidatingSAXParser, ValidatingSAXParser,
1211        NonValidatingDOMParser, ValidatingDOMParser.  The
1212        non-validating ones were the base classes and the validating
1213        ones just derived from them and turned on the validation.
1214        This was deemed a little bit overblown, considering the tiny
1215        amount of code required to turn on validation and the fact
1216        that it makes people use a pointer to the parser in most cases
1217        (if they needed to support either validating or non-validating
1218        versions.)</P>
1219
1220        <P>The new code base just has SAXParer and DOMParser
1221        classes. These are capable of handling both validating and
1222        non-validating modes, according to the state of a flag that
1223        you can set on them. For instance, here is a code snippet that
1224        shows this in action.</P>
1225
1226<DIV align="left"><TABLE border="0" cellpadding="0" cellspacing="4" width="464"><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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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="#0086b2" width="1"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="1"></TD><TD bgcolor="#ffffff" width="462"><FONT size="-1"><PRE>void ParseThis(const  XMLCh* const fileToParse,
1227               const bool validate)
1228{
1229  //
1230  // Create a SAXParser. It can now just be
1231  // created by value on the stack if we want
1232  // to parse something within this scope.
1233  //
1234  SAXParser myParser;
1235
1236  // Tell it whether to validate or not
1237  myParser.setDoValidation(validate);
1238
1239  // Parse and catch exceptions...
1240  try
1241  {
1242    myParser.parse(fileToParse);
1243  }
1244    ...
1245};</PRE></FONT></TD><TD bgcolor="#0086b2" 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="#0086b2" height="1" width="462"><IMG border="0" height="1" hspace="0" src="resources/void.gif" vspace="0" width="462"></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></TABLE></DIV>
1246
1247        <P>We feel that this is a simpler architecture, and that it makes things
1248        easier for you. In the above example, for instance, the parser will be
1249        cleaned up for you automatically upon exit since you don't have to
1250        allocate it anymore.</P>
1251
1252    </FONT></TD></TR></TABLE><BR>
1253
1254
1255    <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>Moved Classes to src/framework</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1256
1257        <P>Some of the classes previously in the src/internal/
1258        directory have been moved to their more correct location in
1259        the src/framework/ directory. These are classes used by the
1260        outside world and should have been framework classes to begin
1261        with. Also, to avoid name classes in the absence of C++ namespace
1262        support, some of these clashes have been renamed to make them
1263        more XML specific and less likely to clash. More
1264        classes might end up being moved to framework as well.</P>
1265
1266        <P>So you might have to change a few include statements to
1267        find these classes in their new locations. And you might have
1268        to rename some of the names of the classes, if you used any of
1269        the ones whose names were changed.</P>
1270
1271    </FONT></TD></TR></TABLE><BR>
1272
1273    <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>Util directory Reorganization</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">&nbsp;</TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1274
1275        <P>The src/util directory was becoming somewhat of a dumping
1276        ground of platform and compiler stuff. So we reworked that
1277        directory to better spread things out. The new scheme is:
1278        </P>
1279
1280        <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>util - The platform independent utility stuff</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">&nbsp;</TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
1281            <UL>
1282                <LI>MsgLoaders - Holds the msg loader implementations</LI>
1283                <OL>
1284                    <LI>ICU</LI>
1285                    <LI>InMemory</LI>
1286                    <LI>MsgCatalog</LI>
1287                    <LI>Win32</LI>
1288                </OL>
1289                <LI>Compilers - All the compiler specific files</LI>
1290                <LI>Transcoders - Holds the transcoder implementations</LI>
1291                <OL>
1292                    <LI>Iconv</LI>
1293                    <LI>ICU</LI>
1294                    <LI>Win32</LI>
1295                </OL>
1296                <LI>Platforms</LI>
1297                <OL>
1298                    <LI>AIX</LI>
1299                    <LI>HP-UX</LI>
1300                    <LI>Linux</LI>
1301                    <LI>Solaris</LI>
1302                    <LI>....</LI>
1303                    <LI>Win32</LI>
1304                </OL>
1305            </UL>
1306        </FONT></TD></TR></TABLE><BR>
1307
1308        <P>This organization makes things much easier to understand.
1309        And it makes it easier to find which files you need and which
1310        are optional. Note that only per-platform files have any hard
1311        coded references to specific message loaders or
1312        transcoders. So if you don't include the ICU implementations
1313        of these services, you don't need to link in ICU or use any
1314        ICU headers. The rest of the system works only in terms of the
1315        abstraction APIs.</P>
1316
1317    </FONT></TD></TR></TABLE><BR>
1318    </FONT></TD></TR></TABLE><BR>
1319
1320</TD></TR></TABLE></TD></TR></TABLE><BR><TABLE border="0" cellpadding="0" cellspacing="0" width="620"><TR><TD bgcolor="#0086b2"><IMG height="1" src="images/dot.gif" width="1"></TD></TR><TR><TD align="center"><FONT color="#0086b2" size="-1"><I>
1321              Copyright &copy; 1999-2004 The Apache Software Foundation.
1322              All Rights Reserved.
1323            </I></FONT></TD></TR></TABLE></BODY></HTML>
Note: See TracBrowser for help on using the repository browser.