Oracle XML Developers Kit

Release Notes for Version 10.1.0.2.0 Production

Dec 31, 2003


Contents

1 Overview
2 XDK Java Components
3 XDK C/C++ Components
4 Compatibility
5 Known Bugs


1 Overview

Oracle XML Developer's Kit (Oracle XDK) is a set of components, tools and utilities that eases the task of building and deploying XML-enabled applications. To provide a broad variety of deployment options, the Oracle XDK components are available for Java, C, and C++. Unlike many shareware and trial XML components, the production Oracle XDK are fully supported and come with a commercial redistribution license. Oracle XDK consists of the following components:

Please post any questions, comments, or bug reports to the XML Forum on the Oracle Technology Network at http://otn.oracle.com/tech/xml/xdkhome.html

2 XDK Java Components

Oracle XDK Java components are built on W3C Recommendations and Java JSR standards. The list of currently supported standards are:


2.1 DOM Specifications

The DOM APIs include support for Candidate Recommendations of DOM Level 3 Validation and DOM Level 3 Load and Save.

Load and Save

The following configuration parameters are not supported by LSParser:

Optional settings of the following configuration parameters are not supported by LSParser: The following configuration parameters are not supported by LSSerializer: Optional settings of the following configuration parameters are not supported by LSSerializer: Validation

Some DOM 3 Core functions referred by Validation are implemented, but Core itself is not supported.

2.2 XSL Transformation

The XSLT processor adds support for the current working drafts of XSLT 2.0, XPath 2.0 and the shared XPath/XQuery data model.

Some features of these specifications are not supported in the current release:


2.3 JAXB Class Generator

The XML Data Binding is built upon JSR-31 "The Java Architecture for XML Binding (JAXB) Final, V1.0 January 8th, 2003". This component allows creations of Java classes based on the XML Schema. The XDK 9i Class Generator has been deprecated; however, the XDK 9i Class Generator runtime is included and will be supported for the duration of XDK v10 release.

The JAXB 1.0 specification does not require full W3C XML Schema support. Please refer to Appendix E.2 for full details. The current release doesn't support the following:


2.4 XML Java Beans

The following new beans are added in the release:
 


The following beans have been deprecated in this release.  These beans are no longer part of xmlcomp.jar.  They are archived in xmldemo.jar.

The oracle.xml.transviewer.DBAccess bean has been deprecated, please use oracle.xml.dbaccess.DBAccess instead.
 

2.5 XML Pipeline Processor

Oracle XML Pipeline Processor is built upon the XML Pipeline Definition Language Version 1.0, W3C  Note 28 February 2002. The processor can take an input xml pipeline document and executes the pipeline processes according to the derived dependencies. The pipeline document is an xml document, and specifies the processes to be executed in a declarative manner. In addition to the Pipeline Processor, we have defined several Pipeline Processes which can be piped together in a pipeline document.

There are some differences between the W3C Note and this implementation. They are:


2.6 XSQL Servlet

Oracle XSQL servlet combines the power of SQL, XML, and XSLT in the server to deliver dynamic web content. With XSQL servlet you can:

The XSQL servlet processor has the following new features:


2.7 Oracle TransX Utility

TransX is a data transfer utility that allows you to populate your database with multilingual data. It uses XML to specify the data so you can take advantage of easy data transfer from XML to the database, a simple data format that is intuitive for both developers and translators, and validation capability that makes it less error prone.


2.8 Oracle XML SQL Utility

XML-SQL Utility (XSU) is utility can transform data retrieved from object-relational database tables or views into XML and insert the data in XML into the appropriate columns/attributes of a table or a view based on a canonical mapping.


3 XDK C/C++ Components

Oracle XDK C/C++ components are built on W3C Recommendations. The list of currently supported standards are:


3.1 XSLT Virtual Machine

The XSLTVM Package implements the XSL Transformation (XSLT) language as specified in W3C Recommendation 16 November 1999. XSLT Virtual Machine is the software implementation of a "CPU" designed to run compiled XSLT code. A concept of virtual machine assumes a compiler compiling XSLT stylesheets to a sequence of byte codes or machine instructions for the "XSLT CPU". The byte-code program is a platform independent sequence of 2-byte units. It can be stored, cashed and run on different XSLTVM. The XSLTVM uses the bytecode programs to transform instance XML documents. This approach clearly separates compile(design)-time from run-time computations and specifies a uniform way of exchanging data between instructions. The package includes two interfaces:

A typical scenario of using the package APIs has the following steps:
  1. Create/Use an XML meta context object.
  2. Create/Use an XSLT Compiler object.
  3. Compile an XSLT stylesheet and store/cash the result bytecode.
  4. Optional. Repeat steps 1 - 2 for all stylesheets.
  5. Delete (or preserve for later usage) the Compiler object.
  6. Create/Use an XSLTVM object.
  7. Set a stylesheet bytecode to the XSLTVM object.
  8. Transform an instance XML document.
  9. Optional. Repeat step 6 or 5 - 6 as many times as needed.
  10. Delete (or preserve for later usage) the XSLTVM object.


3.2 XML Schema Validator

The processor fully supports the functionality stated in the specification plus "XML Schema 1.0 Specification Errata" as published on:
  http://www.w3.org/2001/05/xmlschema-errata.


4 Compatibility

This section contains recommendations on upgrading to this release.

4.1 XDK Java components upgrade


4.2 XDK C/C++ components upgrade


4.3 New C++ API and Old C++ API

This release includes new C++ API (see xml.hpp and xmlctx.hpp). The primary difference of new API is an introduction of interfaces to various XDK tools. These interfaces will replace old C++ API in future releases. The mapping of old C++ classes into new C++ interfaces is as follows:

Class XMLParser->DOMParser and SAXParser interfaces (abstract classes)

DOM classes (Node, etc.)->References to DOM nodes (NodeRef, AttrRef, etc.)

Class XSLProcessor->Interfaces (abstract classes)Xsl::Transformer, Xsl::CompTransformer, Xsl::Compiler

Class XPath->Interfaces (abstract classes) XPath::Processor, XPath::CompProcessor, XPath::Compiler

Class XMLSchema->Interface (abstract class) SchemaValidator


5. Known Bugs

Please see specific sections for additional known issues.