What's New In Oracle XML DB?

This section describes the new features and functionality, enhancements, APIs, and product integration support added to Oracle XML DB for Oracle Database 11g Release 1 (11.1).

Oracle Database 11g Release 1 (11.1) New Features in Oracle XML DB

Binary XML

Binary XML is a new storage model for abstract data type XMLType, joining the existing storage models of structured (object-relational) and unstructured (CLOB) storage. Binary XML is XML-Schema aware, but it can also be used with XML data that is not based on an XML schema. See "XMLType Storage Models".

See Also:


A new index type is provided for XMLType: XMLIndex. This can greatly improve the performance of XPath-based predicates and fragment extraction for XMLType data, whether based on an XML schema or not. The new index type is a (logical) domain index that consists of underlying physical table(s) and secondary indexes. See Chapter 5, "Indexing XMLType Data".


The CTXSYS.CTXXPath index is deprecated in Oracle Database 11g Release 1 (11.1). The functionality that was provided by CTXXPath is now provided by XMLIndex.

Oracle recommends that you replace CTXXPath indexes with XMLIndex indexes. The intention is that CTXXPath will no longer be supported in a future release of the database.

See Also:

XMLType OCTs Now Use Heap Storage Instead of IOTs

You can store collections of XML elements as ordered collection tables (OCTs). OCTs now use heap storage, by default. In prior releases, OCTs were index-organized tables (IOTs), by default. A new XML schema registration option, REGISTER_NT_AS_IOT, forces the use of IOTs.

Default Value of XML Schema Annotation storeVarrayAsTable Is Now true

In prior releases, the default value of XML schema annotation storeVarrayAsTable was false; the default value is now true. This means that, by default, an XML collection is now stored as a set of rows in an ordered collection table (OCT). Each row corresponds to an element in the collection. With annotation storeVarrayAsTable = "false", the entire collection is instead serialized as a varray and stored in a LOB column.

Using storeVarrayAsTable = "true" facilitates efficient queries and updates on members of a collection, as well as the creation of B-tree indexes on a collection.

See Also:

"Controlling How Collections are Stored for Object-Relational XMLType Storage" for more information about storing XML collections object-relationally

Repository Events

Applications can now register listeners with handlers for events associated with Oracle XML DB Repository operations such as creating, deleting, and updating a resource. See Chapter 30, "Oracle XML DB Repository Events".

See Also:

Support for Content Repository API for Java (JCR: JSR-170)

Oracle XML DB now supports Content Repository API for Java (JCR) and the JSR-170 standard. You can access Oracle XML DB Repository using the JCR APIs. See Chapter 31, "Using Oracle XML DB Content Connector".

See Also:

Oracle Database XML Java API Reference for new Java methods

New Repository Resource Link Types

You can now create weak folder links to represent Oracle XML DB Repository folder-child relationships. Hard links are still available, as well. See "Link Types".

See Also:

Support for WebDAV Privileges and New Oracle XML DB Privileges

All WebDAV privileges are now supported by Oracle XML DB Repository. In addition, there are some new Oracle XML DB-specific atomic privileges. See Chapter 27, "Access Control Lists and Security Classes".

See Also:

Web Services

You can now access Oracle Database through Web services. You can write and deploy Web services that can query the database using SQL or XQuery, or access stored PL/SQL functions and procedures. See Chapter 33, "Using Native Oracle XML DB Web Services"

In-Place XML Schema Evolution

In many cases, you can now evolve XML schemas without copying the corresponding XML instance documents. See Chapter 9, "XML Schema Evolution".

See Also:

Oracle Database PL/SQL Packages and Types Reference for updates to PL/SQL package DBMS_XMLSCHEMA

Support for Recursive XML Schemas

Oracle XML DB now performs XPath rewrite on some queries that use '//' in XPath expressions to target nodes at multiple or arbitrary depths, even when the XML data conforms to a recursive XML schema. See "Support for Recursive Schemas"

See Also:

Oracle Database PL/SQL Packages and Types Reference for updates to PL/SQL package DBMS_XMLSCHEMA

Support for XLink and XInclude

Oracle XML DB now supports the XLink and XInclude standards. See Chapter 23, "Using XLink and XInclude With Oracle XML DB".

Support for XML Translations

You can now associate natural-language translation information with XML schemas and corresponding instance documents. This includes support for standard attributes xml:lang and xml:srclang. See "XML Translations".

See Also:

Oracle Database PL/SQL Packages and Types Reference for information about new PL/SQL package DBMS_XMLTRANSLATIONS

Support for Large XML Nodes

The previous 64K limit on text nodes and attribute values has been lifted. Text nodes and attribute values are no longer limited in size to 64K bytes each. New streaming push and pull APIs are available in PL/SQL, Java, and C to provide virtually unlimited node sizes. See "Large Node Handling Using DBMS_XMLDOM" for information about handling large nodes in PL/SQL and "Handling Large Nodes Using Java".

See Also:

Unified Java API

The Java XML APIs in Oracle XML DB and Oracle XDK have been unified.

Oracle Data Pump Support for XMLType

Oracle Data Pump is now the recommended way to import and export XMLType data. See Chapter 36, "Exporting and Importing XMLType Tables".

Support for XMLType by Oracle Streams and Logical Standby

Oracle Streams and logical standby now support XMLType stored as CLOB. Both XML schema-based and non-schema-based XML data are supported.

Oracle XDK Pull-Parser API (XML Events, JSR-173)

You can use the new Oracle XML Developer Kit (XDK) pull-parser API with Oracle XML DB. See "Using the Oracle XDK Pull Parser With Oracle XML DB".

See Also:

XQuery Standard Compliance

Oracle XML DB support for the XQuery language has been updated to reflect the latest version of the XQuery standard, W3C XQuery 1.0 Recommendation.

See Also:

Fine-Grained Access to Network Services Using PL/SQL

New atomic privileges are provided for access control entries (ACEs). These privileges are used for fine-grained PL/SQL access to network services.

SQL/XML Standard Compliance and Performance Enhancements

Oracle XML DB support for the SQL/XML standard has been updated to reflect the latest version of the standard. This includes support for standard SQL functions XMLExists and XMLCast. See "Querying XMLType Data with SQL Functions" and "Generating XML Using SQL Functions".

See Also:

Oracle Database SQL Language Reference for information about new SQL/XML functions XMLExists and XMLCast; as well as updates to functions XMLQuery, XMLTable, and XMLForest.

XML-Update Performance Enhancements

The performance of SQL functions used to update XML data has been enhanced for XML schema-based data that is stored object-relationally. This includes XPath rewrite for SQL functions updateXML, insertChildXML, and deleteXML.

XQuery and SQL/XML Performance Enhancements

XQuery and SQL/XML performance enhancements include treatment of the following:

XSLT Performance Enhancements

The performance of XSLT transformations using SQL function XMLTransform and method transform() has been enhanced.