September 30, 1999
Changes:
Added getContentModel() and getModifier().
Added createDocument().
The functions now use const properly.
Made some minor changes to error messages.
Fixed a bug to process CDATA sections correctly.
Stored notations and entities properly in the DOM tree.
Processing of public identifiers now properly conforms to the XML spec.
This is the first production release for v1.
August 23, 1999
Changes:
Added all missing interfaces to fully conform to the Document Object Model Level 1 1.0.
xmlinit() was modified to take a parameter for the language of the error messages.
This is the second beta patch release for v1.
July 20, 1999
Changes:
Bug fixes for #922904, i.e. GetNodeValue() returns NULL for certain node types, #918936, i.e. GetDocumentElement() should return root element and not the document node, #917768, i.e. If no DTD exists, the default entities are not recognized, #917763, i.e. Access violation if no attributes are specified for an element declaration but attributes are found in content.
Added xmlparsebuf() to parse from a buffer.
This is the first beta patch release for v1.
The Oracle XML parser is an early beta release and is written in C. It 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. Neither interface is 100% complete in this release.
Be sure to read the licensing agreement before using this product. The parser is currently available only for testing purposes. We expect to make it available for commercial use in the future.
Please post any questions, comments, or bug reports to the XML Forum on the Oracle Technology Network. At this time OTN is your only support resource.
The parser conforms to the following standards:
The following files and directories are found in this release:
| license.html | Licensing agreement |
| readme.html | This file |
| bin/ | Standalone parser "xml" |
| doc/ | API documentation |
| include/ | Header files |
| lib/ | Libraries containing XML parser routines and supporting routines |
| mesg/ | Error message files |
| sample/ | Example usage of the XML parser |
The parser may be called as an executable by invoking bin/xml which has the following options:
| -c | Conformance check only, no validation |
| -e encoding | Specify input file encoding |
| -h | Help - show this usage help |
| -n | Number - DOM traverse and report number of elements |
| -p | Print document and DTD structures after parse |
| -x | Exercise SAX interface and print document |
| -v | Version - display parser version then exit |
| -w | Whitespace - preserve all whitespace |
The parser may also be invoked by writing code to use the supplied APIs. The code must be compiled using the headers in the include/ subdirectory and linked against the libraries in the lib/ subdirectory. Please see the Makefile in the sample/ subdirectory for full details of how to build your program.
Please note that the libraries supplied with version 1.0.0.0.1 are different from those supplied with version 1.0.0.0.0. Also note that there is no longer a dependency on having an installed $ORACLE_HOME. All of the needed headers and libraries are supplied in this directory tree.
An error message file is provided in the mesg/ subdirectory. Currently, the only message file is in English although message files for other languages may be supplied in future releases. You should set the environment variable ORA_XML_MESG to point to the absolute path of the mesg/ subdirectory. Alternately, if you have an $ORACLE_HOME installed, you may copy the contents of the mesg/ subdirectory to the $ORACLE_HOME/oracore/mesg directory.
The parser currently only accepts file names for the document and the associated external entities. URIs for additional protocols may be accepted in future releases.
The parser currently supports the following encodings: UTF-8, UTF-16, US-ASCII, ISO-10646-UCS-2, ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, EUC-JP, SHIFT_JIS, BIG5, GB2312, KOI8-R, EBCDIC-CP-US, EBCDIC-CP-CA, EBCDIC-CP-NL, EBCDIC-CP-WT, EBCDIC-CP-DK, EBCDIC-CP-NO, EBCDIC-CP-FI, EBCDIC-CP-SE, EBCDIC-CP-IT, EBCDIC-CP-ES, EBCDIC-CP-GB, EBCDIC-CP-FR, EBCDIC-CP-HE, EBCDIC-CP-BE, EBCDIC-CP-CH, EBCDIC-CP-ROECE, EBCDIC-CP-YU, and EBCDIC-CP-IS. In addition, any character set specified in Appendix A, Character Sets, of the Oracle National Language Support Guide may be used.
The default encoding is UTF-8. It is recommended that you set the default encoding explicitly if using only single byte character sets (such as US-ASCII or any of the ISO-8859 character sets) for performance up to 25% faster than with multibyte character sets, such as UTF-8.