Oracle XML Developers Kit

Release Notes for Version 11g Release 2 (11.2.0.1.0) Production

June 3, 2009


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:

New feature for this 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 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:


Encoding of Schema-Derived Java Files

According to the Java Language Specification, Java programs are written using the Unicode character set.  Specifically, comments, identifiers, and the contents of character and string literals in a Java program can be formed with Unicode characters.  Unless all input characters in Java program can be expressed in ASCII characters (i.e., non-ASCII characters are translated into Unicode escapes), JAXB-generated Java files needs to be saved in a specific encoding.  For this release, we choose UTF-8 as the encoding of all JAXB-generated Java files.  If this encoding is different from platform default converter, then the option "encoding" needs to be specified to tell javac or the Java programming language compiler which encoding is used for source files.

2.4 XML Java Beans

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.


2.9 Binary XML

Binary XML makes it possible to encode and decode between XML text and compressed binary XML.  For efficiency, the DOM and SAX APIs are provided on top of binary XML for direct consumption by the XML applications.  Please see the Oracle XML Developer's Kit Programmer's Guide for more information.


2.10 Scalable DOM

XDK provides scalable, pluggable support for DOM.  This relieves problems of memory inefficiency, limited scalability, and lack of control over the DOM configuration.  Please see the Oracle XML Developer's Kit Programmer's Guide for more information.


3 XDK C/C++ Components

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

3.1 StAX Support
XML Events provides a StAX like interface where the parsing of the xml document is pull-based compared to push-based SAX events.  XML events give control of the parsing to the application by exposing a simple set of API and an underlying set of events. Methods such as XmlEvNext allow the application to pull the next event rather than handling the event in a callback. Associated with each event are a set of API's that the application can use to get more information. For example, the application can call XmlEvGetName to get the QName for the event XML_EVENT_START_ELEMENT.

3.2 Streaming Validation Support
The streaming validator interface provides the ability to validate the xml document represented by XML events rather than a DOM. The interface takes an event context that represents the instances and uses the XML Events interface to get information about each event during validation.

3.3 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.4 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

In 11gR1, Java XDK is supported on JDK 1.5 and above.

In 11gR2 Java XDK has a dependency on NSL jar: orai18n-mapping.jar.

4.2 XDK C/C++ components upgrade


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


5. Known Bugs

Please see specific sections for additional known issues.