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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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, "http://apache.org/xml/features/dom/byte-order-mark", 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"> </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"> </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"> </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"> </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 "en_US".</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& 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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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 ----> libxerces-c26.so</LI>
|
---|
547 | <LI>symbolic link: libxerces-c26.so ----> 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 ----> libxerces-c.so.26</LI>
|
---|
553 | <LI>symbolic link: libxerces-c.so.26 ----> 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 ----> libxerces-c.sl.26</LI>
|
---|
559 | <LI>symbolic link: libxerces-c.sl.26 ----> 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"> </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 <xercesc/dom/DOM.hpp>
|
---|
573 | #include <xercesc/dom/DOM_Document.hpp>
|
---|
574 | #include <xercesc/parsers/DOMParser.hpp>
|
---|
575 |
|
---|
576 | void 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 <xercesc/dom/deprecated/DOM.hpp> //<==== change this include line
|
---|
588 | #include <xercesc/dom/deprecated/DOM_Document.hpp> //<==== change this include line
|
---|
589 | #include <xercesc/dom/deprecated/DOMParser.hpp> //<==== change this include line
|
---|
590 |
|
---|
591 | // the rest is the same
|
---|
592 | void 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 <xercesc/idom/IDOM.hpp>
|
---|
618 | #include <xercesc/idom/IDOM_Document.hpp>
|
---|
619 | #include <xercesc/parsers/IDOMParser.hpp>
|
---|
620 |
|
---|
621 | void 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 <xercesc/dom/DOM.hpp> //<==== change this include line
|
---|
633 | #include <xercesc/dom/DOMDocument.hpp> //<==== change this include line
|
---|
634 | #include <xercesc/parsers/XercesDOMParser.hpp> //<==== change this include line
|
---|
635 |
|
---|
636 | void test(char* xmlFile) {
|
---|
637 | XercesDOMParser parser; //<==== rename the IDOMParser
|
---|
638 | parser.parse(xmlFile);
|
---|
639 | DOMDocument* doc = parser.getDocument(); //<==== 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"> </TD><TD width="474"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
648 | <P>The Xerces-C++ 2.0.0 extends the "Reuse Grammar" support by replacing it with
|
---|
649 | a new feature called "Grammar Caching" 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 | // "firstXmlFile" 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 "firstXmlFile")
|
---|
662 | // to validate the second "anotherXmlFile". 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 "Reuse Grammar" and "Grammar Caching" </P>
|
---|
695 | <OL>
|
---|
696 | <LI>"Reuse Grammar" ignores any grammar that is specified in anotherXmlFile and simply
|
---|
697 | reuse whatever stored in previous parse; while "Grammar Caching" 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>"Reuse Grammar" can only reuse the grammar from previous parse; while "Grammar Caching"
|
---|
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 "Grammar Caching" has much more functionalities other than above
|
---|
704 | (like "Pre-parsing Grammar"). 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"> </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"> </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"> </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 "reuseGrammar" in
|
---|
786 | the following API is dropped.
|
---|
787 | Users should now use the "Grammar Caching" 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& 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& source, XMLPScanToken& toFill, const bool reuseGrammar = false);</LI>
|
---|
796 | <LI>parseFirst(const XMLCh* const systemId, XMLPScanToken& toFill, const bool reuseGrammar = false);</LI>
|
---|
797 | <LI>parseFirst(const char* const systemId, XMLPScanToken& 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"> </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" instead.</LI>
|
---|
809 | <LI>SAX2XMLReader::setExitOnFirstFatalError. For consistency, SAX2XMLReader users should
|
---|
810 | set the feature "http://apache.org/xml/features/continue-after-fatal-error" 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"> </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"> </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">"Directory change in Xerces-C++ 1.7.0"</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"> </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 | "..\..\..\..\..\src\<B>xercesc</B>" (Projects->settings->C/C++->Preprocessor), <BR>
|
---|
854 | or <BR>
|
---|
855 | change the relevant #include instances in the source/header files, accordingly, eg <BR>
|
---|
856 | #include <util/XMLString.hpp> be changed to <BR>
|
---|
857 | #include <<B>xercesc</B>/util/XMLString.hpp> </LI>
|
---|
858 | <LI>Unix application, <BR>
|
---|
859 | either change the <B>include search path </B> in the Makefile to
|
---|
860 | " -I <installroot>/include/<B>xercesc</B>", <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"> </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"> </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 &name) const</LI>
|
---|
895 | <LI>bool DOM_Element::hasAttributeNS(const DOMString &namespaceURI,
|
---|
896 | const DOMString &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"> </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 &feature, const DOMString &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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </TD><TD width="464"><FONT color="#000000" face="arial,helvetica,sanserif" size="-1">
|
---|
1028 | <UL>
|
---|
1029 | <LI>New function "setDoSchema" is added to DOM/SAX parser.</LI>
|
---|
1030 | <LI>New feature "http://apache.org/xml/features/validation/schema" 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 "-s" 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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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"> </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 © 1999-2004 The Apache Software Foundation.
|
---|
1322 | All Rights Reserved.
|
---|
1323 | </I></FONT></TD></TR></TABLE></BODY></HTML> |
---|