This manual describes Oracle XML DB, and how you can use it to store, generate, manipulate, manage, and query XML data in the database.
After introducing you to the heart of Oracle XML DB, namely the
XMLType framework and Oracle XML DB Repository, the manual provides a brief introduction to design criteria to consider when planning your Oracle XML DB application. It provides examples of how and where you can use Oracle XML DB.
The manual then describes ways you can store and retrieve XML data using Oracle XML DB, APIs for manipulating
XMLType data, and ways you can view, generate, transform, and search on existing XML data. The remainder of the manual discusses how to use Oracle XML DB Repository, including versioning and security, how to access and manipulate repository resources using protocols, SQL, PL/SQL, or Java, and how to manage your Oracle XML DB application using Oracle Enterprise Manager. It also introduces you to XML messaging and Oracle Streams Advanced Queuing
This Preface contains these topics:
Oracle XML DB Developer's Guide is intended for developers building XML Oracle Database applications.
An understanding of XML, XML Schema, XQuery, XPath, and XSL is helpful when using this manual.
Many examples provided here are in SQL, PL/SQL, Java, or C. A working knowledge of one of these languages is presumed.
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
For more information, see these Oracle resources:
Oracle Database New Features Guide for information about the differences between Oracle Database 12c and Oracle Database 12c Enterprise Edition with respect to available features and options. This book also describes features new to Oracle Database 12c Release 1 (12.1).
Oracle Database Error Messages. Oracle Database error message documentation is available only as HTML. If you have access to only printed or PDF Oracle Database documentation, you can browse the error messages by range. Once you find the specific range, use the search (find) function of your Web browser to locate the specific message. When connected to the Internet, you can search for a specific error message using the error message search feature of the Oracle Database online documentation.
Many of the examples in this book use the sample schemas, which are installed by default when you select the Basic Installation option with an Oracle Database installation. Refer to Oracle Database Sample Schemas for information about how these schemas were created and how you can use them yourself.
To download free release notes, installation documentation, white papers, or other collateral, please visit the Oracle Technology Network (OTN). You must register online before using OTN; registration is free and can be done at
If you already have a user name and password for OTN, then you can go directly to the documentation section of the OTN Web site at
For additional information, see:
http://www.w3.org/TR/xml/ – XML (language)
http://www.xml.com/pub/a/98/10/guide0.html – XML introduction
http://www.w3.org/XML/Schema – XML Schema
http://www.w3.org/2001/XMLSchema – XML Schema
http://www.w3.org/TR/xmlschema-0/ – XML Schema: primer
http://www.w3.org/TR/xmlschema-1/ – XML Schema: structures
http://www.w3.org/TR/xmlschema-2/ – XML Schema: data types
http://www.oasis-open.org/cover/schemas.html – XML Schema
http://xml.coverpages.org/xmlMediaMIME.html – media/MIME types
http://www.w3.org/TR/xptr/ – XPointer
http://www.w3.org/TR/xpath – XPath 1.0
http://www.w3.org/TR/xpath20/ – XPath 2.0
XML In a Nutshell, by Elliotte Rusty Harold and W. Scott Means, O'Reilly, January 2001,
http://www.w3.org/TR/2002/NOTE-unicode-xml-20020218/ – Unicode in XML
http://www.w3.org/TR/xml-names/ – XML namespaces
http://www.w3.org/TR/xml-infoset/ – information sets
http://www.w3.org/DOM/ – Document Object Model (DOM)
http://www.w3.org/TR/xslt – XSLT
http://www.w3.org/TR/xsl – XSL
http://www.w3.org/2002/ws/Activity.html – Web services
http://www.ietf.org/rfc/rfc959.txt – RFC 959: FTP Protocol Specification
ISO/IEC 13249-2:2000, Information technology - Database languages - SQL Multimedia and Application Packages - Part 2: Full-Text, International Organization For Standardization, 2000
http://download.oracle.com/javaee/1.2.1/api/index.html – XML and Java
Throughout this manual, "XML Schema" refers to the XML Schema 1.0 recommendation,
The following text conventions are used in this document:
Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.
Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.
Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.
The code examples in this book are for illustration only. In many cases, however, you can copy and paste parts of examples and run them in your environment.
Many of the examples in this book use the standard database schemas that are included in your database. In particular, database schema
OE contains XML purchase-order documents in
purchaseorder, and XML documents with warehouse information in
warehouse_spec of table
The purchase-order documents are also contained in Oracle XML DB Repository, under the repository path
/home/OE/PurchaseOrders/2002/. The XML schema that governs these documents is file
purchaseorder.xsd, at repository location
/home/OE/purchaseorder.xsd. An XSLT stylesheet that is used in some examples to transform purchase-order documents is file
purchaseorder.xsl, at repository location
/home/OE/purchaseorder.xsl. This XML schema and stylesheet can also be found in Oracle-Supplied XML Schemas and Examples.
To promote readability, especially of lengthy or complex XML data, output is sometimes shown pretty-printed (formatted) in code examples.
Some of the code examples in this book present execution plans. These are for illustration only. Running examples that are presented here in your environment is likely to result in different execution plans from those presented here.
When examining the examples in this book, keep in mind the following:
SQL is case-insensitive, but names in SQL code are implicitly uppercase, unless you enclose them in double quotation marks (
XML is case-sensitive. You must refer to SQL names in XML code using the correct case: uppercase SQL names must be written as uppercase.
For example, if you create a table named
my_table in SQL without using double quotation marks, then you must refer to it in XML code as "
Syntax descriptions are provided for various SQL, PL/SQL, or other command-line constructs in graphic form or Backus Naur Form (BNF).
See Oracle Database SQL Language Reference for information about how to interpret these descriptions.