diff --git a/LICENSE.txt b/LICENSE.txt index fccc90eb116f711d8363f159d75fd1a8702fcfeb..564542d576012ed32cac8bc9ec21b9cec2787dd3 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -2,7 +2,7 @@ * The Apache Software License, Version 1.1 * * - * Copyright (c) 1999-2000 The Apache Software Foundation. All rights + * Copyright (c) 1999-2001 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -50,7 +50,7 @@ * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation and was * originally based on software copyright (c) 1999, International - * Business Machines, Inc., http://www.apache.org. For more + * Business Machines, Inc., http://www.ibm.com. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. */ diff --git a/credits.txt b/credits.txt index e88a0bd1b6758cdda49842506e036b56ccf0e684..92bcc095e3abcee2ba527d309f5e50978a9bb8e6 100644 --- a/credits.txt +++ b/credits.txt @@ -3,22 +3,85 @@ development and ports of the XML4C source code, which was submitted to the Apache Software Foundation. -Andy Clark -Andy Heninger -Andy Levine +Nadav Aharoni +Curt Arnold Anupam Bagchi +Torbjörn Bäckström +Matthew Baker +Devin Barnhart +James Berry +David Bertoni +John Bellardo Arundhati Bhowmick +Edward Bortner +Sumit Chawla +Andy Clark Chih Hsiang Chou -Dean Roddey -Gereon Steffens -Glenn Marcy -John Bellardo -Michael Ottati -Mike Pogue -Paul Ferguson +Radovan Chytracek +Hiram Clawson +Todd Collins +Michael Crawford +Murray Cumming +Helmut Eiken +Mark Everline +Simon Fell +Paul Ferguson +Pierpaolo Fumagalli +Gary Gale +Herny Gongaro +Susan Hardenbrook +Jeff Harrell +Andy Heninger +William L. Hopper Rahul Jain +Tom Jordahl +Martin Kalen +Joe Kesselman +Bob Kline +Richard Ko +Paul Kramer +Volker Krause +Arnaud LeHors +Ted Leung +Andy Levine +Jeff Lewis +Matt Lovett +Sean MacRoibeaird +Glenn Marcy +Alberto Massari +Jordan Naftolin +Tinny Ng +David Nickerson +Khaled Noaman +Michael Ottati Ralf Pfeiffer -Roger Webster +Mike Pogue +Joe Polastre +John Ponzo +Shengkai Qu +Gareth Reakes +Jim Reitz +Dean Roddey +John Roper Steven Rosenthal -Ted Leung +Erik Rydgren +Bill Schindler +Erik Schroeder +Christian Schuhegger +John Smirl +Andrei Smirnov +Gereon Steffens +Rick J. Stevens +Roman Sulzhyk +Linda M. Swan +Pieter Van-Dyck +Peter A. Volchek +Curtis Walker Tom Watson +Roger Webster +Robert Weir +Dietrich Wolf +Kirk Wylie +Grace Yan +PeiYong Zhang + diff --git a/doc/Doxyfile b/doc/Doxyfile index 884edf767e7918104a2796b30644801401fd5570..b884d8e4aa22a5dc1249c782fbce7ae39fff93ba 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -25,7 +25,7 @@ PROJECT_NAME = Xerces-C # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = v1.4.0 +PROJECT_NUMBER = v1.5.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. diff --git a/doc/bug-report.xml b/doc/bug-report.xml index dd6e8109a0b8fdd265256be83b2cbf25643f5006..bfc9cdb25ca5e9c9b824b1a7670c5dbde6293048 100644 --- a/doc/bug-report.xml +++ b/doc/bug-report.xml @@ -14,6 +14,7 @@ <tr><td>SAX/SAX2</td><td>Items specific to SAX or SAX2</td></tr> <tr><td>Non-Validating Parser</td><td>General Parsing Problem</td></tr> <tr><td>Validating Parser (DTD)</td><td>DTD related parser issue</td></tr> + <tr><td>Validating Parser (Schema)</td><td>Schema related parser issue</td></tr> <tr><td>Utilities</td><td>Items related to utilities like MessageLoader, Transcoder, NetAccessors, Platform specific utilities</td></tr> <tr><td>Build</td><td>Problem with build, makefile, project files</td></tr> <tr><td>Documentation</td><td>Documentation bugs such as FAQ, Programming Guide</td></tr> diff --git a/doc/faq-other.xml b/doc/faq-other.xml index 1bfd8b0b2290468035b7cffcf536f94ddb1350a7..117869ff87a24955de04a77c253af5a37f570d6c 100644 --- a/doc/faq-other.xml +++ b/doc/faq-other.xml @@ -107,4 +107,17 @@ </a> </faq> + + <faq title="Where can I get predefined character entity definitions?"> + + <q>Where can I get predefined character entity definitions??</q> + + <a> + + <p> Download <jump href="http://www.w3.org/TR/xhtml1/xhtml1.zip"> + http://www.w3.org/TR/xhtml1/xhtml1.zip. </jump></p> + + </a> + </faq> + </faqs> diff --git a/doc/faq-parse.xml b/doc/faq-parse.xml index 284adc91d4ed56051d08e33a839c49bd834c6791..c98655f1983b003dffa25b680b60f06228f2c3b9 100644 --- a/doc/faq-parse.xml +++ b/doc/faq-parse.xml @@ -9,8 +9,19 @@ <a> - <p>See <jump href="http://xml.apache.org/xerces-c/schema.html"> - http://xml.apache.org/xerces-c/schema.html</jump> for latest status.</p> + <p>See <jump href="schema.html">the Schema page. </jump></p> + + </a> + </faq> + + <faq title="Why Xerces-C does not support this particular Schema feature?"> + + <q> Why Xerces-C does not support this particular Schema feature?</q> + + <a> + + <p> See <jump href="schema.html#supportedFeature"> + supported schema features in Xerces1.5.</jump></p> </a> </faq> @@ -591,9 +602,81 @@ catch (const XMLException& toCatch) { <faq title="Why does deleting a transcoded string result in assertion on windows?"> <q>Why does deleting a transcoded string result in assertion on windows?</q> <a> - <p>You are mixing runtimes in your process. If you build your program with debug, link - to the debug version of the parser. If you build your program for release, link to - the release version of the parser.</p> + <p>Both your application program and the Xerces DLL must use the same *DLL* version of the + runtime library. If either statically links to the runtime library, the + problem will still occur. + + For example, for a Win32/VC6 build, the runtime library build setting MUST + be "Multithreaded DLL" for release builds and "Debug Multithreaded DLL" for + debug builds.</p> + </a> + </faq> + + <faq title="How do I transcode to/from something besides the local code page?"> + <q>How do I transcode to/from something besides the local code page?</q> + <a> + <p>XMLString::transcode() will transcode from XMLCh to the local code page, and + other APIs which take a char* assume that the source text is in the local + code page. If this is not true, you must transcode the text yourself. You + can do this using local transcoding support on your OS, such as Iconv on + Unix or or IBM's ICU package. However, if your transcoding needs are simple, + you can achieve some better portability by using the Xerces parser's + transcoder wrappers. You get a transcoder like this: + </p> + <ul> + <li> + 1. Call XMLPlatformUtils::fgTransServer->MakeNewTranscoderFor() and provide + the name of the encoding you wish to create a transcoder for. This will + return a transcoder to you, which you own and must delete when you are + through with it. + + NOTE: You must provide a maximum block size that you will pass to the transcoder + at one time, and you must blocks of characters of this count or smaller when + you do your transcoding. The reason for this is that this is really an + internal API and is used by the parser itself to do transcoding. The parser + always does transcoding in known block sizes, and this allows transcoders to + be much more efficient for internal use since it knows the max size it will + ever have to deal with and can set itself up for that internally. In + general, you should stick to block sizes in the 4 to 64K range. + </li> + <li> + 2. The returned transcoder is something derived from XMLTranscoder, so they + are all returned to you via that interface. + </li> + <li> + 3. This object is really just a wrapper around the underlying transcoding + system actually in use by your version of Xerces, and does whatever is + necessary to handle differences between the XMLCh representation and the + representation uesd by that underying transocding system. + </li> + <li> + 4. The transcoder object has two primary APIs, transcodeFrom() and + transcodeTo(). These transcode between the XMLCh format and the encoding you + indicated. + </li> + <li> + 5. These APIs will transcode as much of the source data as will fit into the + outgoing buffer you provide. They will tell you how much of the source they + ate and how much of the target they filled. You can use this information to + continue the process until all source is consumed. + </li> + <li> + 6. char* data is always dealt with in terms of bytes, and XMLCh data is + always dealt with in terms of characters. Don't mix up which you are dealing + with or you will not get the correct results, since many encodings don't + have a one to one relationship of characters to bytes. + </li> + <li> + 7. When transcoding from XMLCh to the target encoding, the transcodeTo() + method provides an 'unrepresentable flag' parameter, which tells the + transcoder how to deal with an XMLCh code point that cannot be converted + legally to the target encoding, which can easily happen since XMLCh is + Unicode and can represent thousands of code points. The options are to use a + default replacement character (which the underlying transcoding service will + choose, and which is guaranteed to be legal for the target encoding), or to + throw an exception. + </li> + </ul> </a> </faq> diff --git a/doc/feedback.xml b/doc/feedback.xml index 5d3cd84bb6598bc6ddc307b94b76ceb3cbb3eba5..0dcba3f4a72ff78c79daa4c6ed34d44220400c96 100644 --- a/doc/feedback.xml +++ b/doc/feedback.xml @@ -47,11 +47,14 @@ <li>Michael Crawford</li> <li>Murray Cumming</li> <li>Helmut Eiken</li> + <li>Mark Everline</li> <li>Simon Fell</li> <li>Paul Ferguson</li> <li>Pierpaolo Fumagalli</li> <li>Gary Gale</li> + <li>Herny Gongaro</li> <li>Susan Hardenbrook</li> + <li>Jeff Harrell</li> <li>Andy Heninger</li> <li>William L. Hopper</li> <li>Rahul Jain</li> @@ -65,7 +68,9 @@ <li>Arnaud LeHors</li> <li>Andy Levine</li> <li>Jeff Lewis</li> + <li>Matt Lovett</li> <li>Sean MacRoibeaird</li> + <li>Alberto Massari</li> <li>Jordan Naftolin</li> <li>Tinny Ng</li> <li>David Nickerson</li> @@ -80,12 +85,15 @@ <li>Dean Roddey</li> <li>John Roper</li> <li>Steven Rosenthal</li> + <li>Erik Rydgren</li> <li>Bill Schindler</li> <li>Erik Schroeder</li> + <li>Christian Schuhegger</li> <li>John Smirl</li> <li>Andrei Smirnov</li> <li>Gereon Steffens</li> <li>Rick J. Stevens</li> + <li>Roman Sulzhyk</li> <li>Linda M. Swan</li> <li>Pieter Van-Dyck</li> <li>Curtis Walker</li> @@ -94,8 +102,9 @@ <li>Robert Weir</li> <li>Dietrich Wolf</li> <li>Kirk Wylie</li> + <li>Peter A. Volchek</li> <li>Grace Yan</li> - <li>Pei Yong Zhang</li> + <li>PeiYong Zhang</li> </ul> </s2> </s1> diff --git a/doc/migration.xml b/doc/migration.xml index 9c89d72db57b531f13b729b8da943197e7ad2da2..619057288d0ed9c0c9c2acb778c90eb1cdaea9c5 100644 --- a/doc/migration.xml +++ b/doc/migration.xml @@ -1,35 +1,31 @@ <?xml version="1.0" standalone="no"?> <!DOCTYPE s1 SYSTEM "./dtd/document.dtd"> -<s1 title="Migrating from XML4C 2.x"> - <p>This document is a discussion of the technical differences between - XML4C 2.x code base and the new &XercesCName; &XercesCVersion; code base.</p> +<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> + <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="Summary">Summary of changes required to migrate from XML4C 2.x to &XercesCName; &XercesCVersion;</link></li> - <li><link anchor="Samples">The Samples</link></li> - <li><link anchor="ParserClasses">Parser Classes</link></li> - <li><link anchor="DOMLevel2">DOM Level 2 support</link></li> - <li><link anchor="Progressive">Progressive Parsing</link></li> - <li><link anchor="Namespace">Namespace support</link></li> - <li><link anchor="MovedToSrcFramework">Moved Classes to src/framework</link></li> - <li><link anchor="LoadableMessageText">Loadable Message Text</link></li> - <li><link anchor="PluggableValidators">Pluggable Validators</link></li> - <li><link anchor="PluggableTranscoders">Pluggable Transcoders</link></li> - <li><link anchor="UtilReorg">Util directory Reorganization</link></li> + <li><link anchor="Changes">Changes required to migrate to &XercesCName; &XercesCVersion;</link></li> <ul> - <li><link anchor="UtilPlatform">util - The platform independent utility stuff</link></li> + <li><link anchor="Reorganization">Validator directory Reorganization</link></li> + <li><link anchor="DTDValidator">DTDValidator</link></li> </ul> - </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"> @@ -41,7 +37,9 @@ <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. + 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 @@ -50,7 +48,7 @@ <anchor name="BugFixes"/> <s3 title="Bug Fixes"> - <p>This version has many bug fixes with regard to XML4C version 2.x. + <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> @@ -58,7 +56,7 @@ <anchor name="Speed"/> <s3 title="Speed"> <p>Much work was done to speed up this version. Some of the - new features, such as namespaces, and conformance checks ended + 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> @@ -66,444 +64,82 @@ </s2> - <anchor name="Summary"/> - <s2 title="Summary of changes required to migrate from XML4C 2.x to &XercesCName; &XercesCVersion;"> - - <p>As mentioned, there are some major architectural changes - between the 2.3.x and &XercesCName; &XercesCVersion; releases - of the parser, and as a result the code has undergone - significant restructuring. The list below mentions the public - api's which existed in 2.3.x and no longer exist in - &XercesCName; &XercesCVersion;. It also mentions the - &XercesCName; &XercesCVersion; api which will give you the - same functionality. Note: This list is not exhaustive. The - API docs (and ultimately the header files) supplement this - information.</p> - - <ul> - - <li><code>parsers/[Non]Validating[DOM/SAX]parser.hpp</code><br/> - These files/classes have all been consolidated in the new - version to just two files/classes: - <code>[DOM/SAX]Parser.hpp</code>. Validation is now a - property which may be set before invoking the - <code>parse</code>. Now, the - <code>setDoValidation()</code> method controls the - validation processing.</li> - - <li>The <code>framework/XMLDocumentTypeHandler.hpp</code> - been replaced with - <code>validators/DTD/DocTypeHandler.hpp</code>.</li> - - <li>The following methods now have different set of - parameters because the underlying base class methods have - changed in the 3.x release. These methods belong to one of - <code>XMLDocumentHandler</code>, - <code>XMLErrorReporter</code> or - <code>DocTypeHandler</code> interfaces.</li> - <ul> - <li><code>[Non]Validating[DOM/SAX]Parser::docComment</code></li> - <li><code>[Non]Validating[DOM/SAX]Parser::doctypePI</code></li> - <li><code>[Non]ValidatingSAXParser::elementDecl</code></li> - <li><code>[Non]ValidatingSAXParser::endAttList</code></li> - <li><code>[Non]ValidatingSAXParser::entityDecl</code></li> - <li><code>[Non]ValidatingSAXParser::notationDecl</code></li> - <li><code>[Non]ValidatingSAXParser::startAttList</code></li> - <li><code>[Non]ValidatingSAXParser::TextDecl</code></li> - <li><code>[Non]ValidatingSAXParser::docComment</code></li> - <li><code>[Non]ValidatingSAXParser::docPI</code></li> - <li><code>[Non]Validating[DOM/SAX]Parser::endElement</code></li> - <li><code>[Non]Validating[DOM/SAX]Parser::startElement</code></li> - <li><code>[Non]Validating[DOM/SAX]Parser::XMLDecl</code></li> - <li><code>[Non]Validating[DOM/SAX]Parser::error</code></li> - </ul> + <anchor name="Changes"/> + <s2 title="Changes required to migrate to &XercesCName; &XercesCVersion;"> - <li>The following methods/data members changed visibility - from <code>protected</code> in 2.3.x to - <code>private</code> (with public setters and getters, as - appropriate).</li> + <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><code>[Non]ValidatingDOMParser::fDocument</code></li> - <li><code>[Non]ValidatingDOMParser::fCurrentParent</code></li> - <li><code>[Non]ValidatingDOMParser::fCurrentNode</code></li> - <li><code>[Non]ValidatingDOMParser::fNodeStack</code></li> - </ul> - - - <li>The following files have moved, possibly requiring - changes in the <code>#include</code> statements.</li> - - <ul> - <li><code>MemBufInputSource.hpp</code></li> - <li><code>StdInInputSource.hpp</code></li> - <li><code>URLInputSource.hpp</code></li> - </ul> - - - <li>All the DTD validator code was moved from - <code>internal</code> to separate - <code>validators/DTD</code> directory.</li> - - <li>The error code definitions which were earlier in - <code>internal/ErrorCodes.hpp</code> are now splitup into - the following files:</li> + <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><code>framework/XMLErrorCodes.hpp </code> - Core XML errors</li> - <li><code>framework/XMLValidityCodes.hpp</code> - DTD validity errors</li> - <li><code>util/XMLExceptMsgs.hpp </code> - C++ specific exception codes.</li> - </ul> - </ul> - - </s2> - - - - <anchor name="Samples"/> - <s2 title="The Samples"> - - <p>The sample programs no longer use any of the unsupported - util/xxx classes. They only existed to allow us to write - portable samples. But, since we feel that the wide character - APIs are supported on a lot of platforms these days, it was - decided to go ahead and just write the samples in terms of - these. If your system does not support these APIs, you will - not be able to build and run the samples. On some platforms, - these APIs might perhaps be optional packages or require - runtime updates or some such action.</p> - - <p>More samples have been added as well. These highlight some - of the new functionality introduced in the new code base. And - the existing ones have been cleaned up as well.</p> - - <p>The new samples are:</p> - <ol> - <li>PParse - Demonstrates 'progressive parse' (see below)</li> - <li>StdInParse - Demonstrates use of the standard in input source</li> - <li>EnumVal - Shows how to enumerate the markup decls in a DTD Validator</li> - </ol> - </s2> - - - <anchor name="ParserClasses"/> - <s2 title="Parser Classes"> - - <p>In the XML4C 2.x code base, there were the following parser - classes (in the src/parsers/ source directory): - NonValidatingSAXParser, ValidatingSAXParser, - NonValidatingDOMParser, ValidatingDOMParser. The - non-validating ones were the base classes and the validating - ones just derived from them and turned on the validation. - This was deemed a little bit overblown, considering the tiny - amount of code required to turn on validation and the fact - that it makes people use a pointer to the parser in most cases - (if they needed to support either validating or non-validating - versions.)</p> - - <p>The new code base just has SAXParer and DOMParser - classes. These are capable of handling both validating and - non-validating modes, according to the state of a flag that - you can set on them. For instance, here is a code snippet that - shows this in action.</p> - -<source>void ParseThis(const XMLCh* const fileToParse, - const bool validate) -{ - // - // Create a SAXParser. It can now just be - // created by value on the stack if we want - // to parse something within this scope. - // - SAXParser myParser; - - // Tell it whether to validate or not - myParser.setDoValidation(validate); - - // Parse and catch exceptions... - try - { - myParser.parse(fileToParse); - } - ... -};</source> - - <p>We feel that this is a simpler architecture, and that it makes things - easier for you. In the above example, for instance, the parser will be - cleaned up for you automatically upon exit since you don't have to - allocate it anymore.</p> - - </s2> - - - <anchor name="DOMLevel2"/> - <s2 title="DOM Level 2 support"> - - <p>Experimental early support for some parts of the DOM level - 2 specification have been added. These address some of the - shortcomings in our DOM implementation, - such as a simple, standard mechanism for tree traversal.</p> - - </s2> - - - <anchor name="Progressive"/> - <s2 title="Progressive Parsing"> - - <p>The new parser classes support, in addition to the - <ref>parse()</ref> method, two new parsing methods, - <ref>parseFirst()</ref> and <ref>parseNext()</ref>. These are - designed to support 'progressive parsing', so that you don't - have to depend upon throwing an exception to terminate the - parsing operation. Calling parseFirst() will cause the DTD (or - in the future, Schema) to be parsed (both internal and - external subsets) and any pre-content, i.e. everything up to - but not including the root element. Subsequent calls to - parseNext() will cause one more pieces of markup to be parsed, - and spit out from the core scanning code to the parser (and - hence either on to you if using SAX or into the DOM tree if - using DOM.) You can quit the parse any time by just not - calling parseNext() anymore and breaking out of the loop. When - you call parseNext() and the end of the root element is the - next piece of markup, the parser will continue on to the end - of the file and return false, to let you know that the parse - is done. So a typical progressive parse loop will look like - this:</p> - -<source>// Create a progressive scan token -XMLPScanToken token; - -if (!parser.parseFirst(xmlFile, token)) -{ - cerr << "scanFirst() failed\n" << endl; - return 1; -} - -// -// We started ok, so lets call scanNext() -// until we find what we want or hit the end. -// -bool gotMore = true; -while (gotMore && !handler.getDone()) - gotMore = parser.parseNext(token);</source> - - <p>In this case, our event handler object (named 'handler' - surprisingly enough) is watching form some criteria and will - return a status from its getDone() method. Since the handler - sees the SAX events coming out of the SAXParser, it can tell - when it finds what it wants. So we loop until we get no more - data or our handler indicates that it saw what it wanted to - see.</p> - - <p>When doing non-progressive parses, the parser can easily - know when the parse is complete and insure that any used - resources are cleaned up. Even in the case of a fatal parsing - error, it can clean up all per-parse resources. However, when - progressive parsing is done, the client code doing the parse - loop might choose to stop the parse before the end of the - primary file is reached. In such cases, the parser will not - know that the parse has ended, so any resources will not be - reclaimed until the parser is destroyed or another parse is started.</p> - - <p>This might not seem like such a bad thing; however, in this case, - the files and sockets which were opened in order to parse the - referenced XML entities will remain open. This could cause - serious problems. Therefore, you should destroy the parser instance - in such cases, or restart another parse immediately. In a future - release, a reset method will be provided to do this more cleanly.</p> - - <p>Also note that you must create a scan token and pass it - back in on each call. This insures that things don't get done - out of sequence. When you call parseFirst() or parse(), any - previous scan tokens are invalidated and will cause an error - if used again. This prevents incorrect mixed use of the two - different parsing schemes or incorrect calls to - parseNext().</p> - - </s2> - - - <anchor name="Namespace"/> - <s2 title="Namespace support"> - - <p>The C++ parser now supports namespaces. With current XML - interfaces (SAX/DOM) this doesn't mean very much because these - APIs are incapable of passing on the namespace information. - However, if you are using our internal APIs to write your own - parsers, you can make use of this new information. Since the - internal event APIs must be able to now support both namespace - and non-namespace information, they have more - parameters. These allow namespace information to be passed - along.</p> - - <p>Most of the samples now have a new command line parameter - to turn on namespace support. You turn on namespaces like - this:</p> - -<source>SAXParser myParser; -// Tell it whether to do namespace -myParser.setDoNamespaces(true);</source> - </s2> - - - - <anchor name="MovedToSrcFramework"/> - <s2 title="Moved Classes to src/framework"> - - <p>Some of the classes previously in the src/internal/ - directory have been moved to their more correct location in - the src/framework/ directory. These are classes used by the - outside world and should have been framework classes to begin - with. Also, to avoid name classes in the absense of C++ namespace - support, some of these clashes have been renamed to make them - more XML specific and less likely to clash. More - classes might end up being moved to framework as well.</p> - - <p>So you might have to change a few include statements to - find these classes in their new locations. And you might have - to rename some of the names of the classes, if you used any of - the ones whose names were changed.</p> - - </s2> - - - <anchor name="LoadableMessageText"/> - <s2 title="Loadable Message Text"> - - <p>The system now supoprts loadable message text, instead of - having it hard coded into the program. The current drop still - just supports English, but it can now support other - languages. Anyone interested in contributing any translations - should contact us. This would be an extremely useful - service.</p> - - <p>In order to support the local message loading services, we - have created a pretty flexible framework for supporting - loadable text. Firstly, there is now an XML file, in the - src/NLS/ directory, which contains all of the error messages. - There is a simple program, in the Tools/NLSXlat/ directory, - which can spit out that text in various formats. It currently - supports a simple 'in memory' format (i.e. an array of - strings), the Win32 resource format, and the message catalog - format. The 'in memory' format is intended for very simple - installations or for use when porting to a new platform (since - you can use it until you can get your own local message - loading support done.)</p> - - <p>In the src/util/ directory, there is now an XMLMsgLoader - class. This is an abstraction from which any number of - message loading services can be derived. Your platform driver - file can create whichever type of message loader it wants to - use on that platform. We currently have versions for the in - memory format, the Win32 resource format, and the message - catalog format. An ICU one is present but not implemented - yet. Some of the platforms can support multiple message - loaders, in which case a #define token is used to control - which one is used. You can set this in your build projects to - control the message loader type used.</p> - - <p>Both the Java and C++ parsers emit the same messages for an XML error - since they are being taken from the same message file.</p> - - </s2> - - - <anchor name="PluggableValidators"/> - <s2 title="Pluggable Validators"> - - <p>In a preliminary move to support Schemas, and to make them - first class citizens just like DTDs, the system has been - reworked internally to make validators completely pluggable. - So now the DTD validator code is under the src/validators/DTD/ - directory, with a future Schema validator probably going into - the src/validators. The core scanner architecture now works - completely in terms of the framework/XMLValidator abstract - interface and knows almost nothing about DTDs or Schemas. For - now, if you don't pass in a validator to the parsers, they - will just create a DTDValidator. This means that, - theoretically, you could write your own validator. But we - would not encourage this for a while, until the semantics of - the XMLValidator interface are completely worked out and - proven to handle DTD and Schema cleanly.</p> + <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="http://xml.apache.org/xerces-c/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="http://xml.apache.org/xerces-c/schema.html#usage"> + Schema Usage</jump> + </p> + </s3> - <anchor name="PluggableTranscoders"/> - <s2 title="Pluggable Transcoders"> - - <p>Another abstract framework added in the src/util/ directory - is to support pluggable transcoding services. The - XMLTransService class is an abtract API that can be derived - from, to support any desired transcoding - service. XMLTranscoder is the abstract API for a particular - instance of a transcoder for a particular encoding. The - platform driver file decides what specific type of transcoder - to use, which allows each platform to use its native - transcoding services, or the ICU service if desired.</p> - - <p>Implementations are provided for Win32 native services, ICU - services, and the <ref>iconv</ref> services available on many - Unix platforms. The Win32 version only provides native code - page services, so it can only handle XML code in the intrinsic - encodings ASCII, UTF-8, UTF-16 (Big/Small Endian), UCS4 - (Big/Small Endian), EBCDIC code pages IBM037 and - IBM1140 encodings, ISO-8859-1 (aka Latin1) and Windows-1252. The ICU version - provides all of the encodings that ICU supports. The - <ref>iconv</ref> version will support the encodings supported - by the local system. You can use transcoders we provide or - create your own if you feel ours are insufficient in some way, - or if your platform requires an implementation that we do not - provide.</p> + <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="http://xml.apache.org/xerces-c/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"> - <anchor name="UtilReorg"/> - <s2 title="Util directory Reorganization"> - - <p>The src/util directory was becoming somewhat of a dumping - ground of platform and compiler stuff. So we reworked that - directory to better spread things out. The new scheme is: - </p> - - <anchor name="UtilPlatform"/> - <s3 title="util - The platform independent utility stuff"> - <ul> - <li>MsgLoaders - Holds the msg loader implementations</li> - <ol> - <li>ICU</li> - <li>InMemory</li> - <li>MsgCatalog</li> - <li>Win32</li> - </ol> - <li>Compilers - All the compiler specific files</li> - <li>Transcoders - Holds the transcoder implementations</li> - <ol> - <li>Iconv</li> - <li>ICU</li> - <li>Win32</li> - </ol> - <li>Platforms</li> - <ol> - <li>AIX</li> - <li>HP-UX</li> - <li>Linux</li> - <li>Solaris</li> - <li>....</li> - <li>Win32</li> - </ol> - </ul> - </s3> - - <p>This organization makes things much easier to understand. - And it makes it easier to find which files you need and which - are optional. Note that only per-platform files have any hard - coded references to specific message loaders or - transcoders. So if you don't include the ICU implementations - of these services, you don't need to link in ICU or use any - ICU headers. The rest of the system works only in terms of the - abstraction APIs.</p> + <p> For migration information from XML4C 2.x to &XercesCName; &XercesCVersion140;, + please refer to <jump href="migrate_archive.html">Migration Archive. </jump></p> </s2> diff --git a/doc/migration_archive.xml b/doc/migration_archive.xml new file mode 100644 index 0000000000000000000000000000000000000000..fb376710cb6199eddfd3e59e4b8f2dc654a4aad6 --- /dev/null +++ b/doc/migration_archive.xml @@ -0,0 +1,511 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE s1 SYSTEM "./dtd/document.dtd"> + +<s1 title="Migration Archive"> + <s2 title="Migrating from XML4C 2.x to &XercesCName; &XercesCVersion140;"> + <p>This document is a discussion of the technical differences between + XML4C 2.x code base and the new &XercesCName; &XercesCVersion140; 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="Summary">Summary of changes required to migrate from XML4C 2.x to &XercesCName; &XercesCVersion140;</link></li> + <li><link anchor="Samples">The Samples</link></li> + <li><link anchor="ParserClasses">Parser Classes</link></li> + <li><link anchor="DOMLevel2">DOM Level 2 support</link></li> + <li><link anchor="Progressive">Progressive Parsing</link></li> + <li><link anchor="Namespace">Namespace support</link></li> + <li><link anchor="MovedToSrcFramework">Moved Classes to src/framework</link></li> + <li><link anchor="LoadableMessageText">Loadable Message Text</link></li> + <li><link anchor="PluggableValidators">Pluggable Validators</link></li> + <li><link anchor="PluggableTranscoders">Pluggable Transcoders</link></li> + <li><link anchor="UtilReorg">Util directory Reorganization</link></li> + <ul> + <li><link anchor="UtilPlatform">util - The platform independent utility stuff</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. + 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 with regard to XML4C version 2.x. + 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 namespaces, and conformance checks 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="Summary"/> + <s2 title="Summary of changes required to migrate from XML4C 2.x to &XercesCName; &XercesCVersion140;"> + + <p>As mentioned, there are some major architectural changes + between the 2.3.x and &XercesCName; &XercesCVersion140; releases + of the parser, and as a result the code has undergone + significant restructuring. The list below mentions the public + api's which existed in 2.3.x and no longer exist in + &XercesCName; &XercesCVersion140;. It also mentions the + &XercesCName; &XercesCVersion140; api which will give you the + same functionality. Note: This list is not exhaustive. The + API docs (and ultimately the header files) supplement this + information.</p> + + <ul> + + <li><code>parsers/[Non]Validating[DOM/SAX]parser.hpp</code><br/> + These files/classes have all been consolidated in the new + version to just two files/classes: + <code>[DOM/SAX]Parser.hpp</code>. Validation is now a + property which may be set before invoking the + <code>parse</code>. Now, the + <code>setDoValidation()</code> method controls the + validation processing.</li> + + <li>The <code>framework/XMLDocumentTypeHandler.hpp</code> + been replaced with + <code>validators/DTD/DocTypeHandler.hpp</code>.</li> + + <li>The following methods now have different set of + parameters because the underlying base class methods have + changed in the 3.x release. These methods belong to one of + <code>XMLDocumentHandler</code>, + <code>XMLErrorReporter</code> or + <code>DocTypeHandler</code> interfaces.</li> + <ul> + <li><code>[Non]Validating[DOM/SAX]Parser::docComment</code></li> + <li><code>[Non]Validating[DOM/SAX]Parser::doctypePI</code></li> + <li><code>[Non]ValidatingSAXParser::elementDecl</code></li> + <li><code>[Non]ValidatingSAXParser::endAttList</code></li> + <li><code>[Non]ValidatingSAXParser::entityDecl</code></li> + <li><code>[Non]ValidatingSAXParser::notationDecl</code></li> + <li><code>[Non]ValidatingSAXParser::startAttList</code></li> + <li><code>[Non]ValidatingSAXParser::TextDecl</code></li> + <li><code>[Non]ValidatingSAXParser::docComment</code></li> + <li><code>[Non]ValidatingSAXParser::docPI</code></li> + <li><code>[Non]Validating[DOM/SAX]Parser::endElement</code></li> + <li><code>[Non]Validating[DOM/SAX]Parser::startElement</code></li> + <li><code>[Non]Validating[DOM/SAX]Parser::XMLDecl</code></li> + <li><code>[Non]Validating[DOM/SAX]Parser::error</code></li> + </ul> + + <li>The following methods/data members changed visibility + from <code>protected</code> in 2.3.x to + <code>private</code> (with public setters and getters, as + appropriate).</li> + + <ul> + <li><code>[Non]ValidatingDOMParser::fDocument</code></li> + <li><code>[Non]ValidatingDOMParser::fCurrentParent</code></li> + <li><code>[Non]ValidatingDOMParser::fCurrentNode</code></li> + <li><code>[Non]ValidatingDOMParser::fNodeStack</code></li> + </ul> + + + <li>The following files have moved, possibly requiring + changes in the <code>#include</code> statements.</li> + + <ul> + <li><code>MemBufInputSource.hpp</code></li> + <li><code>StdInInputSource.hpp</code></li> + <li><code>URLInputSource.hpp</code></li> + </ul> + + + <li>All the DTD validator code was moved from + <code>internal</code> to separate + <code>validators/DTD</code> directory.</li> + + <li>The error code definitions which were earlier in + <code>internal/ErrorCodes.hpp</code> are now splitup into + the following files:</li> + + <ul> + <li><code>framework/XMLErrorCodes.hpp </code> - Core XML errors</li> + <li><code>framework/XMLValidityCodes.hpp</code> - DTD validity errors</li> + <li><code>util/XMLExceptMsgs.hpp </code> - C++ specific exception codes.</li> + </ul> + </ul> + + </s2> + + + + <anchor name="Samples"/> + <s2 title="The Samples"> + + <p>The sample programs no longer use any of the unsupported + util/xxx classes. They only existed to allow us to write + portable samples. But, since we feel that the wide character + APIs are supported on a lot of platforms these days, it was + decided to go ahead and just write the samples in terms of + these. If your system does not support these APIs, you will + not be able to build and run the samples. On some platforms, + these APIs might perhaps be optional packages or require + runtime updates or some such action.</p> + + <p>More samples have been added as well. These highlight some + of the new functionality introduced in the new code base. And + the existing ones have been cleaned up as well.</p> + + <p>The new samples are:</p> + <ol> + <li>PParse - Demonstrates 'progressive parse' (see below)</li> + <li>StdInParse - Demonstrates use of the standard in input source</li> + <li>EnumVal - Shows how to enumerate the markup decls in a DTD Validator</li> + </ol> + </s2> + + + <anchor name="ParserClasses"/> + <s2 title="Parser Classes"> + + <p>In the XML4C 2.x code base, there were the following parser + classes (in the src/parsers/ source directory): + NonValidatingSAXParser, ValidatingSAXParser, + NonValidatingDOMParser, ValidatingDOMParser. The + non-validating ones were the base classes and the validating + ones just derived from them and turned on the validation. + This was deemed a little bit overblown, considering the tiny + amount of code required to turn on validation and the fact + that it makes people use a pointer to the parser in most cases + (if they needed to support either validating or non-validating + versions.)</p> + + <p>The new code base just has SAXParer and DOMParser + classes. These are capable of handling both validating and + non-validating modes, according to the state of a flag that + you can set on them. For instance, here is a code snippet that + shows this in action.</p> + +<source>void ParseThis(const XMLCh* const fileToParse, + const bool validate) +{ + // + // Create a SAXParser. It can now just be + // created by value on the stack if we want + // to parse something within this scope. + // + SAXParser myParser; + + // Tell it whether to validate or not + myParser.setDoValidation(validate); + + // Parse and catch exceptions... + try + { + myParser.parse(fileToParse); + } + ... +};</source> + + <p>We feel that this is a simpler architecture, and that it makes things + easier for you. In the above example, for instance, the parser will be + cleaned up for you automatically upon exit since you don't have to + allocate it anymore.</p> + + </s2> + + + <anchor name="DOMLevel2"/> + <s2 title="DOM Level 2 support"> + + <p>Experimental early support for some parts of the DOM level + 2 specification have been added. These address some of the + shortcomings in our DOM implementation, + such as a simple, standard mechanism for tree traversal.</p> + + </s2> + + + <anchor name="Progressive"/> + <s2 title="Progressive Parsing"> + + <p>The new parser classes support, in addition to the + <ref>parse()</ref> method, two new parsing methods, + <ref>parseFirst()</ref> and <ref>parseNext()</ref>. These are + designed to support 'progressive parsing', so that you don't + have to depend upon throwing an exception to terminate the + parsing operation. Calling parseFirst() will cause the DTD (or + in the future, Schema) to be parsed (both internal and + external subsets) and any pre-content, i.e. everything up to + but not including the root element. Subsequent calls to + parseNext() will cause one more pieces of markup to be parsed, + and spit out from the core scanning code to the parser (and + hence either on to you if using SAX or into the DOM tree if + using DOM.) You can quit the parse any time by just not + calling parseNext() anymore and breaking out of the loop. When + you call parseNext() and the end of the root element is the + next piece of markup, the parser will continue on to the end + of the file and return false, to let you know that the parse + is done. So a typical progressive parse loop will look like + this:</p> + +<source>// Create a progressive scan token +XMLPScanToken token; + +if (!parser.parseFirst(xmlFile, token)) +{ + cerr << "scanFirst() failed\n" << endl; + return 1; +} + +// +// We started ok, so lets call scanNext() +// until we find what we want or hit the end. +// +bool gotMore = true; +while (gotMore && !handler.getDone()) + gotMore = parser.parseNext(token);</source> + + <p>In this case, our event handler object (named 'handler' + surprisingly enough) is watching form some criteria and will + return a status from its getDone() method. Since the handler + sees the SAX events coming out of the SAXParser, it can tell + when it finds what it wants. So we loop until we get no more + data or our handler indicates that it saw what it wanted to + see.</p> + + <p>When doing non-progressive parses, the parser can easily + know when the parse is complete and insure that any used + resources are cleaned up. Even in the case of a fatal parsing + error, it can clean up all per-parse resources. However, when + progressive parsing is done, the client code doing the parse + loop might choose to stop the parse before the end of the + primary file is reached. In such cases, the parser will not + know that the parse has ended, so any resources will not be + reclaimed until the parser is destroyed or another parse is started.</p> + + <p>This might not seem like such a bad thing; however, in this case, + the files and sockets which were opened in order to parse the + referenced XML entities will remain open. This could cause + serious problems. Therefore, you should destroy the parser instance + in such cases, or restart another parse immediately. In a future + release, a reset method will be provided to do this more cleanly.</p> + + <p>Also note that you must create a scan token and pass it + back in on each call. This insures that things don't get done + out of sequence. When you call parseFirst() or parse(), any + previous scan tokens are invalidated and will cause an error + if used again. This prevents incorrect mixed use of the two + different parsing schemes or incorrect calls to + parseNext().</p> + + </s2> + + + <anchor name="Namespace"/> + <s2 title="Namespace support"> + + <p>The C++ parser now supports namespaces. With current XML + interfaces (SAX/DOM) this doesn't mean very much because these + APIs are incapable of passing on the namespace information. + However, if you are using our internal APIs to write your own + parsers, you can make use of this new information. Since the + internal event APIs must be able to now support both namespace + and non-namespace information, they have more + parameters. These allow namespace information to be passed + along.</p> + + <p>Most of the samples now have a new command line parameter + to turn on namespace support. You turn on namespaces like + this:</p> + +<source>SAXParser myParser; +// Tell it whether to do namespace +myParser.setDoNamespaces(true);</source> + </s2> + + + + <anchor name="MovedToSrcFramework"/> + <s2 title="Moved Classes to src/framework"> + + <p>Some of the classes previously in the src/internal/ + directory have been moved to their more correct location in + the src/framework/ directory. These are classes used by the + outside world and should have been framework classes to begin + with. Also, to avoid name classes in the absense of C++ namespace + support, some of these clashes have been renamed to make them + more XML specific and less likely to clash. More + classes might end up being moved to framework as well.</p> + + <p>So you might have to change a few include statements to + find these classes in their new locations. And you might have + to rename some of the names of the classes, if you used any of + the ones whose names were changed.</p> + + </s2> + + + <anchor name="LoadableMessageText"/> + <s2 title="Loadable Message Text"> + + <p>The system now supoprts loadable message text, instead of + having it hard coded into the program. The current drop still + just supports English, but it can now support other + languages. Anyone interested in contributing any translations + should contact us. This would be an extremely useful + service.</p> + + <p>In order to support the local message loading services, we + have created a pretty flexible framework for supporting + loadable text. Firstly, there is now an XML file, in the + src/NLS/ directory, which contains all of the error messages. + There is a simple program, in the Tools/NLSXlat/ directory, + which can spit out that text in various formats. It currently + supports a simple 'in memory' format (i.e. an array of + strings), the Win32 resource format, and the message catalog + format. The 'in memory' format is intended for very simple + installations or for use when porting to a new platform (since + you can use it until you can get your own local message + loading support done.)</p> + + <p>In the src/util/ directory, there is now an XMLMsgLoader + class. This is an abstraction from which any number of + message loading services can be derived. Your platform driver + file can create whichever type of message loader it wants to + use on that platform. We currently have versions for the in + memory format, the Win32 resource format, and the message + catalog format. An ICU one is present but not implemented + yet. Some of the platforms can support multiple message + loaders, in which case a #define token is used to control + which one is used. You can set this in your build projects to + control the message loader type used.</p> + + <p>Both the Java and C++ parsers emit the same messages for an XML error + since they are being taken from the same message file.</p> + + </s2> + + + <anchor name="PluggableValidators"/> + <s2 title="Pluggable Validators"> + + <p>In a preliminary move to support Schemas, and to make them + first class citizens just like DTDs, the system has been + reworked internally to make validators completely pluggable. + So now the DTD validator code is under the src/validators/DTD/ + directory, with a future Schema validator probably going into + the src/validators. The core scanner architecture now works + completely in terms of the framework/XMLValidator abstract + interface and knows almost nothing about DTDs or Schemas. For + now, if you don't pass in a validator to the parsers, they + will just create a DTDValidator. This means that, + theoretically, you could write your own validator. But we + would not encourage this for a while, until the semantics of + the XMLValidator interface are completely worked out and + proven to handle DTD and Schema cleanly.</p> + + </s2> + + + <anchor name="PluggableTranscoders"/> + <s2 title="Pluggable Transcoders"> + + <p>Another abstract framework added in the src/util/ directory + is to support pluggable transcoding services. The + XMLTransService class is an abtract API that can be derived + from, to support any desired transcoding + service. XMLTranscoder is the abstract API for a particular + instance of a transcoder for a particular encoding. The + platform driver file decides what specific type of transcoder + to use, which allows each platform to use its native + transcoding services, or the ICU service if desired.</p> + + <p>Implementations are provided for Win32 native services, ICU + services, and the <ref>iconv</ref> services available on many + Unix platforms. The Win32 version only provides native code + page services, so it can only handle XML code in the intrinsic + encodings ASCII, UTF-8, UTF-16 (Big/Small Endian), UCS4 + (Big/Small Endian), EBCDIC code pages IBM037 and + IBM1140 encodings, ISO-8859-1 (aka Latin1) and Windows-1252. The ICU version + provides all of the encodings that ICU supports. The + <ref>iconv</ref> version will support the encodings supported + by the local system. You can use transcoders we provide or + create your own if you feel ours are insufficient in some way, + or if your platform requires an implementation that we do not + provide.</p> + + </s2> + + + <anchor name="UtilReorg"/> + <s2 title="Util directory Reorganization"> + + <p>The src/util directory was becoming somewhat of a dumping + ground of platform and compiler stuff. So we reworked that + directory to better spread things out. The new scheme is: + </p> + + <anchor name="UtilPlatform"/> + <s3 title="util - The platform independent utility stuff"> + <ul> + <li>MsgLoaders - Holds the msg loader implementations</li> + <ol> + <li>ICU</li> + <li>InMemory</li> + <li>MsgCatalog</li> + <li>Win32</li> + </ol> + <li>Compilers - All the compiler specific files</li> + <li>Transcoders - Holds the transcoder implementations</li> + <ol> + <li>Iconv</li> + <li>ICU</li> + <li>Win32</li> + </ol> + <li>Platforms</li> + <ol> + <li>AIX</li> + <li>HP-UX</li> + <li>Linux</li> + <li>Solaris</li> + <li>....</li> + <li>Win32</li> + </ol> + </ul> + </s3> + + <p>This organization makes things much easier to understand. + And it makes it easier to find which files you need and which + are optional. Note that only per-platform files have any hard + coded references to specific message loaders or + transcoders. So if you don't include the ICU implementations + of these services, you don't need to link in ICU or use any + ICU headers. The rest of the system works only in terms of the + abstraction APIs.</p> + + </s2> + +</s1> diff --git a/doc/readme.xml b/doc/readme.xml index 35e788cf0db68b5c039ebdb00a4c9613adffb327..f3126fb2052d6b25f26f251ede9ffd968a4d99bf 100644 --- a/doc/readme.xml +++ b/doc/readme.xml @@ -15,8 +15,10 @@ <jump href="http://www.w3.org/TR/REC-DOM-Level-1/">DOM 1.0</jump>, <jump href="http://www.w3.org/TR/DOM-Level-2-Core/">DOM 2.0</jump>. <jump href="http://www.megginson.com/SAX/SAX1/index.html">SAX 1.0</jump>, - <jump href="http://www.megginson.com/SAX/index.html">SAX 2.0</jump>, - <jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces</jump>), + <jump href="http://www.megginson.com/SAX/index.html">SAX 2.0</jump>, + <jump href="http://www.w3.org/TR/REC-xml-names/">Namespaces</jump>). + Xerces-C 1.5 also provides an implementation of a subset of the + <jump href="http://www.w3.org/TR/xmlschema-0/">Schema</jump>. The parser provides high performance, modularity, and scalability. Source code, samples and API documentation are provided with the parser. For portability, care has been taken to make minimal use of templates, @@ -44,9 +46,10 @@ <li>Tracking of latest <jump href="http://www.w3.org/TR/REC-DOM-Level-1/">DOM (Level 1.0)</jump>, <jump href="http://www.w3.org/TR/DOM-Level-2-Core/">DOM (Level 2.0)</jump>, - <jump href="http://www.megginson.com/SAX/index.html">SAX/SAX2</jump> and + <jump href="http://www.megginson.com/SAX/index.html">SAX/SAX2</jump>, <jump href="http://www.w3.org/TR/REC-xml-names/">Namespace</jump> specifications.</li> - <li>Source code, samples, and documentation is provided.</li> + <li>Experimental <jump href="http://www.w3.org/TR/xmlschema-0/">Schema</jump> subset support</li> + <li>Source code, samples, and documentation is provided.</li> <li>Programmatic generation and validation of XML</li> <li>Pluggable catalogs, validators and encodings</li> <li>High performance</li> @@ -59,7 +62,7 @@ <li>Win32 using MSVC 6.0 SP3</li> <li>Linux (RedHat 6.1) using egcs-2.91.66 and glibc-2.1.2-11</li> <li>Solaris 2.6 using Sun Workshop 4.2</li> - <li>AIX 4.2.1 using xlC 3.6.4</li> + <li>AIX 4.3 using xlC 3.6.4</li> <li>HP-UX 11 using aCC A.03.13 with pthreads</li> </ul> </s2> diff --git a/doc/releases_archive.xml b/doc/releases_archive.xml new file mode 100644 index 0000000000000000000000000000000000000000..e70e82e8cf7d8636fda97af8f36dd564649519cb --- /dev/null +++ b/doc/releases_archive.xml @@ -0,0 +1,1651 @@ +<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> +<!DOCTYPE s1 SYSTEM "./dtd/document.dtd"> + +<s1 title="Releases Archive"> + +<s2 title="Xerces-C Version 1.4.0: January 31, 2001"> + +<table> + <tr> + <td >Date</td> + <td >Contributor</td> + <td >Description</td> + </tr> + + <tr> + <td >2001-01-26</td> + <td >Walker Curtis</td> + <td >Undefined symbol error when building a single threaded version of the xerces lib on irix. + </td> + </tr> + + <tr> + <td >2001-01-25</td> + <td >Arnaud LeHors</td> + <td >Added a flag to turn off error checking in the DOM, this is primarily + used while building the DOM from the parser to get better performance. + </td> + </tr> + + <tr> + <td >2001-01-25</td> + <td >Khaled Noaman</td> + <td >Let users add their encoding to the intrinsic mapping table. + </td> + </tr> + + <tr> + <td >2001-01-25</td> + <td >Khaled Noaman</td> + <td >const should be used instead of static const. And other clean up bug fixes. + </td> + </tr> + + <tr> + <td >2001-01-24</td> + <td >Arnaud LeHors</td> + <td >Fixed replaceChild to handle the case where a node is replaced + by itself. Cleaned up insertBefore. + </td> + </tr> + + <tr> + <td >2001-01-24</td> + <td >Tinny Ng</td> + <td >Guard the use of '-ptr${OUTDIR}' in EnumVal/Makefile.in + </td> + </tr> + + <tr> + <td >2001-01-22</td> + <td >Curt Arnold.</td> + <td >Loads winsock dynamically. + </td> + </tr> + + <tr> + <td >2001-01-19</td> + <td >Curt Arnold.</td> + <td >COM various updates: updated the GUID's so both can coexist, + better error reporting and fixed a new minor bugs. + </td> + </tr> + + <tr> + <td >2001-01-18</td> + <td >Bill Schindler</td> + <td >FAQ spell check, fix typos, fix grammar, readability editing, clean up formatting, + re-organize so related topics appear together. + </td> + </tr> + + <tr> + <td >2001-01-18</td> + <td >Bill Schindler</td> + <td >Project file updated due to removal of ChildAndParentNode.cpp. + </td> + </tr> + + <tr> + <td >2001-01-17</td> + <td >Arnaud LeHors</td> + <td >DOM Implementation Optimization. + </td> + </tr> + + <tr> + <td >2001-01-17</td> + <td >Volker Krause</td> + <td >ElementImpl::getAttributeNS should check null pointer. + </td> + </tr> + + <tr> + <td >2001-01-17</td> + <td >Arnaud LeHors</td> + <td >Have a single counter global to the document. Removed node basis change counter. + </td> + </tr> + + <tr> + <td >2001-01-17</td> + <td >Arnaud LeHors</td> + <td >Removed unused field in NodeImpl that was left over. + </td> + </tr> + + <tr> + <td >2001-01-17</td> + <td >Tinny Ng</td> + <td >Access violations and stack overflows in insertBefore. + </td> + </tr> + + <tr> + <td >2001-01-15</td> + <td >David Bertoni</td> + <td >Performance Patches. + </td> + </tr> + + <tr> + <td >2001-01-12</td> + <td >Tinny Ng</td> + <td >Fix style-ibm.zip for documentation generation. + </td> + </tr> + + <tr> + <td >2001-01-12</td> + <td >Tinny Ng</td> + <td >Remove the two obsolete file: stylesheets\Copy of book2project.xsl and + stylesheets\Copy of document2html.xsl in style-apachexml.jar + </td> + </tr> + + <tr> + <td >2001-01-12</td> + <td >Tinny Ng</td> + <td >Documentation Enhancement: explain values of Val_Scheme. + </td> + </tr> + + <tr> + <td >2001-01-12</td> + <td >Tinny Ng</td> + <td >Documentation Enhancement: Add list of SAX2 feature strings that are supported. + </td> + </tr> + + <tr> + <td >2001-01-04</td> + <td >Khaled Noaman</td> + <td >Assertion `size > 0' failure when cloning a node if the last attributes + has been removed. + </td> + </tr> + + <tr> + <td >2000-12-28</td> + <td >James Berry</td> + <td >Omit include carbon.h in favor of specific include files. + </td> + </tr> + + <tr> + <td >2000-12-28</td> + <td >James Berry</td> + <td >Add or modify cvs header in various files. + </td> + </tr> + + <tr> + <td >2000-12-28</td> + <td >James Berry</td> + <td >Eliminate compiler warning in RangeImpl.cpp. + </td> + </tr> + + <tr> + <td >2000-12-28</td> + <td >James Berry</td> + <td >Replace include of Carbon.h with specific include files. + </td> + </tr> + + <tr> + <td >2000-12-28</td> + <td >James Berry</td> + <td >Move away from include of Carbon.h; include only needed files instead. + Fix bug in parsing of upwardly relative paths under classic (thanks to Lawrence You). + </td> + </tr> + + <tr> + <td >2000-12-22</td> + <td >Tinny Ng</td> + <td >XMLUni::fgEmptyString which is defined as "EMPTY" is incorrectly used as + an empty string; in fact XMLUni::fgZeroLenString should be used instead. + </td> + </tr> + + <tr> + <td >2000-12-22</td> + <td >Tinny Ng</td> + <td >Add the new header LexicalHandler.hpp to Makefile.in. + </td> + </tr> + + <tr> + <td >2000-12-22</td> + <td >Murray Cumming</td> + <td >removes '-instances=static' from the Linux link sections. + </td> + </tr> + + <tr> + <td >2000-12-22</td> + <td >David Bertoni</td> + <td >SAX2-ext's LexicalHandler support. + </td> + </tr> + + <tr> + <td >2000-12-14</td> + <td >Tinny Ng</td> + <td >Better instruction for using packageBinaries.pl. Use symbol XercesCInstallDir + and XercesCSrcInstallDir instead of hardcoding the Xerces version number in the file. + </td> + </tr> + + <tr> + <td >2000-12-14</td> + <td >Tinny Ng</td> + <td >Fix API document generation warning: "Warning: end of member group without matching begin". + </td> + </tr> + + <tr> + <td >2000-12-14</td> + <td >Tinny Ng</td> + <td >Add RangeTest as part of the xerces-all MSVC++ workspace. + </td> + </tr> + + <tr> + <td >2000-12-12</td> + <td >Gareth Reakes</td> + <td >null pointer bug. + </td> + </tr> + + <tr> + <td >2000-12-08</td> + <td >Tinny Ng</td> + <td >Entity Reference cleanup dumping core if the last entity reference is deleted. + </td> + </tr> + + <tr> + <td >2000-12-06</td> + <td >Tinny Ng</td> + <td >fix the link to FAQ. + </td> + </tr> + + <tr> + <td >2000-12-06</td> + <td >Tinny Ng</td> + <td >further fixes to Range, and update RangeTest.cpp with more test coverage. + </td> + </tr> + + <tr> + <td >2000-11-30</td> + <td >Bill Schindler</td> + <td >Spell check, fix typos, fix grammar, readability editing, clean up formatting. + </td> + </tr> + + <tr> + <td >2000-11-30</td> + <td >Bill Schindler</td> + <td >Remove dead code (old StdOut and StdErr functions); minor clean-up. + </td> + </tr> + + <tr> + <td >2000-11-30</td> + <td >Tinny Ng</td> + <td >patch to fix a number of Range problems. See mail of 11/21/2000. + </td> + </tr> + + <tr> + <td >2000-11-30</td> + <td >Tinny Ng</td> + <td >DOM_Text::splitText(), fix off by one error in the test for index too big error. + </td> + </tr> + + <tr> + <td >2000-11-30</td> + <td >Tinny Ng</td> + <td >reuseValidator - fix bugs (spurious errors) that occured on reuse due to + pools already containing some items. + </td> + </tr> + + <tr> + <td >2000-11-08</td> + <td >Andrei Smirnov</td> + <td >Build updates for Solaris 2.8 64 bit. + </td> + </tr> + + <tr> + <td >2000/11/07</td> + <td >Tinny Ng</td> + <td >Bug fix for DTD entity reference problem reported by Tony Wuebben on 10/25. + </td> + </tr> + + <tr> + <td >2000-11-07</td> + <td >Tinny Ng</td> + <td >config.guess and config.sub updated to newer versions. + </td> + </tr> + + <tr> + <td >2000-11-07</td> + <td >Pieter Van-Dyck</td> + <td >Change InterlockedCompareExchange for compatibility with Borland BCB5 + </td> + </tr> + + <tr> + <td >2000-11-07</td> + <td >Pieter Van-Dyck</td> + <td >Fix incorrect version number in gXercesMinVersion. + </td> + </tr> + + <tr> + <td >2000-11-01</td> + <td >Tinny Ng</td> + <td >SAX bug fix: Attribute lists were throwing exceptions rather than returning + null when an attribute could not be found by name. + </td> + </tr> + + <tr> + <td >2000-11-01</td> + <td >Tinny Ng</td> + <td >Scanner bug fix: with progessive parsing, namesapce and validation + options were not being set correctly. Symptoms included failure to detect + ignorable white space. + </td> + </tr> + + <tr> + <td >2000-10-31</td> + <td >Tinny Ng</td> + <td >DOM NodeIterator bug fix: iterators would sometimes continue beyond their + starting (root) node. + </td> + </tr> + + <tr> + <td >2000-10-20</td> + <td >Andy Heninger</td> + <td >DOMParser bug fix - erroneous attempt to look up name space URIs + while scanning default attribute values in DTD removed. Was a + crashing bug when namespaces were enabled. + </td> + </tr> + + <tr> + <td >2000-10-20</td> + <td >Andy Heninger</td> + <td >DOM NodeFilter - define values for FilterAction enum to match those in the + DOM spec. + </td> + </tr> + + <tr> + <td >2000-10-19</td> + <td >Andy Heninger</td> + <td >SAXCount sample, allow multiple files on command line. DOMCount sample, rename + error handler class to say that it is an error handler. + </td> + </tr> + + <tr> + <td >2000-10-18</td> + <td >James Berry</td> + <td >MacOS project file updates. Small code optimization. Add comments to clarify and + to reflect new fixed XMLCh size. + </td> + </tr> + + <tr> + <td >2000-10-17</td> + <td >Andy Heninger</td> + <td >Bug Fix - problems with multi-byte characters on input buffer boundaries. + </td> + </tr> + + <tr> + <td >2000-10-17</td> + <td >Andy Heninger</td> + <td >DOMPRintFormatTarget, bad override of writeChars fixed (missing const). + XMLFormatTarget, removed version of writeChars with no length. Can not be + safely used, and obscured other errors. + </td> + </tr> + + <tr> + <td >2000-10-16</td> + <td >Andy Heninger</td> + <td >Change XMLCh back to unsigned short on all platforms + </td> + </tr> + + <tr> + <td >2000-10-13</td> + <td >Devin Barnhart</td> + <td >COM: interpret BSTR as UTF-16 in documents + </td> + </tr> + + <tr> + <td >2000-10-13</td> + <td >Edward Bortner</td> + <td >Solaris: change detection for native support for type bool to defined(_BOOL). + </td> + </tr> + + <tr> + <td >2000-10-13</td> + <td >Nadav Aharoni</td> + <td >MXLString::trim() bug fix: failure to null terminate result. + </td> + </tr> + + <tr> + <td >2000-10-10</td> + <td >Bill Schindler</td> + <td >XMLFormatter: Fix problems with output to multi-byte encodings. + </td> + </tr> + + <tr> + <td >2000-10-10</td> + <td >Andy Heninger</td> + <td >From Janitor, remove the addition that is having compile problems in MSVC. + </td> + </tr> + + <tr> + <td >2000-10-10</td> + <td >James Berry</td> + <td >Fix a bug in returned length of transcoded string. + Add a few comments. + </td> + </tr> + + <tr> + <td >2000-10-09</td> + <td >James Berry</td> + <td >ProjectBuilder project to build Xerces. + </td> + </tr> + + <tr> + <td >2000-10-09</td> + <td >James Berry</td> + <td > Numerous Changes: + - Increase environmental sensitivity with hope of supporting pre OS 9 + OS versions. + - Enhanced path creation/interpretation to support proper unix style + paths under Mac OS X instead of the volume rooted paths we previously + used. Paths under Classic remain the same. + - Better timer resolution. + - Detect functionality via unresolved symbols rather than Gestalt + where possible. + - Softly back away from URLAccess...if it's not installed, we just + don't support a net accessor. + - Additional support for XMLCh/UniChar size differences under + GCC on Mac OS X. + - Fix Mac OS X support. GCC in this environment sets wchar_t to a 32 bit + value which requires an additional transcoding stage (bleh...) + - Improve sensitivity to environment in order to support a broader + range of system versions. + - Fix a few compiler sensitivities. + - Carbon.h header support + </td> + </tr> + + <tr> + <td >2000-10-09</td> + <td >James Berry</td> + <td >Add some auto_ptr functionality to allow modification of monitored + pointer value. This eases use of Janitor in some situations. + </td> + </tr> + + <tr> + <td >2000-10-09</td> + <td >James Berry</td> + <td >Autosense.hpp: modify sensing of Mac OS X. + </td> + </tr> + + <tr> + <td >2000-09-28</td> + <td >Andy Heninger</td> + <td >DOM_Document::putIdentifier() removed. There never was an implementation + for this function. + </td> + </tr> + + <tr> + <td >2000-09-28</td> + <td >Curt Arnold</td> + <td >COM wrappers updated. + </td> + </tr> + + <tr> + <td >2000-09-28</td> + <td >Linda Swan</td> + <td >AS400 related changes. + </td> + </tr> + + <tr> + <td >2000-09-28</td> + <td >Andy Heninger</td> + <td >DOM_Document - remove the un-implemented function putIdentifier() + from the header. + </td> + </tr> + + <tr> + <td >2000-09-28</td> + <td >Andy Heninger</td> + <td >DOMParser MemoryLeak fixed. Occured when a document redefined the + a builtin entity, e.g. <. + </td> + </tr> + + <tr> + <td >2000-09-28</td> + <td >Andy Heninger</td> + <td >DOMPrint sample: add deletes before exit so boundschecker runs cleanly. + </td> + </tr> + + + <tr> + <td >2000-09-22</td> + <td >James Berry</td> + <td > Change file access permissions to fsRdPerm. Since we never write, there's + no reason to request write access. Thanks to John Mostrom @ Adobe. + Also nuke a few spaces and the entire defunct support for reading + directly from MacOS resources. + </td> + </tr> + + <tr> + <td >2000-09-22</td> + <td >Arundhari Bhowmick</td> + <td >DOM Parser: internal subset entity printing update. + </td> + </tr> + + +</table> +</s2> + +<s2 title="Xerces-C Version 1.3.0: Sept 21, 2000"> + +<table > + <tr> + <td >Date</td> + <td >Contributor</td> + <td >Description</td> + </tr> + <tr> + <td >2000-09-21</td> + <td >Torbjörn Bäckström</td> + <td >HPUX - Incorrect use of Array Janitor in Platform Utils removed.</td> + </tr> + <tr> + <td >2000-09-21</td> + <td >Arundhati Bhowmick</td> + <td >DOMPrint - DTD internal subset, printing of attribute value enumerations was broken.</td> + </tr> + <tr> + <td >2000/09/19</td> + <td >Arundhati Bhowmick</td> + <td >DOMPrint - output entity reference nodes as XML entity references, instead of just printing their children.</td> + </tr> + <tr> + <td >2000-09-19</td> + <td >Bill Schindler</td> + <td >OS/2 - port update</td> + </tr> + <tr> + <td >2000-09-18</td> + <td >Arundhati Bhowmick</td> + <td >DOM EntityReferences, fixed bugs with length() and hasChildNodes() methods.</td> + </tr> + <tr> + <td >2000-09-12</td> + <td >Arundhati Bhowmick</td> + <td >DOM: changed name of expandEntityReferences option to createEntityReferenceNodes. More accurately describes what + it does. Fixed bugs that caused creation of Entity Reference nodes to fail.</td> + </tr> + <tr> + <td >2000-09-12</td> + <td >IBM</td> + <td >AS400 - transcoder updates.</td> + </tr> + <tr> + <td >2000-09-11</td> + <td >Shengkai Qu</td> + <td >OS390 - makefile updates</td> + </tr> + <tr> + <td >2000-09-11</td> + <td >Kirk Wylie</td> + <td >Alpha processor support update in config.sub.</td> + </tr> + <tr> + <td >2000-09-08</td> + <td >Kirk Wylie</td> + <td >Reordered member variables in ThrowEOEJanitor. </td> + </tr> + <tr> + <td >2000-09-08</td> + <td >Arnaud LeHors</td> + <td >DOM NamedNodeMap - because in many cases we may have to deal with both nodes with a namespace and nodes without + any, NS methods through findNamePoint must handle both types of nodes.</td> + </tr> + <tr> + <td >2000-09-08</td> + <td >Kirk Wylie</td> + <td >Some destructors not virtual that should have been; some members of DOM_Entity virtual that should not have been.</td> + </tr> + <tr> + <td >2000-09-08</td> + <td >Andy Heninger</td> + <td >Removed incorrect detection of nested CDATA sections. Problem reported by Johannes Lipp.</td> + </tr> + <tr> + <td >2000-09-08</td> + <td >Andy Heninger</td> + <td >DOMPrint incorrectly handled DOCTYPE declarations containing both a public and system id. Problem reported by + Jesse Pelton.</td> + </tr> + <tr> + <td >2000-09-08</td> + <td >Radovan Chytracek</td> + <td >MSVC: RangeTest project settings incorrect, build failed.</td> + </tr> + <tr> + <td >2000-09-07</td> + <td >Bob Kline</td> + <td >XMLReader::skippedString(), failed under certain rare circumstances.</td> + </tr> + <tr> + <td >2000-09-07</td> + <td >Andy Heninger</td> + <td >Fix SAXException assignment operator. Now non-virtual, and SAXParseException subclass invokes base class operator.</td> + </tr> + <tr> + <td >2000-09-06</td> + <td >William L. Hopper</td> + <td >Borland updates. It had fallen way behind.</td> + </tr> + <tr> + <td >2000-09-06</td> + <td >Andy Heninger</td> + <td >HPUX 11, packageBinaries build script, DCEThreads no longer default</td> + </tr> + <tr> + <td >2000-09-06</td> + <td >James Berry</td> + <td >Macintosh: Add support for new compile time options defined in prefix file. These control the selection of the + msgloader, transcoder, and netaccessor. Add a tiny bit of robustness to the nasty panic method..</td> + </tr> + <tr> + <td >2000-09-06</td> + <td >Shengkai Qu</td> + <td >S390: socket related changes</td> + </tr> + <tr> + <td >2000-09-06</td> + <td >James Berry</td> + <td >Macintosh: Allow ShortenFiles to work even when destination directory already exists.</td> + </tr> + <tr> + <td >2000-09-06</td> + <td >Arundhati Bhowmick</td> + <td >HP compile options modified for ICU compatibility</td> + </tr> + <tr> + <td >2000-09-05</td> + <td >Michael Crawford</td> + <td >Macintosh: Fix atomic increment & decrement to return value after operation rather than before.</td> + </tr> + <tr> + <td >2000-09-05</td> + <td >Andy Heninger</td> + <td >Cleaned up various compiler warnings.</td> + </tr> + <tr> + <td >2000-09-05</td> + <td >Andy Heninger</td> + <td >SAX parser: added advanced callback support for XMLDecl</td> + </tr> + <tr> + <td >2000-09-01</td> + <td >Andy Heninger</td> + <td >Fix ICU transcoding service, crashing bug on Linux, Solaris</td> + </tr> + <tr> + <td >2000-08-30</td> + <td >Andy Heninger</td> + <td >Builds - clean up a number of compiler warnings.</td> + </tr> + <tr> + <td >2000-08-24</td> + <td >Andy Heninger</td> + <td >DOMPrint - fixed crash when input xml file was not found.</td> + </tr> + <tr> + <td >2000-08-23</td> + <td >Andy Heninger</td> + <td >Build Script updates and cleanups</td> + </tr> + <tr> + <td >2000-08-18</td> + <td >Andy Heninger</td> + <td >Version number bumped to 1.3 in preparation for the upcoming xerces 1.3 / xml4c 3.3 release</td> + </tr> + <tr> + <td >2000-08-17</td> + <td >Arnaud Lehors</td> + <td >DOM: Rewrote code updating the linked list on node addition and removal. I believe it is now easier to read and + it uses fewer tests so it is also a little faster.</td> + </tr> + <tr> + <td >2000-08-17</td> + <td >Arnaud Lehors</td> + <td >DOM: small cleanup: renamed a set of [] boolean flag methods. yes, I know, I also wish I got them right + in the first place...</td> + </tr> + <tr> + <td >2000-08-17</td> + <td >Sumit Chawla</td> + <td >PTX port updates</td> + </tr> + <tr> + <td >2000-08-16</td> + <td >Andy Heninger</td> + <td >Fixed crash when XML text content has very long lines. Bug pointed out by Simon Fell.</td> + </tr> + <tr> + <td >2000-08-14</td> + <td >Joe Polastre</td> + <td >SAX2 DefaultHandler, inconsistency in const parameters fixed.</td> + </tr> + <tr> + <td >2000-08-11</td> + <td >Arundhati Bhowmick</td> + <td >ICU Transcoding - updates to support ICU 1.6</td> + </tr> + <tr> + <td >2000-08-09</td> + <td >Arundhati Bhowmick</td> + <td >DOM Range: Add const to API where appropriate.</td> + </tr> + <tr> + <td >2000-08-09</td> + <td >Joe Polastre</td> + <td >Many conformance and stability changes:<br/> + - ContentHandler::resetDocument() removed<br/> + - attrs param of ContentHandler::startDocument() made const<br/> + - SAXExceptions thrown now have msgs<br/> + - removed duplicate function signatures that had 'const'<br/> + [ eg: getContentHander() ]<br/> + - changed getFeature and getProperty to apply to const objs<br/> + - setProperty now takes a void* instead of const void*<br/> + - SAX2XMLReaderImpl does not inherit from SAXParser anymore<br/> + - Reuse Validator (http://apache.org/xml/features/reuse-validator) implemented<br/> + - Features & Properties now read-only during parse</td> + </tr> + <tr> + <td >2000-08-09</td> + <td >Joe Polastre</td> + <td >Namespaces bug - bogus default namespace removed.</td> + </tr> + <tr> + <td >2000-08-09</td> + <td >Joe Polastre</td> + <td >SAXException enhanced, messages added.</td> + </tr> + <tr> + <td >2000-08-08</td> + <td >Joe Polastre</td> + <td >SAX2Count - new sample program for SAX2.</td> + </tr> + <tr> + <td >2000-08-07</td> + <td >Arundhati Bhowmick</td> + <td >Remove detach() method from TreeWalker. </td> + </tr> + <tr> + <td >2000-08-03</td> + <td >James Berry</td> + <td >Add Mac Codewarrior projects.</td> + </tr> + <tr> + <td >2000-08-01</td> + <td >Joe Polastre</td> + <td >SAX2 support added</td> + </tr> + <tr> + <td >2000-08-01</td> + <td >Gary Gale</td> + <td >Compaq Tru64 port added.</td> + </tr> + <tr> + <td >2000-07-31</td> + <td >Joe Polastre</td> + <td >bug fix in removeAll() to zero out all the pointers.</td> + </tr> + <tr> + <td >2000-07-31</td> + <td >Andy Heninger</td> + <td >utf-8 byte order mark recognition</td> + </tr> + <tr> + <td >2000-07-29</td> + <td >James Berry</td> + <td >Mac OS Port, general cleanups.</td> + </tr> + <tr> + <td >2000-07-28</td> + <td >James Berry</td> + <td >Addition of NetAccessor functionality for MacOS, built on URLAccess library.</td> + </tr> + <tr> + <td >2000-07-28</td> + <td >Arundhati Bhowmick</td> + <td >ICU Transcoding service: changes for move to ICU 1.6</td> + </tr> + <tr> + <td >2000-07-27</td> + <td >Arundhati Bhowmick</td> + <td >DOM Range added. (Major new feature)</td> + </tr> + <tr> + <td >2000-07-27</td> + <td >Murray Cumming</td> + <td >makefile fixes for SUNW_0.7</td> + </tr> + <tr> + <td >2000-07-25</td> + <td >Arundhati Bhowmick</td> + <td >XMLCh character constants definitions moved to XMLUniDefs.h. Removes name clashes with application defined symbols.</td> + </tr> + <tr> + <td >2000-07-25</td> + <td >Joe Polastre</td> + <td >allow nesting of PlatformUtils::Init() and Terminate()</td> + </tr> + <tr> + <td >2000-07-25</td> + <td >Gary Gale</td> + <td >ICU transcoding: fix off by one error.</td> + </tr> + <tr> + <td >2000-07-21</td> + <td ><check></td> + <td >Change wcsupr to _wcsupr</td> + </tr> + <tr> + <td >2000-07-21</td> + <td >Eric Schroeder</td> + <td >Win32TransService - fix error in use of hashtables</td> + </tr> + <tr> + <td >2000-07-21</td> + <td >Joe Polastre</td> + <td >DOMPrint: fixed error in handling of null CDATA sections.</td> + </tr> + <tr> + <td >2000-07-20</td> + <td >Andy Heninger</td> + <td >Improved net access (parse of URLs). Still weak, though.</td> + </tr> + <tr> + <td >2000-07-20</td> + <td >Erik Schroeder</td> + <td >XMLScaner.cpp bugfix: call startDocument() at beginning of scan.</td> + </tr> + <tr> + <td >2000-07-20</td> + <td >Arundhati Bhowmick</td> + <td >DOMCount exception handling cleaned up.</td> + </tr> + <tr> + <td >2000-07-19</td> + <td >Todd Collins</td> + <td >runConfigure: modified to take "configureoptions"</td> + </tr> + <tr> + <td >2000-07-19</td> + <td ><check></td> + <td >Add 'make install' target to src/util/Platforms/Makefile.in</td> + </tr> + <tr> + <td >2000-07-19</td> + <td ><check></td> + <td >DOM: BugFix: DocumentType nodes can not have children.</td> + </tr> + <tr> + <td >2000-07-19</td> + <td ><check></td> + <td >DOM: Bug in NodeIDMap constructor.</td> + </tr> + <tr> + <td >2000-07-18</td> + <td >Anupam Bagchi</td> + <td >Documentation generation tools updated.</td> + </tr> + <tr> + <td >2000-07-17</td> + <td >James Berry</td> + <td >Mac OS port brought up to date (was very old)</td> + </tr> + <tr> + <td >2000-07-17</td> + <td >Andy Heninger</td> + <td >Change windows project to link with ws2_32.lib instead of winsock32.lib</td> + </tr> + <tr> + <td >2000-07-17</td> + <td >Grace Yan, Joe Kesselman</td> + <td >DOM NodeIterator: bug fix for SHOW_ELEMENT flag incorrectly being retrieved.</td> + </tr> + <tr> + <td >2000-07-17</td> + <td >Joe Polastre</td> + <td >switched scanMisc() with endDoc() in scanNext. Pointed out by Dean Roddey.</td> + </tr> + <tr> + <td >2000-07-17</td> + <td >Jim Reitz</td> + <td >fix for uninitialized variable gotData bug in XMLScanner.cpp.</td> + </tr> + <tr> + <td >2000-07-12</td> + <td >Arundhati Bhowmick</td> + <td >DOM: fix bug in setting previous sibling pointer during insertNode</td> + </tr> + <tr> + <td >2000-07-07</td> + <td >Joe Polastre</td> + <td >Update to use of hashtables.</td> + </tr> + <tr> + <td >2000-07-07</td> + <td >Joe Polastre</td> + <td >DOM userdata: several bug fixes.</td> + </tr> + <tr> + <td >2000-07-06</td> + <td >Andy Heninger</td> + <td >Speedups in XMLScanner, XMLReader</td> + </tr> + <tr> + <td >2000-07-07</td> + <td ><check></td> + <td >bug fixes in IXMLDOM*</td> + </tr> + <tr> + <td >2000-07-06</td> + <td >Joe Polastre</td> + <td >Performance tweaks, added more inlines.</td> + </tr> + <tr> + <td >2000-07-05</td> + <td >Anupam Bagchi</td> + <td >Documentation updates.</td> + </tr> + <tr> + <td >2000-07-05</td> + <td >Joe Polastre</td> + <td >DOM: Attribute node default value handling implemented.</td> + </tr> + <tr> + <td >2000-07-05</td> + <td >Joe Polastre</td> + <td >DOM Attr nodes - fixed setting of specified when cloning. (change may be in error)</td> + </tr> + <tr> + <td >2000-07-04</td> + <td >Dean Roddey</td> + <td >Fixed a memory leak when namespaces are enabled.</td> + </tr> + <tr> + <td >2000-06-28</td> + <td >Curt Arnold</td> + <td >COM object usage documentation update.</td> + </tr> + <tr> + <td >2000-06-28</td> + <td >Joe Polastre</td> + <td >DOM Userdata - put pointers in a hash table rather than having one pre-allocated per node. Memory footprint reduction.</td> + </tr> + <tr> + <td >2000-06-27</td> + <td >Joe Polastre</td> + <td >extended the (implementation) hash table classes.</td> + </tr> + <tr> + <td >2000-06-26</td> + <td >John Roper@iOra.com</td> + <td >Bug fix: check if initialized in Terminate() to stop access violations.</td> + </tr> + <tr> + <td >2000-06-26</td> + <td ><check></td> + <td >Solaris build - template directory related changes.</td> + </tr> + + </table> + </s2> + + <s2 title="Xerces-C Version 1.2.0: June 22, 2000"> + + <table> + <tr> + <td >2000/06/22</td> + <td ><check></td> + <td >OS/2 Port updated.</td> + </tr> + <tr> + <td >2000-06-22</td> + <td >Joe Polastre</td> + <td >DOM Attr nodes, specified flag not set correctly by parser. Fixed.</td> + </tr> + <tr> + <td >2000-06-20</td> + <td >Rahul, Joe, Arundhati</td> + <td >Many doc updates in preparation for release of version 1.2</td> + </tr> + <tr> + <td >2000-06-19</td> + <td >Rahul Jain</td> + <td >Update Package Binaries script to build Xerces with ICU.</td> + </tr> + <tr> + <td >2000-06-19</td> + <td >Joe Polastre</td> + <td >Added help messages to PParse and StdInParse samples.</td> + </tr> + <tr> + <td >2000-06-19</td> + <td >Joe Polastre</td> + <td >Changed "XML4C" to "Xerces-C" in DOMPrint. (Missed in earlier mass name change.)</td> + </tr> + <tr> + <td >2000-06-19</td> + <td >Arundhati Bhowmick</td> + <td >Moved version.incl up one directory level.</td> + </tr> + <tr> + <td >2000-06-19</td> + <td >Curt Arnold</td> + <td >Improved Windows project file.</td> + </tr> + <tr> + <td >2000-06-16</td> + <td >John Smirl</td> + <td >Bug Fix: Document Handler was not called for PIs occurring before the document element. Bug identified by John Smirl + and Rich Taylor</td> + </tr> + <tr> + <td >2000-06-16</td> + <td >Rahul Jain</td> + <td >DOMPrint, SAXPrint: remove extra space in printing PIs.</td> + </tr> + <tr> + <td >2000-06-16</td> + <td >Rahul Jain</td> + <td >Windows Debug Build: add 'D' suffix to DLL name in VCPPDefs.hpp</td> + </tr> + <tr> + <td >2000-06-16</td> + <td >Rahul Jain</td> + <td >Samples: added -v option (validate always). Needed for testing scripts.</td> + </tr> + <tr> + <td >2000-06-14</td> + <td >Joe Polastre</td> + <td >Fixed null ptr failures in DOM NamedNodeMap</td> + </tr> + <tr> + <td >2000-06-12</td> + <td >Andy Heninger</td> + <td >Fixed bug in XMLString::trim(), reported by Michele Laghi</td> + </tr> + <tr> + <td >2000-06-07</td> + <td >Joe Polastre</td> + <td >DOM: reduced memory usage for elements with no attributes.</td> + </tr> + <tr> + <td >2000-06-01</td> + <td >Andy Heninger</td> + <td >DOMString - add const to return type of const XMLCh *DOMString::rawBuffer()</td> + </tr> + <tr> + <td >2000-06-01</td> + <td >Arundhati Bhowmick</td> + <td >Fix crash with Solaris optimized build. Modified XMLURL.cpp to dodge compiler code generation error.</td> + </tr> + <tr> + <td >2000-06-01</td> + <td >Joe Polastre</td> + <td >Bug fix: DOM Attr Specified flag was incorrectly set when cloning or importing attributes.</td> + </tr> + <tr> + <td >2000-05-31</td> + <td >Andy Heninger</td> + <td >MSVC projects modified to produce separate debug and release versions of Xerces lib and dll.</td> + </tr> + <tr> + <td >2000-05-31</td> + <td >Rahul Jain</td> + <td >Bug fix: DOMPrint, SAXPrint produced garbage output on Solaris. Solaris library problem.</td> + </tr> + <tr> + <td >2000-05-31</td> + <td >Joe Polastre</td> + <td >Fixed incorrect error check for end of file in Win32 platform utils.</td> + </tr> + <tr> + <td >2000-05-31</td> + <td >Rahul Jain</td> + <td >DOMPrint enhancements. Add options for specifying character encoding of the output, better control over escaping + of characters, better handling of CDATA sections. Default validation is now "auto"</td> + </tr> + <tr> + <td >2000-05-22</td> + <td >Dean Roddey</td> + <td >XMLFormatter now escapes characters, as reqd., occurring midway in strings. Reported by Hugo Duncan.</td> + </tr> + <tr> + <td >2000-05-22</td> + <td >Andy Heninger</td> + <td >Bug fix in implementation of DOM_Document::GetElementById()</td> + </tr> + <tr> + <td >2000-05-18</td> + <td >Anupam Bagchi</td> + <td >Documentation, DTD for source xml files moved into xerces-c project, sbk: prefixes removed, xml can now be validated + locally.</td> + </tr> + <tr> + <td >2000-05-15</td> + <td >Dean</td> + <td >Fixed 'fatal error' when 'reusing the validator' problem reported<br/> + by Rocky Raccoon (rrockey@bigfoot.com). Fix submitted by<br/> + Dean Roddey (droddey@charmedquark.com).</td> + </tr> + <tr> + <td >2000-05-15</td> + <td >James Berry</td> + <td >Changed #include <memory.h> to <string.h> everywhere. <jberry@criticalpath.com></td> + </tr> + <tr> + <td >2000-05-15</td> + <td >Andy H.</td> + <td >DOMTest: removed incorrectly failing entity tests</td> + </tr> + <tr> + <td >2000-05-12</td> + <td >Andy H.</td> + <td >Revised implementation of DOMDocument::getElementsById(), removed memory leaks, new test program for it.</td> + </tr> + <tr> + <td >2000-05-12</td> + <td >Dean</td> + <td >Bug fix - A PE ref appearing at the start of a skipped conditional section<br/> + was incorrectly being processed rather than ignored. Fix from Dean Roddey.</td> + </tr> + <tr> + <td >2000-05-11</td> + <td >Rahul Jain</td> + <td >Start using the socket based netaccessor by default on most Unix platforms.</td> + </tr> + <tr> + <td >2000-05-11</td> + <td >Rahul Jain</td> + <td >Update ICUTransService to work with latest revision of ICU which provides a hard linked data DLL. i.e. icudata.dll + will be loaded when xerces-c is loaded.</td> + </tr> + <tr> + <td >2000-05-05</td> + <td >Dean</td> + <td >Problem with progressive parsing. parseNext() would through an exception when the document contains entities, either + or external.</td> + </tr> + <tr> + <td >2000-05-11</td> + <td >Sean MacRoibeaird</td> + <td >Add missing validity checks for stand-alone documents, character range<br/> + and Well-formed parsed entities.</td> + </tr> + <tr> + <td >2000-05-10</td> + <td >Radovan Chytracek</td> + <td >Fix compilation problems on MSVC 5. <Radovan.Chytracek@cern.ch></td> + </tr> + <tr> + <td >2000-05-10</td> + <td >Dean</td> + <td >Fix XMLReader defect reported by SHOGO SAWAKI</td> + </tr> + <tr> + <td >2000-05-09</td> + <td >Andy H</td> + <td >Fix problem with Windows filenames containing '\' in Japanese and Korean encodings.</td> + </tr> + <tr> + <td >2000-05-08</td> + <td >Andy H</td> + <td >Memory Cleanup. XMLPlatformUtils::Terminate() deletes all lazily allocated memory</td> + </tr> + <tr> + <td >2000-05-05</td> + <td >Dean</td> + <td >Fixed defect in progressive parsing 'parseNext()' reported by Tim Johnston</td> + </tr> + <tr> + <td >2000-05-03</td> + <td >Tom Jordahl</td> + <td >Fixed Solaris build problems with static character constants. Tom Jordahl <tomj@allaire.com></td> + </tr> + <tr> + <td >2000-04-28</td> + <td >Arnaud LeHors</td> + <td >Reduced memory usage for DOM Attributes.</td> + </tr> + <tr> + <td >2000-04-28</td> + <td >boercher@kidata.de</td> + <td >New runConfigure options -P and -C</td> + </tr> + <tr> + <td >2000-04-27</td> + <td >Andy H</td> + <td >Memory leaks in TransService. Joseph Chen <JosephC@plumtree.com></td> + </tr> + <tr> + <td >2000-04-27</td> + <td >Arnaud LeHors</td> + <td >DOM - storage requirements for nodes substantially reduced.</td> + </tr> + <tr> + <td >2000-04-27</td> + <td >Arundhati</td> + <td >Added DOM XMLDecl node type; provides access to XML declaration.</td> + </tr> + <tr> + <td >2000-04-20</td> + <td >Arundhati</td> + <td >Added DOM access to DTD subset (DOM Level 2 feature)</td> + </tr> + <tr> + <td >2000-04-19</td> + <td >Anupam Bagchi</td> + <td >API document generation changed to DOxygen from Doc++</td> + </tr> + <tr> + <td >2000-04-18</td> + <td >Arundhati</td> + <td >Full support for DOM_EntityReference, DOM_Entity and DOM_DocumentType introduced</td> + </tr> + <tr> + <td >2000-04-18</td> + <td >Dean Roddey</td> + <td >Don't allow spaces before PI target. Bug #42</td> + </tr> + <tr> + <td >2000-04-17</td> + <td >Anupam Bagchi</td> + <td >Follow the SMP/E procedures for the OS/390 BATCH install</td> + </tr> + <tr> + <td >2000-04-12</td> + <td >Dean Roddey</td> + <td >Auto-validate mode. Validate only when a DTD is present.</td> + </tr> + <tr> + <td >2000-04-11</td> + <td >Dean Roddey</td> + <td >If a SAX error handler is installed, then the resetErrors() event handler<br/> + should call the one on the installed SAX error handler.</td> + </tr> + <tr> + <td >2000-04-10</td> + <td >Dean Roddey</td> + <td >Allow an empty DOCTYPE declaration, with just the root name.</td> + </tr> + <tr> + <td >2000-04-06</td> + <td >Dean Roddey</td> + <td >Add low level support for transcoding XML output to different character encodings.</td> + </tr> + <tr> + <td >2000-04-06</td> + <td >Arnaud Lehors</td> + <td >DOM node memory footprint reduction.</td> + </tr> + <tr> + <td >2000-04-06</td> + <td >Dean Roddey</td> + <td >Fixed hanging bug in character transcoding.</td> + </tr> + <tr> + <td >2000-04-05</td> + <td >Dean Roddey</td> + <td >Enable installation of DTDHandler on SAX parser.</td> + </tr> + <tr> + <td >2000-04-04</td> + <td >Anupam Bagchi</td> + <td >Support for PTX platform</td> + </tr> + <tr> + <td >2000-04-03</td> + <td > </td> + <td >IRIX 6.5 port</td> + </tr> + <tr> + <td >2000-03-30</td> + <td > </td> + <td >COM wrappers</td> + </tr> + <tr> + <td >2000-03-24</td> + <td >Jeff Lewis</td> + <td >DOM_Document::GetElementsByTagId() added.</td> + </tr> + <tr> + <td >2000-03-23</td> + <td >Chih Hsiang Chou</td> + <td >DOM: support for identifying "ignorable white space" text nodes.</td> + </tr> + <tr> + <td >2000-03-23</td> + <td >Rahul Jain</td> + <td >URL Net Accessor added.</td> + </tr> + <tr> + <td >2000-03-20</td> + <td >Dean Roddey</td> + <td >Fix null pointer exception with some bad documents.</td> + </tr> + <tr> + <td >2000-03-17</td> + <td >Dean Roddey</td> + <td >Initial support for two-way transcoding.</td> + </tr> + <tr> + <td >2000-03-17</td> + <td >Dean Roddey</td> + <td >Intrinsic transcoding table generation utility added.</td> + </tr> + <tr> + <td >2000-03-17</td> + <td >Anupam Bagchi</td> + <td >UNIX build: Now generates object files in platform-specific directories</td> + </tr> + <tr> + <td >2000-03-13</td> + <td >Anupam Bagchi</td> + <td >Fix GCC build problem: Changed XML_GNUG to XML_GCC</td> + </tr> + <tr> + <td >2000-03-13</td> + <td >Helmut Eiken</td> + <td >Fixed #54. Changed self-assignment to now use the parameter value.<br/> + Reported by Helmut Eiken <H.Eiken@cli.de></td> + </tr> + <tr> + <td >2000-03-10</td> + <td >Chih Hsiang Chou</td> + <td >Fix bug # 19, add const keyword to API. As a result, update test case.</td> + </tr> + <tr> + <td >2000-03-10</td> + <td >Chih Hsiang Chou</td> + <td >DOM: "specified" flag of attributes now set correctly.</td> + </tr> + <tr> + <td >2000-03-08</td> + <td >Dean Roddey</td> + <td >Some fixes for content models that have multiple, trailing, empty<br/> + PE refs (for content model extension.)</td> + </tr> + <tr> + <td >2000-03-07</td> + <td >Dean Roddey</td> + <td >First cut for additions to Win32 xcode. Based very loosely on a<br/> + prototype from Eric Ulevik.</td> + </tr> + <tr> + <td >2000-03-03</td> + <td >Dean Roddey</td> + <td >Fixed a bug in SimpleContentModel that allowed an <a/> to be taken<br/> + as valid for a content model of (a,b).</td> + </tr> + <tr> + <td >2000-03-02</td> + <td >Dean Roddey</td> + <td >Added a scanReset()/parseReset() method to the scanner and<br/> + parsers, to allow for reset after early exit from a progressive parse.<br/> + Added calls to new Terminate() call to all of the samples. Improved<br/> + documentation in SAX and DOM parsers.</td> + </tr> + <tr> + <td >2000-03-02</td> + <td >Dean Roddey</td> + <td >Change "XML4C" to "Xerces" in many places<br/> + Add a cleanup method to XMLPlatformUtils.<br/> + Implement the Locator scheme for SAX.<br/> + Add a -n option to most of the samples, to enable namespaces<br/> + Fix an error where XMLScanner::parseNext() was falling through on an<br/> + exception instead of return a failure.<br/> + Implement the specialized string loading for Win98, since LoadStringW()<br/> + doesn't work on 98 and makes the loaded error text from the Win32<br/> + message loader come out junk<br/> + fix error when two trailing entity references in a content model, like so:<br/> + <!ELEMENT foo (a|b|c|d|e %one;%two;)*></td> + </tr> + + </table> + </s2> + + <s2 title="Xerces-C Version 1.1.0: Feb 28, 2000"> + + <table> + + <tr> + <td >2000/02/18</td> + <td >Dean Roddey</td> + <td >XMLCh defaults to wchar_t on platforms where wchar_t uses Unicode.</td> + </tr> + <tr> + <td >2000-02-18</td> + <td >Dean Roddey</td> + <td >Add Windows-1252 as a built in encoding</td> + </tr> + <tr> + <td >2000-02-17</td> + <td >Dean Roddey</td> + <td >Fixed an infinite loop caused while trying to trim leading white space from the raw URL during parsing.</td> + </tr> + <tr> + <td >2000-02-17</td> + <td >Rahul Jain</td> + <td >Add LibWWW based net accessor</td> + </tr> + <tr> + <td >2000-02-17</td> + <td >Chih Hsiang Chou</td> + <td >DOM: NodeIterator, TreeWalker added.</td> + </tr> + <tr> + <td >2000-02-16</td> + <td >Dean Roddey</td> + <td >Updates for EBCDIC code page issues.</td> + </tr> + <tr> + <td >2000-02-15</td> + <td >Chih Hsiang Chou</td> + <td >DOM: several namespace bugfixes</td> + </tr> + <tr> + <td >2000-02-14</td> + <td >Dean Roddey</td> + <td >Disallow EBCDIC documents without an encoding declaration</td> + </tr> + <tr> + <td >2000-02-10</td> + <td >Bill Schindler</td> + <td >Fixed defect in compare[N]IString function. Defect and fix reported<br/> + by Bill Schindler from developer@bitranch.com</td> + </tr> + <tr> + <td >2000-02-10</td> + <td >Anupam Bagchi</td> + <td >Sample source code cleaned up.</td> + </tr> + <tr> + <td >2000-02-08</td> + <td >Dean Roddey</td> + <td >Fixed bug: xmlns:xxx="" should affect the mapping of the prefixes of sibling attributes</td> + </tr> + <tr> + <td >2000-02-07</td> + <td >Dean Roddey</td> + <td >Don't weave base and relative paths unless relative part is really relative.</td> + </tr> + <tr> + <td >2000-02-03</td> + <td >Dietrich Wolf</td> + <td >C++-Builder 4 support</td> + </tr> + <tr> + <td >2000-02-03</td> + <td >Robert Weir</td> + <td >DOMString enhancements</td> + </tr> + <tr> + <td >2000-01-31</td> + <td >Dean Roddey</td> + <td >Win32 mutex implementation was changed to use critical sections for speed.</td> + </tr> + <tr> + <td >2000-01-28</td> + <td >Dean Roddey</td> + <td >The API is not in place to allow client code to make sense of start/end entity<br/> + ref calls from attribute values. So suppress them for now.</td> + </tr> + <tr> + <td >2000-01-28</td> + <td >Andy Heninger</td> + <td >Fix multi-threading problem in DOM.</td> + </tr> + <tr> + <td >2000-01-27</td> + <td >Dean Roddey</td> + <td >Fixed bug: If an entity ends on the last > of some markup, then the end of entity<br/> + won't be sent because the end of entity is not sensed.</td> + </tr> + <tr> + <td >2000-01-24</td> + <td >Dean Roddey</td> + <td >Fixes a bogus error about ]]> in char data.</td> + </tr> + <tr> + <td >2000-01-24</td> + <td >Dean Roddey</td> + <td >Exposed the APIs to get to the byte offset in the source XML buffer.</td> + </tr> + <tr> + <td >2000-01-21</td> + <td >Dean Roddey</td> + <td >Added a check for a broken pipe error on file read.</td> + </tr> + <tr> + <td >2000-01-18</td> + <td >Dean Roddey</td> + <td >Update to support new ICU 1.4 release</td> + </tr> + <tr> + <td >2000-01-18</td> + <td >Dean Roddey</td> + <td >Remove dependence on old utils standard streams</td> + </tr> + <tr> + <td >2000-01-18</td> + <td >Rahul Jain</td> + <td >Added CreateDOMDocument sample.</td> + </tr> + <tr> + <td >2000-01-13</td> + <td >Dean Roddey</td> + <td >Added a NetAccessorException for use by implementations of the NetAccessor abstraction, if they need to report + errors during processing</td> + </tr> + <tr> + <td >2000-01-12</td> + <td >Dean Roddey</td> + <td >get the C++ and Java versions of error messages more into sync.</td> + </tr> + <tr> + <td >2000-01-11</td> + <td >Dean Roddey</td> + <td >Moved the input source classes from / to framework/.</td> + </tr> + <tr> + <td >2000-01-11</td> + <td >Dean Roddey</td> + <td >Changes to deal with multiply nested, relative paths, entities</td> + </tr> +</table> + +</s2> + + + + <s2 title="Xerces-C Version 1.0.1: December 15, 1999"> + <ul> + <li>Port to Solaris.</li> + <li>Improved error recovery and clarified error messages.</li> + <li>Added DOMTest program.</li> + </ul> + </s2> + + <s2 title="&XercesCFullName; Version 1.0.0: December 7, 1999"> + <ul> + <li>Released &XercesCName; after incorporating ICU as a value-added plug-in.</li> + <li>Has bug fixes, better conformance, better speed and cleaner internal architecture</li> + <li>Three additional samples added: PParse, StdInParse and EnumVal</li> + <li>Experimental DOM Level 2 support</li> + <li>Support for namespaces</li> + <li>Loadable message text enabling future translations to be easily plugged-in</li> + <li>Pluggable validators</li> + <li>Pluggable transcoders</li> + <li>Reorganized the util directory to better manage different platforms and compilers</li> + </ul> + </s2> + + <s2 title="Xerces-C BETA November 5, 1999"> + <ul> + <li>Created initial code base derived from IBM's XML4C Version 2.0</li> + <li>Modified documentation to reflect new name (Xerces-C)</li> + </ul> + </s2> +</s1> diff --git a/doc/schema.xml b/doc/schema.xml index efc640ded99d0ab753985c8b78ed88da7805aee3..065889638e13ba1adc261c609694d9eff0519a59 100644 --- a/doc/schema.xml +++ b/doc/schema.xml @@ -4,16 +4,15 @@ <s2 title="Disclaimer"> <p>Schema is not fully supported in Xerces-C yet. But an experimental implementation of a subset of the W3C XML - Schema language is now available for review in the latest - <jump href="http://xml.apache.org/dist/xerces-c/nightly/"> - nightly build</jump>. You should not consider this - implementation complete or correct. The limitations of - this implementation are detailed below. Please read this - document before using this nightly build package. + Schema language is now available for review in Xerces1.5. + You should not consider this implementation complete or + correct. The limitations of this implementation are + detailed below. Please read this document before using + Xerces 1.5. </p> </s2> <s2 title="Introduction"> - <p>The nightly build package contains an implementation + <p>The Xerces 1.5 contains an implementation of a subset of the W3C XML Schema Language as specified in the 2 May 2001 Recommendation for <jump href="http://www.w3.org/TR/xmlschema-1/">Structures</jump> @@ -31,10 +30,12 @@ </p> </s2> <s2 title="Limitations"> - <p>The XML Schema implementation in the nightly build package is a + <p>The XML Schema implementation in the Xerces 1.5 is a subset of the features defined in the 2 May 2001 XML Schema Recommendation. </p> </s2> + + <anchor name="supportedFeature"/> <s2 title='Features/Datatypes Supported'> <ul> <li>Partial Simple type support </li> @@ -65,6 +66,7 @@ </ul> </ul> + <p> Additional Experimental Features (not tested and subject to change, use as is)</p> <ul> <li>Complex type derivation support (simpleContent and complexContent).</li> @@ -75,7 +77,7 @@ <p>Other features in the Schema recommendation such as "redefine", "identity constraints" and others which are not mentioned above, are not supported - yet. But development is continuing and we target to implement all the + yet. But development is continuing and we target to implement all the features of the current XML Schema Recommendation before end of this year. Please note that the date is tentative and subject to change. </p> @@ -89,6 +91,8 @@ Recommendation. See the sample provided in the Usage section. </p> </s2> + + <anchor name="usage"/> <s2 title="Usage"> <p>XML document specifies the XML Schema grammar location in the xsi:schemaLocation attribute attached to the root / top-level element. diff --git a/doc/xerces-c_book.xml b/doc/xerces-c_book.xml index 214d03c69d6aae6b8cda3aee7d437a956fbbe7c2..c8d286250b4b2d02c8ef8ee14901322108834749 100644 --- a/doc/xerces-c_book.xml +++ b/doc/xerces-c_book.xml @@ -30,6 +30,10 @@ <entry id="stdinparse" source="stdinparse.xml"/> <entry id="enumval" source="enumval.xml"/> <entry id="createdoc" source="createdoc.xml"/> + <entry id="sax2count" source="sax2count.xml"/> + <entry id="sax2print" source="sax2print.xml"/> + <entry id="idomcount" source="idomcount.xml"/> + <entry id="idomprint" source="idomprint.xml"/> </container> <document id="schema" label="Schema" source="schema.xml"/> @@ -43,10 +47,12 @@ <document id="program" label="Programming" source="program.xml"/> <document id="migrate" label="Migration" source="migration.xml"/> + <hidden id="migrate_archive" source="migration_archive.xml"/> <separator/> <document id="releases" label="Releases" source="releases.xml"/> + <hidden id="releases_archive" source="releases_archive.xml"/> <document id="bug-report" label="Bug-Reporting" source="bug-report.xml"/> <document id="feedback" label="Feedback" source="feedback.xml"/>