| <?xml version="1.0" standalone="no"?> |
| <!DOCTYPE s1 SYSTEM "./dtd/document.dtd"> |
| |
| <s1 title="Migration"> |
| <s2 title="Migrating from &XercesCName; &XercesCVersion140; to &XercesCName; &XercesCVersion;"> |
| <p>This document is a discussion of the technical differences between |
| &XercesCName; &XercesCVersion140; code base and the new &XercesCName; &XercesCVersion; code base.</p> |
| |
| <p>Topics discussed are:</p> |
| <ul> |
| <li><link anchor="GenImprovements">General Improvements</link></li> |
| <ul> |
| <li><link anchor="Compliance">Compliance</link></li> |
| <li><link anchor="BugFixes">Bug Fixes</link></li> |
| <li><link anchor="Speed">Speed</link></li> |
| </ul> |
| <li><link anchor="Changes">Changes required to migrate to &XercesCName; &XercesCVersion;</link></li> |
| <ul> |
| <li><link anchor="Reorganization">Validator directory Reorganization</link></li> |
| <li><link anchor="DTDValidator">DTDValidator</link></li> |
| </ul> |
| <li><link anchor="NewFeatures">New features in &XercesCName; &XercesCVersion;</link></li> |
| <ul> |
| <li><link anchor="Schema">Schema Subset Support</link></li> |
| <li><link anchor="IDOM">Experiemental IDOM</link></li> |
| </ul> |
| </ul> |
| </s2> |
| |
| <anchor name="GenImprovements"/> |
| <s2 title="General Improvements"> |
| |
| <p>The new version is improved in many ways. Some general improvements |
| are: significantly better conformance to the XML spec, cleaner |
| internal architecture, many bug fixes, and faster speed.</p> |
| |
| <anchor name="Compliance"/> |
| <s3 title="Compliance"> |
| <p>Except for a couple of the very obscure (mostly related to |
| the 'standalone' mode), this version should be quite compliant |
| to <jump href="http://www.w3.org/TR/REC-xml">XML 1.0</jump>. It also |
| tracks the latest changes to DOM, SAX and Namespace Specification. |
| We have more than a thousand tests, some collected from various |
| public sources and some IBM generated, which are used to do |
| regression testing. The C++ parser is now passing all but a |
| handful of them.</p> |
| </s3> |
| |
| <anchor name="BugFixes"/> |
| <s3 title="Bug Fixes"> |
| <p>This version has many bug fixes since last release. |
| Some of these were reported by users and some were brought up by |
| way of the conformance testing.</p> |
| </s3> |
| |
| <anchor name="Speed"/> |
| <s3 title="Speed"> |
| <p>Much work was done to speed up this version. Some of the |
| new features, such as experiemental IDOM ended |
| up eating up some of these gains, but overall the new version |
| is significantly faster than previous versions, even while doing |
| more.</p> |
| </s3> |
| </s2> |
| |
| |
| <anchor name="Changes"/> |
| <s2 title="Changes required to migrate to &XercesCName; &XercesCVersion;"> |
| |
| <p>There are some architectural changes between the &XercesCName; |
| &XercesCVersion140; and the &XercesCName; &XercesCVersion; releases |
| of the parser, and as a result, some code has undergone restructuring |
| as shown below. </p> |
| |
| <anchor name="Reorganization"/> |
| <s3 title="Validator directory Reorganization"> |
| <ul> |
| <li>common content model files such as DFAContentModel ... |
| are moved to a new directory called src/validators/common</li> |
| <li>DTD related files are moved to a new directory called src/validators/DTD</li> |
| <li>new directory src/validators/Datatype is created to store all datatype validators</li> |
| <li>new directory src/validators/schema is created to store Schema related files</li> |
| </ul> |
| </s3> |
| |
| <anchor name="DTDValidator"/> |
| <s3 title="DTDValidator"> |
| <p> DTDValidator was design to scan, validate and store the DTD in &XercesCName; &XercesCVersion140; |
| or earlier. In &XercesCName; &XercesCVersion;, this process is broken down into three components: |
| </p> |
| <ul> |
| <li>new class DTDScanner - to scan the DTD</li> |
| <li>new class DTDGrammar - to store the DTD Grammar</li> |
| <li>DTDValidator - to validate the DTD only</li> |
| </ul> |
| </s3> |
| |
| </s2> |
| |
| <anchor name="NewFeatures"/> |
| <s2 title="New features in &XercesCName; &XercesCVersion;"> |
| <p> Schema subset support is provided in this release. See |
| <jump href="schema.html#supportedFeature"> |
| supported schema features in &XercesCName; &XercesCVersion;.</jump>. An |
| experiemental IDOM is also available as well. |
| </p> |
| |
| <anchor name="Schema"/> |
| <s3 title="Schema Subset Support"> |
| <ul> |
| <li>Schema Subset support is added</li> |
| <ul> |
| <li>New function "setDoSchema" is added to DOM/SAX parser.</li> |
| <li>New feature "http://apache.org/xml/features/validation/schema" is recognized by SAX2XMLReader.</li> |
| <li>New classes such as SchemaValidator, TraverseSchema ... are added.</li> |
| <li>The Scanner is enhanced to process schema.</li> |
| </ul> |
| <li>New sample data files personal-schema.xml and personal.xsd.</li> |
| <li>New command line option "-s" for samples.</li> |
| </ul> |
| <p> |
| See <jump href="schema.html#usage"> |
| Schema Usage</jump> |
| </p> |
| </s3> |
| |
| <anchor name="IDOM"/> |
| <s3 title="Experiemental IDOM"> |
| <p>The experimental IDOM API is a new design of the C++ DOM API. If you would like |
| to migrate from DOM to the experimental IDOM, please refer to |
| <jump href="program.html#IDOMProgGuide"> |
| IDOM programming guide.</jump> Please note that this experimental IDOM API is only |
| a prototype and is subject to change. |
| </p> |
| </s3> |
| |
| </s2> |
| |
| <s2 title="Migration Archive"> |
| |
| <p> For migration information from XML4C 2.x to &XercesCName; &XercesCVersion140;, |
| please refer to <jump href="migrate_archive.html">Migration Archive. </jump></p> |
| |
| </s2> |
| |
| </s1> |