Skip Headers

Oracle® Application Developer's Guide - XML 10g (9.0.4) Part Number B12099-01 |
Home | Contents | Index

#
What's New in Oracle XML-Enabled Technology?

This section describes the new features in the following releases:

- Features Introduced with Oracle Application Developer's Guide - XML, Release 10g (9.0.4)

## Features Introduced with Oracle Application Developer's Guide - XML, Release 10g (9.0.4)

Here are the new XML features in Release 10g (9.0.4):

##### XDK for Java

- XML Schema Processor for Java

- XML Parser for Java -- DOM 2.0 and SAX 2.0 support

- Improved XSLT performance

  See: Chapter 20, "Using XML Parser for Java" Chapter 21, "Using XML Schema Processor for Java"

- Class Generator for Java now includes XML Schema based Class Generator as well as a DTD based Class Generator

  See: Chapter 22, "XML Class Generator for Java"

- XSQL Servlet and Pages

  - Support for Database Bind Variables. Now both lexical substitution and true database bind variables are supported for improved performance.

  - Support for PDF Output Using Apache FOP. You can now combine XSQL Pages with the Apache FOP processor to produce Adobe PDF output from any XML content.

  - Trusted Host Support for XSLT Stylesheets. New security features insure that stylesheets cannot be executed from non-trusted hosts.

  - Full Support for Non-Oracle JDBC Drivers. Now all query, insert, update, and delete features with both Oracle and Non-Oracle JDBC drivers.

  - Process Dynamically Constructed XSQL Pages. The XSQLRequest API can now process programmatically constructed XSQL pages.

  - Use a Custom Connection Manager. You can now implement your own Connection Manager to handle database connections in any way you like.

  - Produce Inline XML Schema. You can now optionally produce an inline XML Schema that describes the structure of your XML query results.

  - Set Default Date Format for Queries. You can now supply a date format mask to change the default way date data is formatted.

  - Write Custom Serializers. You can create and use custom serializers that control what and how the XSQL page processor will return to the client.

  - Dynamic Stylesheet Assignment. Assign stylesheets dynamically based on parameters or the result of a SQL query.

  - Update or Delete Posted XML. In addition to inserting XML, now updating and deleting is also supported.

  - Insert or Update Only Targeted Columns. You can now explicitly list what columns should be included in any insert or update request.

  - Page-Request Scoped Objects. Your action handlers can now get/set objects in the page request context to share state between actions within a page.

  - Access to ServletContext. In addition to accessing the HttpRequest and HttpResponse objects, you can also access the ServletContext.

    See: Chapter 10, "XSQL Pages Publishing Framework"

- XDK for Java Beans

  - DBViewer Bean (new). Displays database queries or any XML by applying XSL stylesheets and visualizing the resulting HTML in a scrollable swing panel.

  - DBAccess Bean (new). DB Access bean maintains CLOB tables that hold multiple XML and text documents.

    See: Chapter 23, "Using XML Transviewer Beans"

- XDK for C

  - XML Parser for C -- DOM 1.0 plus DOM CORE 2.0 (a subset of DOM)

  - XML Schema Processor for C

  - Improved XSLT performance

    See: Chapter 25, "Using XML Schema Processor for C"

- XDK for C++

  - XML Parser for C++ -- DOM 1.0 plus DOM CORE 2.0 (a subset of DOM)

  - XML Schema Processor for C++

  - Improved XSLT performance

    See: Chapter 27, "Using XML Schema Processor for C++"

- XDK for PL/SQL

  - Improved XSLT performance

    See: Chapter 29, "Using XML Parser for PL/SQL"

##### XML SQL Utility (XSU) Features

- Ability to generate XML Schema given an SQL Query

- Support for XMLType and Uri-ref

- Ability to generate XML as a stream of SAX2 callbacks

- XML attribute support when generation XML from the database. This provides an easy way of specifying that a particular column or group of columns should be mapped to an XML attribute instead of an XML element.

XSU is also considered part of the XDK for Java and XDK for PL/SQL.

See: Chapter 7, "XML SQL Utility (XSU)"

##### Database XML Related Enhancements

Extensible Markup Language (XML) is a standard format developed by the World Wide Web Consortium (W3C) for representing structured and unstructured data on the Web. Universal Resource Identifiers (URIs) identify resources such as Web pages anywhere on the Web. Oracle provides types to handle XML and URI data, as well as a class of URIs called `DBUri-REF`s to access data stored within the database itself. It also provides a new set of types to store and access both external and internal URIs from within the database.

#### XMLType

This (new) Oracle-supplied type can be used to store and query XML data in the database. `XMLType` has member functions you can use to access, extract, and query the XML data using XPath expressions. XPath is another standard developed by the W3C committee to traverse XML documents. Oracle `XMLType` functions support a subset of the W3C XPath expressions. Oracle also provides a set of SQL functions (including `SYS_XMLGEN` and `SYS_XMLAGG`) and PL/SQL packages (including `DBMS_XMLGEN`) to create `XMLType` values from existing relational or object relational data.

`XMLType` is a system-defined type, so you can use it as an argument of a function or as the datatype of a table or view column. When you create a `XMLType` column in a table, Oracle internally uses a `CLOB` to store the actual XML data associated with this column. As is true for all `CLOB` data, you can make updates only to the entire XML document. You can create an Oracle Text index or other function-based index on a `XMLType` column.

#### URI Datatypes

Oracle supplies a family of URI types--`UriType`, `DBUriType`, and `HttpUriType`--which are related by an inheritance hierarchy. `UriType` is an object type and the others are subtypes of `UriType`.

- You can use `HttpUriType` to store URLs to external web pages or to files. It accesses these files using HTTP (Hypertext Transfer Protocol).

- `DBUriType` can be used to store `DBUri-REF`s, which reference data inside the database. Since `UriType` is the supertype, you can create columns of this type and store `DBUriType` or `HttpUriType` type instances in this column. Doing so lets you reference data stored inside or outside the database and access the data consistently.

  `DBUri-REF`s use an XPath-like representation to reference data inside the database. If you imagine the database as a XML tree, then you would see the tables, rows, and columns as elements in the XML document. For instance, the sample human resources user `hr` would see the following XML tree:

      <HR>
        <EMPLOYEES>
          <ROW>
            <EMPLOYEE_ID>205</EMPLOYEE_ID>
            <LAST_NAME>Higgins</LAST_NAME>
            <SALARY>12000</SALARY>
            .. <!-- other columns -->
          </ROW>
          ... <!-- other rows -->
        </EMPLOYEES>
        <!-- other tables..-->
      </HR>
      <!-- other user schemas on which you have some privilege on..-->

  The `DBUri-REF` is simply an XPath expression over this virtual XML document. So to reference the `SALARY` value in the `EMPLOYEES` table for the employee with employee number 205, we can write a `DBUri-REF` as,

      /HR/EMPLOYEES/ROW[EMPLOYEE_ID=205]/SALARY

Using this model, you can reference data stored in `CLOB` columns or other columns and expose them as URLs to the external world. Oracle provides a standard URI servlet that can interpret such URLs. You can install and run this servlet under the Oracle Servlet engine.

#### UriFactoryType

`UriFactoryType` is a factory type, which is a type that can create and return other object types. When given a URL string, `UriFactoryType` can create instances of the various subtypes of the `UriTypes`. It analyzes the URL string, identifies the type of URL (HTTP, `DBUri`, and so on) and creates an instance of the subtype.

See: Chapter 5, "Database Support for XML" Chapter 6, "Database Uri-references" Chapter 8, "Searching XML Data with Oracle Text"

##### Advanced Queueing (AQ) Features

New Advanced Queueing features include enhanced XML messaging options:

- Internet-Data-Access-Presentation (IDAP)

- AQXMLServlet for use with HTTP and SMTP access

- XMLType Queues

- XML AQ message transformation

  See: Chapter 9, "Exchanging XML Data Using Oracle AQ"

##### Metadata API

Metadata API (new) provides a centralized, simple and flexible means for performing the following tasks:

- Extracting complete definitions of database objects (metadata) as either XML or creation DDL

- Transforming metadata via industry-standard XSLT (XML Stylesheet Transformation language).

- Generating SQL DDL to recreate the database objects

Metadata API is available on Oracle Database whenever the instance is operational. It is not available on Oracle Lite. It includes the (new) DBMS_METADATA PL/SQL supplied package.

See: Chapter 13, "Using Metadata API"

##### Oracle Text (interMedia Text/Context) Features

The new Oracle Text section group, PATH_SECTION_GROUP, enables new and more sophisticated section searching for XML documents. PATH_SECTION_GROUP supports the following:

- Case sensitivity

- Searching multi-tag paths with direct parentage ensured

- Path searching to wildcard levels

- Searching to reference top-level tags

- Attribute value sensitive searching, searching by section existence

The new Oracle Text operators are:

- HASPATH() operator

- INPATH() operator

  See: Chapter 8, "Searching XML Data with Oracle Text"

##### OracleAS Reports Services

- Server enhancements: For Java based servers -- Re-engineered in 100% Java. Status information is now available in HTML and XML.

- Pluggable Datasources and Destinations (new). Create your own data-access-modules in JAVA.

  - Plug into Reports using PDS-API

  - Integrate seamlessly into data model

  - combine multiple data sources in a single report

  - Shipped PDSs (XML, JDBC, Express, and SQL)

- JSP Based runtime

- Enhanced portal integration, report bursting, e-mail, distribution, and PDF support

- Event based reporting

  See Also: Chapter 14, "OracleAS Reports Services and XML"

| Copyright © 2001, 2003 Oracle Corporation. All Rights Reserved. |
Home | Contents | Index