Skip Headers
Oracle® XML Developer's Kit Programmer's Guide
11g Release 2 (11.2)

Part Number E23582-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
PDF · Mobi · ePub
ADXDK2100

27 Using the XML Schema Processor for C++

This chapter contains these topics:

Note:

Use the new unified C++ API in xml.hpp for new XDK applications. The old C++ API in oraxml.hpp is deprecated and supported only for backward compatibility, but will not be enhanced. It will be removed in a future release.
ADXDK19928

Oracle XML Schema Processor for C++

The XML Schema processor for C++ is a companion component to the XML parser for C++ that allows support to simple and complex datatypes into XML applications.

The XML Schema processor for C++ supports the W3C XML Schema Recommendation. This makes writing custom applications that process XML documents straightforward, and means that a standards-compliant XML Schema processor is part of the XDK on each operating system where Oracle is ported.

ADXDK19929

Oracle XML Schema for C++ Features

XML Schema processor for C++ has the following features:

  • Supports simple and complex types

  • Built upon the XML parser for C++

  • Supports the W3C XML Schema Recommendation

The XML Schema processor for C++ class is OracleXml::Parser::SchemaValidator.

See Also:

Oracle Database XML C++ API Reference schema validator interface
ADXDK19930

Online Documentation

Documentation for Oracle XML Schema processor for C++ is located in /xdk/doc/cpp/schema directory in your install area.

ADXDK19931

Standards Conformance

The XML Schema processor for C++ conforms to the following standards:

  • W3C recommendation for Extensible Markup Language (XML) 1.0

  • W3C recommendation for Document Object Model Level 1.0

  • W3C recommendation for Namespaces in XML 1.0

  • W3C recommendation for XML Schema 1.0

ADXDK19932

XML Schema Processor API

Interface SchemaValidator is an abstract template class to handle XML schema-based validation of XML documents.

ADXDK19933

Invoking XML Schema Processor for C++

The XML Schema processor for C++ can be called as an executable by invoking bin/schema in the install area. This takes the arguments:

  • XML instance document

  • Optionally, a default schema

  • Optionally, the working directory

Table 27-1 lists the options (can be listed if the option is invalid or -h is the option):

ADXDK19934Table 27-1 XML Schema Processor for C++ Command Line Options

Option Description

-0

Always exit with code 0 (success).

-e encoding

Specify default input file encoding.

-E encoding

Specify output/data/presentation encoding.

-h

Help. Prints these choices.

-i

Ignore provided schema.

-o num

Validation option.

-p

Print document instance to stdout on success.

-u

Force the Unicode path.

-v

Version - display version, then exit.


The XML Schema processor for C++ can also be invoked by writing code using the supplied APIs. The code must be compiled using the headers in the include subdirectory and linked against the libraries in the lib subdirectory. See Makefile or Make.bat in the xdk/demo/cpp/schema directory for details on how to build your program.

Error message files in different languages are provided in the mesg subdirectory.

ADXDK19935

Running the Provided XML Schema for C++ Sample Programs

The directory xdk/demo/cpp/schema contains a sample application that illustrates how to use Oracle XML Schema processor for C++ with its API. Table 27-2 lists the sample files provided.

ADXDK19936Table 27-2 XML Schema Processor for C++ Samples Provided

Sample File Description

Makefile

Makefile to build the sample programs and run them, verifying correct output.

xsdtest.cpp

Trivial program which invokes the XML Schema for C++ API

car.{xsd,xml,std}

Sample schema, instance document, expected output respectively, after running xsdtest on them.

aq.{xsd,xml,std}

Second sample schema's, instance document, expected output respectively, after running xsdtest on them.

pub.{xsd,xml,std}

Third sample schema's, instance document, expected output respectively, after running xsdtest on them.


To build the sample programs, run make.

To build the programs and run them, comparing the actual output to expected output:

make sure
Reader Comment

   

Comments, corrections, and suggestions are forwarded to authors every week. By submitting, you confirm you agree to the terms and conditions. Use the OTN forums for product questions. For support or consulting, file a service request through My Oracle Support.

Hide Navigation

Quick Lookup

Database Library · Master Index · Master Glossary · Book List · Data Dictionary · SQL Keywords · Initialization Parameters · Advanced Search · Error Messages

Main Categories

This Page

This Document

New and changed documents:
RSS Feed HTML RSS Feed PDF