Oracle8i Application Developer's Guide - XML Release 3 (8.1.7) Part Number A86030-01 |
Library | Service | Contents | Index

XDK for C++: Specifications and Cheat Sheet, 3 of 8

## XML Parser for C++ Revision History

Table E-1 lists the XML Parser for C++ revision history.

##### Table E-1 XML Parser for C++: Revision History

Revision | Description
--- | ---
Oracle XML Parser 2.0.4.0.0 (C++) | First production v2 release. Changes are mainly bug fixes. For XML parser, the following bugs were fixed: 1352943 XMLPARSE() SOMETIMES CHOKES ON FILENAMES 1302311 PROBLEM WITH PARAMETER ENTITY PROCESSING 1323674 INCONSISTENT ERROR HANDLING IN THE C XML PARSER 1328871 LPXPRINTBUFFER UNCONDITIONALLY PREPENDS XML COMMENT TO OUTPUT 1349962 USING FREED MEMORY LOCATION CAUSES TLPXVNSA31.DIF oraxmldom.h was renamed to oradom.h
| For the XSLT processor, the following bugs were fixed: 1225546 USELESS ERROR MESSAGE NEEDS DETAIL 1267616 TLPXST14.DIF: REPLACE DBL_MAX WITH SBIG_ORAMAXVAL IN LPXXP.C:LPXXPSUBSTRING() 1289228 ERROR CONTEXT REQUIRED FOR DEBUGGING: FILE NAME, LINE#, FUNCTION, ETC
| 1289214 XSL:CHOOSE DOESN'T WORK 1298028 XPATH CONSTRUCT NOT(POSITION()=LAST()) NOT WORKING 1298193 XPATH FUNCTIONS DON'T PROVIDE IMPLICIT TYPE CONVERSION OF PARAMS 1323665 C XML PARSER CANNOT SET BASE DIRECTORY OR URI FOR STYLESHEET PARSING 1325452 SEVERE MEMORY CONSUMPTION / LEAK IN XSLPROCESS 1333693 CHAINED TRANSFORMS WITH C XSL PROCESSOR DON'T WORK: LPX-00002
Oracle XML Parser 2.0.3.0.0 (C++) | SAX memory usage: Smaller, and flat for any input size and multiple parses (memory leaks plugged). XSLT memory usage: Improved. Validation warnings: Validity Constraint (VC) errors have been changed to warnings and do not terminate parsing. For compatibilty with the old behavior (halt on warnings as well as errors), a new flag XML_FLAG_STOP_ON_WARNING (or '-W' to the xml program) has been added. Performance improvements: Switch to finite automata VC structure validation yields 10% performance gain. HTTP support: HTTP URIs are now supported; look for FTP in the next release. For other access methods, the user may define their own callbacks with the new xmlaccess() API.
Oracle XML Parser 2.0.2.0.0 (C++) | XSLT improvements: Various bugs fixed in the XSLT processor; error messages are improved; xsl:number, xsl:sort, xsl:namespace-alias, xsl:decimal-format, forwards-compatible processing with xsl:version, and literal result element as stylesheet are now available; the following XSLT-specific additions to the core XPath library are now available: current(), format-number(), generate-id(), and system-property(). XML parser bug fixes: Some problems with validation and matching of start and end tags with SAX were fixed. Also, a bug with parameter entity processing in external entities was fixed.
Oracle XML Parser 2.0.1.0.0 (C++) | Performance improvements: Major performance improvement over the last, about two and a half times faster for UTF-8 parsing and about four times faster for ASCII parsing. Comparison timing against previous version for parsing (DOM) and validating various standalone files (SPARC Ultra 1 CPU time): File size Old UTF-8 New UTF-8 Speedup Old ASCII New ASCII Speedup 42K 180ms 70ms 2.6 120ms 40ms 3.0 134K 510ms 210ms 2.4 450ms 100ms 4.5 247K 980ms 400ms 2.5 690ms 180ms 3.8 1M 2860ms 1130ms 2.5 1820ms 380ms 4.8 2.7M 10550ms 4100ms 2.6 7450ms 1930ms 3.9 10.5M 42250ms 16400ms 2.6 29900ms 7800ms 3.8 Conformance improvements: Stricter conformance to the XML 1.0 spec yields higher scores on standard test suites (Jim Clark, Oasis, etc).
| Lists, not arrays: Internal parser data structures are now uniformly lists; arrays have been dropped. Therefore, access is now better suited to a firstChild/nextSibling style loop instead of numChildNodes/getChildNode. DTD parsing:A new API call xmlparsedtd() is added which parses an external DTD directly, without needing an enclosing document. Used mainly by the Class Generator.
| Error reporting: Error messages are improved and more specific, with nearly twice as many as before. Error location is now described by a stack of line number/entity pairs, showing the final location of the error and intermediate inclusions (e.g. line X of file, line Y of entity). NOTE: You must use the new error message file (lpxus.msb) provided with this release; the error message file provided with earlier releases is incompatible. See below. XSL improvements: Various bugs fixed in the XSLT processor; xsl:call-template is now fully supported.
Oracle XML Parser 2.0.1.0.0 (C++) | Performance improvements: Major performance improvement over the last, about two and a half times faster for UTF-8 parsing and about four times faster for ASCII parsing. Comparison timing against previous version for parsing (DOM) and validating various standalone files (SPARC Ultra 1 CPU time):File sizeOld UTF-8New UTF-8SpeedupOld ASCIINew ASCIISpeedup42K180ms70ms2.6120ms40ms3.0134K510ms210ms2.4450ms100ms4.5247K980ms400ms2.5690ms180ms3.81M2860ms1130ms2.51820ms380ms4.82.7M10550ms4100ms2.67450ms1930ms3.910.5M42250ms16400ms2.629900ms7800ms3.8
| Conformance improvements: Stricter conformance to the XML 1.0 spec yields higher scores on standard test suites (Jim Clark, Oasis, etc). Lists, not arrays: Internal parser data structures are now uniformly lists; arrays have been dropped. Therefore, access is now better suited to a firstChild/nextSibling style loop instead of numChildNodes/item.
| DTD parsing:A new method XMLParser::xmlparseDTD() is added which parses an external DTD directly, without needing an enclosing document. Used mainly by the Class Generator.
| Error reporting: Error messages are improved and more specific, with nearly twice as many as before. Error location is now described by a stack of line number/entity pairs, showing the final location of the error and intermediate inclusions (e.g. line X of file, line Y of entity).
| NOTE: Use the new error message file (lpxus.msb) provided with this release; the error message file provided with earlier releases is incompatible. See below. XSL improvements: Various bugs fixed in the XSLT processor; xsl:call-template is now fully supported.
Oracle XML Parser 2.0.0.0.0 (C++) | The Oracle XML v2 parser is a beta release and is written in C, with a C++ wrapper. The main difference from the Oracle XML v1 parser is the ability to format the XML document according to a stylesheet via an integrated an XSLT processor. The XML parser will check if an XML document is well-formed, and optionally validate it against a DTD. The parser will construct an object tree which can be accessed via a DOM interface or operate serially via a SAX interface.

| Copyright © 1996-2000, Oracle Corporation. All Rights Reserved. |
Library | Service | Contents | Index