diff --git a/doc/build.xml b/doc/build.xml index 09c3218cb1aca16a99bfb741ab22f43df663ca9b..09a6145ee8ef7bd81694a4267e456f34d5c2274e 100644 --- a/doc/build.xml +++ b/doc/build.xml @@ -28,7 +28,6 @@ <li><link anchor="UNIX">UNIX/Linux/Mac OS X/Cygwin/MinGW</link></li> <li><link anchor="Windows">Windows using Microsoft Visual C++</link></li> <li><link anchor="BorlandCC">Windows using Borland C++</link></li> - <li><link anchor="BorlandBuilder">Windows using Borland C++ Builder</link></li> </ul> <anchor name="UNIX"/> @@ -290,7 +289,6 @@ directory:</p> <source> -(For VC6) projects\Win32\VC6\xerces-all\xerces-all.dsw (For VC7.1) projects\Win32\VC7.1\xerces-all\xerces-all.sln (For VC8) projects\Win32\VC8\xerces-all\xerces-all.sln (For VC9) projects\Win32\VC9\xerces-all\xerces-all.sln @@ -324,32 +322,12 @@ only)" to build all the selected projects in one shot.</p> </s3> - <anchor name="BorlandBuilder"/> - <s3 title="Building on Windows using Borland C++ Builder"> - <p>&XercesCName; source distribution comes with the - Borland C++ Builder 6 projects. The following describes the steps you - need to build with this compiler.</p> - - <p>The library and example projects are all contained in the - Xerces-all project group: - <code>&XercesC3SrcInstallDir;\projects\Win32\BCB6\Xerces-all\Xerces-all.bpg</code>. - Each project in the group refers a directory below <code>Xerces-all\</code>. - For example, the XercesLib project files are contained in the directory - <code>&XercesC3SrcInstallDir;\projects\Win32\BCB6\Xerces-all\XercesLib</code>.</p> - - <p>To build a project, open the project manager, double click on the project - name, and select "Project -> Build" from the menu. For example, double click - on XercesLib.dll in the manager then select "Project -> Build XercesLib" from - the menu. - </p> - </s3> - <anchor name="BorlandCC"/> <s3 title="Building on Windows using Borland C++"> <p>&XercesCName; source distribution comes with the Borland C++ makefiles. The following describes the steps you need to build &XercesCName; with this compiler.</p> <ol> - <li>Change to the <code>&XercesC3SrcInstallDir;\projects\Win32\BCC.551\Xerces-all</code> directory</li> + <li>Change to the <code>&XercesC3SrcInstallDir;\projects\Win32\BCC5\Xerces-all</code> directory</li> <li>Run <code>MakeBuildDirs.bat</code></li> <li><code>make -f Xerces-all.mak</code> to build the library, examples, and tests.</li> </ol> diff --git a/doc/migration.xml b/doc/migration.xml index dc657e8929971a245a5bbb20e019995d9977c97f..b9d47952eb628a2ba02f79ed609e1768448dd9aa 100644 --- a/doc/migration.xml +++ b/doc/migration.xml @@ -21,105 +21,68 @@ <s1 title="Migration"> <s2 title="Migration Archive"> - <p>For migration information to &XercesCName; 2 series or earlier, + <p>For migration information on earlier versions of &XercesCName; 2 please refer to <link idref="migrate-archive-&XercesC3Series;">Migration Archive</link>.</p> </s2> - <s2 title="Migrating from &XercesCName; 2 series to &XercesCName; &XercesC3Version;"> + <s2 title="Migrating from &XercesCName; 3.0.0 to &XercesCName; &XercesC3Version;"> <p>The following section is a discussion of the technical differences between - &XercesCName; 2 series and &XercesCName; &XercesC3Version;.</p> + &XercesCName; 3.0.0 and &XercesCName; &XercesC3Version;.</p> <p>Topics discussed are:</p> <ul> <li><link anchor="NewFeatures300">New features in &XercesCName; &XercesC3Version;</link></li> <li><link anchor="API300">Public API Changes</link></li> - <ul> - <li><link anchor="NewAPI300">New Public API</link></li> - <li><link anchor="ModifiedAPI300">Modified Public API</link></li> - <li><link anchor="DeprecatedAPI300">Deprecated/Removed Public API</link></li> - </ul> </ul> <anchor name="NewFeatures300"/> <s3 title="New features in &XercesCName; &XercesC3Version;"> <ul> - <li>Autotools-based build system for the UNIX/Linux/Mac OS X platforms</li> - <li>Project files for VC++ 9</li> - <li>Support for the ICU transcoder in VC++ 7.1, 8, and 9 project files</li> - <li>libcurl-based net accessor</li> - <li>Support for XInclude in DOM</li> - <li>Support for both XPath 1 and XPath 2 models in the DOM XPath interface</li> - <li>Support for the XML Schema subset of XPath 1 in DOM</li> - <li>Conformance to the final DOM Level 3 interface specification</li> - <li>Ability to provide custom DOM memory manager as well as tune the global DOM heap parameters</li> - <li>All public and widely used interfaces as well as a large - portion of the implementation were converted to be 64-bit safe.</li> - <li>Various XML Schema fixes including the fix for the large - maxOccurs and minOccurs bug as well as for the changed ##other - interpretation</li> - <li>Reviewed and cleaned up diagnostics messages</li> - <li>Optimizations for SAX/SAX2 and DOM parsing as well as XML Schema - validation</li> + <li>Working multi-import support. The support for handling multiple import + declarations with the same target namespaces has been improved and + thoroughly tested. Furthermore, the same logic was extended to + loadGrammar and the schemaLocation attributes so that you can load + several schemas with the same namespace and/or "add" more declarations + with the schemaLocation attributes. To enable this feature, set the + XMLUni::fgXercesHandleMultipleImports feature/parameter to true. + Starting with this release all the tests and examples have multi-import + support enabled by default.</li> + + <li>New property, XMLUni::fgXercesLowWaterMark, allows to configure the + parser buffer low water mark. In particular, setting this value to 0 + disables data caching in the parser which can be useful if you want + the SAX events to be dispatched as soon as the data is available.</li> + + <li>DOMLSParser::parseWithContext implementation. In particular, this + functionality allows one to parse a document fragment with missing + namespace declarations as long as the context document provides them.</li> + + <li>Improved performance and reduced memory footprint when validating with + large maxOccurs values. If available, the SSE2 instructions are used to + further speedup this case.</li> + + <li>Improved scalability of the XML Schema identity checking (key, keyref, + and unique).</li> + + <li>Multiple XML Schema conformance fixes.</li> + + <li>More robust external library detection (libcurl and ICU). In particular, + the build system no longer tries to inject any additional paths such as + /usr or /usr/local.</li> + + <li>Compilation of the ICU message loader resources no longer depends on + the ICU implementation details.</li> </ul> </s3> <anchor name="API300"/> <s3 title="Public API Changes"> - <p>&XercesCName; &XercesC3Version; is a major release and includes - a number of application-breaking interface changes compared to - &XercesCName; 2 series. - The following sub-sections provide an overview of the public API - changes between &XercesCName; 2 series and this release.</p> - - <anchor name="NewAPI300"/> - <s4 title="New Public APIs"> - <ul> - <li>XMLGrammarPoolImpl implementation has been moved to - framework/ and is now publicly accessible</li> - - <li>DOM XPath interfaces now support XPath 2 model</li> - - <li>A number of DOM interfaces (DOMLSInput, DOMLSOuput, - DOMLSParser, DOMLSSerializer, DOMConfiguration, etc.) - were added as part of the the final DOM Level 3 - specification conformance work</li> - </ul> - </s4> - - <anchor name="ModifiedAPI300"/> - <s4 title="Modified Public APIs"> - - <p>A large number of public APIs have been modified. Consult - individual interface documentation for details. The following - list gives an overview of major changes:</p> - - <ul> - <li>Several DOM interfaces have been adjusted to conform to the final - DOM Level 3 specification</li> - - <li>DOM XPath interfaces have been adjusted to support both XPath 1 - and XPath 2</li> - - <li>Many public interfaces that used int/long types to represent - memory-related sizes, counts, indexes, etc., have been modified - to use the 64-bit safe XMLSize_t type instead</li> - </ul> - - </s4> - - <anchor name="DeprecatedAPI300"/> - <s4 title="Deprecated/Removed Public APIs"> - <p>All APIs marked as deprecated in &XercesCName; 2 series have - been removed in this release. In particular deprecated DOM - (depdom) as well as COM support have been removed.</p> - - <p>Furthermore, a number of DOM interfaces (DOMBuilder, DOMWriter, - DOMInputSource, etc.) were replaced as part of the the final - DOM Level 3 specification conformance work.</p> - </s4> - + <p>&XercesCName; &XercesC3Version; is a minor release and does + not include any public API changes that would preclude + applications using the previous version of &XercesCName; from + building successfully with this version.</p> </s3> </s2> diff --git a/doc/migration_archive.xml b/doc/migration_archive.xml index e33f77315ce6b5b16651986af81db4f2f09acdd4..a4412a16660aa6e6ec5428f7446983c97eb758d2 100644 --- a/doc/migration_archive.xml +++ b/doc/migration_archive.xml @@ -21,6 +21,7 @@ <s1 title="Migration Archive"> <s2 title="Migrating to earlier Releases"> <ul> + <li><link anchor="Migrateto300">Migrating from &XercesCName; 2.8.0 to 3.0.0</link></li> <li><link anchor="Migrateto280">Migrating from &XercesCName; 2.7.0 to 2.8.0</link></li> <li><link anchor="Migrateto270">Migrating from &XercesCName; 2.6.0 to 2.7.0</link></li> <li><link anchor="Migrateto260">Migrating from &XercesCName; 2.5.0 to 2.6.0</link></li> @@ -37,6 +38,104 @@ </ul> </s2> + <anchor name="Migrateto300"/> + <s2 title="Migrating from &XercesCName; 2.8.0 to &XercesCName; 3.0.0"> + <p>The following section is a discussion of the technical differences between + &XercesCName; 2.8.0 and &XercesCName; 3.0.0.</p> + + <p>Topics discussed are:</p> + <ul> + <li><link anchor="NewFeatures300">New features in &XercesCName; 3.0.0</link></li> + <li><link anchor="API300">Public API Changes</link></li> + <ul> + <li><link anchor="NewAPI300">New Public API</link></li> + <li><link anchor="ModifiedAPI300">Modified Public API</link></li> + <li><link anchor="DeprecatedAPI300">Deprecated/Removed Public API</link></li> + </ul> + </ul> + + <anchor name="NewFeatures300"/> + <s3 title="New features in &XercesCName; 3.0.0"> + <ul> + <li>Autotools-based build system for the UNIX/Linux/Mac OS X platforms</li> + <li>Project files for VC++ 9</li> + <li>Support for the ICU transcoder in VC++ 7.1, 8, and 9 project files</li> + <li>libcurl-based net accessor</li> + <li>Support for XInclude in DOM</li> + <li>Support for both XPath 1 and XPath 2 models in the DOM XPath interface</li> + <li>Support for the XML Schema subset of XPath 1 in DOM</li> + <li>Conformance to the final DOM Level 3 interface specification</li> + <li>Ability to provide custom DOM memory manager as well as tune the global DOM heap parameters</li> + <li>All public and widely used interfaces as well as a large + portion of the implementation were converted to be 64-bit safe.</li> + <li>Various XML Schema fixes including the fix for the large + maxOccurs and minOccurs bug as well as for the changed ##other + interpretation</li> + <li>Reviewed and cleaned up diagnostics messages</li> + <li>Optimizations for SAX/SAX2 and DOM parsing as well as XML Schema + validation</li> + </ul> + </s3> + + <anchor name="API300"/> + <s3 title="Public API Changes"> + + <p>&XercesCName; 3.0.0 is a major release and includes + a number of application-breaking interface changes compared to + &XercesCName; 2 series. + The following sub-sections provide an overview of the public API + changes between &XercesCName; 2 series and this release.</p> + + <anchor name="NewAPI300"/> + <s4 title="New Public APIs"> + <ul> + <li>XMLGrammarPoolImpl implementation has been moved to + framework/ and is now publicly accessible</li> + + <li>DOM XPath interfaces now support XPath 2 model</li> + + <li>A number of DOM interfaces (DOMLSInput, DOMLSOuput, + DOMLSParser, DOMLSSerializer, DOMConfiguration, etc.) + were added as part of the the final DOM Level 3 + specification conformance work</li> + </ul> + </s4> + + <anchor name="ModifiedAPI300"/> + <s4 title="Modified Public APIs"> + + <p>A large number of public APIs have been modified. Consult + individual interface documentation for details. The following + list gives an overview of major changes:</p> + + <ul> + <li>Several DOM interfaces have been adjusted to conform to the final + DOM Level 3 specification</li> + + <li>DOM XPath interfaces have been adjusted to support both XPath 1 + and XPath 2</li> + + <li>Many public interfaces that used int/long types to represent + memory-related sizes, counts, indexes, etc., have been modified + to use the 64-bit safe XMLSize_t type instead</li> + </ul> + + </s4> + + <anchor name="DeprecatedAPI300"/> + <s4 title="Deprecated/Removed Public APIs"> + <p>All APIs marked as deprecated in &XercesCName; 2 series have + been removed in this release. In particular deprecated DOM + (depdom) as well as COM support have been removed.</p> + + <p>Furthermore, a number of DOM interfaces (DOMBuilder, DOMWriter, + DOMInputSource, etc.) were replaced as part of the the final + DOM Level 3 specification conformance work.</p> + </s4> + + </s3> + </s2> + <anchor name="Migrateto280"/> <s2 title="Migrating from &XercesCName; 2.7.0 to &XercesCName; 2.8.0"> <p>The following section is a discussion of the technical differences between diff --git a/doc/readme.xml b/doc/readme.xml index f68b66c61690be89896e50f3cf371104ab206453..7b8840e7cf1be880bcdef6435a97e598172b46be 100644 --- a/doc/readme.xml +++ b/doc/readme.xml @@ -91,7 +91,7 @@ <li><jump href="http://www.w3.org/TR/2008/REC-ElementTraversal-20081222/"> Element Traversal Specification</jump>, W3C Recommendation 22 December 2008</li> </ul> - <li>Source code, samples, and documentation is provided</li> + <li>Source code, samples, and documentation are provided</li> <li>Programmatic generation and validation of XML</li> <li>Pluggable catalogs, validators and encodings</li> <li>High performance</li>