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, 8 of 8

## XML C++ Class Generator Specifications

Working in conjunction with the XML Parser for C++, the XML Class Generator generates a set of C++ source files based on an input DTD. The generated C++ source files can then be used to construct, optionally validate, and print a XML document that is compliant to the DTD specified. The Class Generator supports validation mode to assist debugging.

### Input to the XML C++ Class Generator

Input is an XML document containing a DTD. The document body itself is ignored; only the DTD is relevant, though the dummy document must conform to the DTD. The underlying XML parser only accepts file names for the document and associated external entities. In future releases, no dummy document will be required, and URIs for additional protocols will be accepted.

#### Character Set Support

The following lists supported Character Set Encoding for files input to XML C++ Class Generator. These are in addition to the character sets specified in Appendix A, "Character Sets", of Oracle8i National Language Support Guide.

- BIG 5

- EBCDIC-CP-*

- EUC-JP

- EUC-KR

- GB2312

- ISO-2022-JP

- ISO-2022-KR

- ISO-8859-1, ISO-8859-2, ISO-8859-3, ..., ISO-8859-9

- ISO-10646-UCS-2

- ISO-10646-UCS-4

- KOI8-R

- Shift_JIS

- US-ASCII

- UTF-8

- UTF-16

##### Default:

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.

### Output to XML C++ Class Generator

XML Parser for C++ output is a pair of C++ source files, .cpp and .h, named after the DTD. Constructors are provided for each class (element) that allow an object to be created in two different ways: initially empty, then adding the children or data after the initial creation, or created with the initial full set of children or initial data. A method is provided for #PCDATA (and Mixed) elements to set the data and, when appropriate, set an element's attributes.

### Standards Conformance

XML C++ Class Generator conforms to the following "Standards":

- The W3C recommendation for Extensible Markup Language (XML) 1.0

- The W3C recommendation for Document Object Model Level 1 1.0

- The W3C proposed recommendation for Namespaces in XML

- The Simple API for XML (SAX) 1.0

### Directory Structure

The XML C++ Class Generator has the following file and directory structure:

    license.html licensing agreement
    bin/         Standalone Class Generator "xmlcg"
    doc/         API documentation
    include/     Header files
    lib/         XML and support libraries
    mesg/        Error message files (including cause/action information in the
                .msg)
    sample/      Example usage

Table E-6 lists the libraries included with XML C++ Class Generator.

##### Table E-6 XML C++ Class Generator LIbraries

XML C++ Class Generator Library | Description
--- | ---
libxml8.a | XML Parser/XSL Processor
libxmlg8.a | XML Class Generator
libxmlc8.a | Compatibility library needed to link with Oracle 8.1.5
libcore8.a | CORE functions
libnls8.a | National Language Support

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