26Using the XSLT Processor for C++

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.

Accessing XSLT for C++

XSLT for C++ is provided with Oracle Database. Sample files are located at xdk/demo/cpp/new.

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

XSLT for C++ DOM Interface Usage

Any XSLT processor is initiated by calling the tools factory to create a particular XSLT transformer or compiler.

The stylesheet is supplied to any transformer by calling setXSL() member functions.

The XML instance document is supplied as a parameter to the transform member functions.

The resultant document (XML, HTML, VML, and so on) is typically sent to an application for further processing. The document is sent as a DOM tree or as a sequence of SAX events. SAX events are produced if a SAX event handler is provided by the user.

The application terminates the XSLT processors by invoking their destructors.

Invoking XSLT for C++

XSLT for C++ can be invoked in two ways:

By invoking the executable on the command line

By writing C++ code and using the supplied APIs

Command Line Usage

Writing C++ Code to Use Supplied APIs

XSLT for C++ can also be invoked by writing code to use the supplied APIs. The code must be compiled using the headers in the public subdirectory and linked against the libraries in the lib subdirectory. Please see the Makefile or make.bat in xdk/demo/cpp/new for full details of how to build your program.

Using the Sample Files Included with the Software

The $ORACLE_HOME/xdk/demo/cpp/parser/ directory contains several XML applications to illustrate how to use the XSLT for C++.

Sources for sample XSLT usage program. XSLSample takes two arguments, the XSLT stylesheet and the XML file. If you redirect stdout of this program to a file, you may have some output missing, depending on your environment.

XVMSampleMain.cpp
XVMSampleGen.cpp
XVMSampleGen.hpp

Sources for the sample XVM usage program.

Scripting on this page enhances content navigation, but does not change the content in any way.