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

Using XML Parser for C++, 3 of 10

## XML Parser for C++ Features

`readme.html` in the root directory of the software archive contains release specific information including bug fixes and API additions.

XML Parser for C++ 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.

You can post questions, comments, or bug reports to the XML Discussion Forum at http://technet.oracle.com.

### Specifications

See Appendix E, "XDK for C++: Specifications and Cheat Sheet" for a list of XML Parser for C++ specifications and methods.

See Also: The doc directory in your install area Oracle8i XML Reference

- On OTN under http://technet.oracle.com/tech/xml/parser_cpp/index.htm

### Memory Allocation

The memory callback functions `memcb` may be used if you wish to use your own memory allocation. If they are used, all of the functions should be specified.

The memory allocated for parameters passed to the SAX callbacks or for nodes and data stored with the DOM parse tree will not be freed until one of the following is done:

- `xmlparse()` or`xmlparsebuf()`is called to parse another file or buffer.

- `xmlclean()` is called.

- `xmlterm()` is called.

### Thread Safety

If threads are forked off somewhere in the midst of the init-parse-term sequence of calls, you will get unpredictable behavior and results.

### Data Types Index

Table 22-1 lists the datatypes used in XML Parser for C++.

##### Table 22-1 Datatypes Used in XML Parser for C++

DataType | Description
--- | ---
oratext | String pointer
xmlctx | Master XML context
xmlmemcb | Memory callback structure (optional)
xmlsaxcb | SAX callback structure (SAX only)
ub4 | 32-bit (or larger) unsigned integer
uword | Native unsigned integer

### Error Message Files

Error message files are provided in the mesg/ subdirectory. The messages files also exist in the `$ORACLE_HOME/oracore/mesg` directory. You may set the environment variable `ORA_XML_MESG` to point to the absolute path of the `mesg/` subdirectory although this not required.

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