|Oracle9i XML Database Developer's Guide - Oracle XML DB
Release 2 (9.2)
Part Number A96620-01
This chapter describes the new features, enhancements, APIs, and product integration added through Oracle XML DB as a part of Oracle9i Release 2 (9.2).
XMLType datatype was first introduced in Oracle9i. This datatype has been significantly enhanced in Oracle9i Release 2 (9.2). The following sections describe these enhancements.
XMLType can now be used to create tables of
XMLType. This gives you the flexibility to store XML either in a column, in a table, or as a whole table, much like objects.
XMLType constructors have been added. Besides the
XMLType can now also be constructed using user-defined constructors.
Extensive XML schema support has been added in this release to Oracle XML DB. You can now perform the following:
XMLTypeobject based on an XML schema and have it be continuously validated.
XMLTypetables. This feature automatically creates appropriate storage structures for optimal storage of XML schema-based documents. Unlike SQL DDL, this process does not require knowledge of all column data types and their definitions.
DBMS_XMLSCHEMApackage, to share storage and type definitions. Registered XML schema can be shared across all database users to allow for instance wide common document definition. The registration process optionally creates Java beans and default tables. With XML schema annotationyou can specify various objects such as, SQL types, default storage tables, and so on.
This release includes support for SQLX operations for generating XML from existing relational and object relational tables. This is based on ISO-ANSI Working Draft for XML-Related Specifications (SQL/XML) [ISO/IEC 9075 Part 14 and ANSI] which defines ways in which the database language SQL can be used in conjunction with XML.
For example, the following functions defined by the SQLX standards body are supported: XMLElement(), XMLForest(), XMLConcat(), and XMLAgg(). Oracle XML DB also extends the SQLX operations with functions such as: XMLColAttVal(),
Oracle9i Release 1 (9.0.1) provided the
existsNode() functions on
XMLType objects. These allowed XPath-based queries against XML documents. This release provides additional support as follows:
ToObject method allows the caller to convert an
XMLType object to a PL/SQL object type.
This release supports
XMLType-based views. These enable you to view any data in the database as XML.
XMLType views can be XML schema-based or non-XML schema-based. See Chapter 11, "XMLType Views".
This release introduces a new function,
XMLTransform() that allows for a database-based transformation of in-memory or on disk XML documents. See Chapter 6, "Transforming and Validating XMLType Data".
Oracle XML DB allows database clients to bind and define
XMLType. JDBC support includes a function-rich
XMLType class that allows for native (for thick JDBC) XML functionality support. See Chapter 9, "Java and Java Bean APIs for XMLType".
This release includes native PL/SQL DOM, Parser, and XSLT APIs integrated in the database code. These PL/SQL APIs are compatible with the Java-based PLSQL APIs shipped as part of XDK for PL/SQL with Oracle9i Release 1 (9.0.1) and higher. See Chapter 8, "PL/SQL API for XMLType".
In this release, Oracle XML DB Repository adds advanced foldering and security mechanisms to the database. Oracle XML DB Repository is a new feature that provides a novel file system-like access to all database data. The Repository allows the following actions:
DBMS_XDB package provides methods to access and manipulate Oracle XML DB resources. Chapter 16, "Oracle XML DB Resource API for PL/SQL (DBMS_XDB)".
This uses JNDI (Java Naming and Directory Interface) to locate resources, and manage collections. It supports JNDI Service Provider Interface (SPI). This interface works only inside the database server on the JServer platform. See Chapter 17, "Oracle XML DB Resource API for Java/JNDI".
ResourceView is a public
XMLType view that you can use to perform path name-based queries against all resources in a database instance. This view merges path-based queries with queries against relational and object-relational tables and views. See Chapter 15, "RESOURCE_VIEW and PATH_VIEW".
DBMS_XDB_VERSION package provides methods to version Oracle XML DB resources. See Chapter 14, "Oracle XML DB Versioning".
Methods that implement ACL-based security are a part of
DBMS_XDB package. They allow you to create high-performance access control lists for any XMLType object. See Chapter 18, "Oracle XML DB Resource Security".
The Protocol Servers provide access to any foldered XMLType row through FTP, HTTP, and WebDAV. Note that XMLType can manage arbitrary binary data as well in any file format. See Chapter 19, "Using FTP, HTTP, and WebDAV Protocols".
URIType now includes a new subtype,
XDBURIType, that represents a path name within Oracle XML DB. See Chapter 12, "Creating and Accessing Data Through URLs".
Oracle Enterprise Manager provides a graphical interface to manage, administer, and configure Oracle XML DB. See Chapter 21, "Managing Oracle XML DB Using Oracle Enterprise Manager".
This release offers the following Oracle Text enhancements:
XMLTypecan now be indexed natively in Oracle9i database using Oracle Text.
CONTAINS()is a new function for use as
ora:containsin an XPath query and as part of the
CTXXPATHis a new index type for use with
existsNode()to speedup the performance of XPath searching.
With this release, the Advanced Queueing (AQ) Internet Data Access Presentation (IDAP) has been enhanced. IDAP facilitates your using AQ over the Internet. You can now use AQ XML servlet to access Oracle9i AQ using HTTP and SOAP.
Also in this release, IDAP is the Simple Object Access Protocol (SOAP) implementation for AQ operations. IDAP now defines the XML message structure used in the body of the SOAP request.
You can now use
XMLType as the AQ payload type instead of having to embed
XMLType as an attribute in an Oracle object type.
XSQL Servlet and XML SQL Utility (XSU) for Java now support
XMLType. Most methods on
XMLType object, such as,
getClobVal(), are now available in XSU for Java.
XML SQL Utility (XSU) for PLSQL now supports