[358] | 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> |
---|