Go to main content
1/58
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Code Examples
Standard Database Schemas
Pretty Printing of XML Data
Execution Plans
Reminder About Case Sensitivity
Syntax Descriptions
Changes in This Release for Oracle XML DB Developer's Guide
Changes in Oracle Database 12
c
Release 2 (12.2.0.1) for Oracle Database
New Features
Improved Partitioning Support for XMLIndex
Client-Side Decoding of Binary XML Data
Change XMLType Storage Model Using Online Redefinition
XML Pushdown with Exadata
Hierarchy-Enabled Table Support for Replication
SCAN Listener Balances HTTP Requests Across Nodes of a RAC Cluster
Load Subdocuments From XML Documents Using Access Driver ORACLE_LOADER
Deprecated Features
Desupported Features
Changes in Oracle Database 12
c
Release 1 (12.1.0.2) for Oracle Database
New Features
JSON Support
PL/SQL Subprograms For Realm Configuration
Changes in Oracle Database 12
c
Release 1 (12.1.0.1) for Oracle XML DB
New Features
Oracle XML DB is Mandatory – You Cannot Uninstall it
XQuery Update Support
XQuery Full Text Support
New XQuery Extension-Expression Pragmas
Replication and Rolling Upgrade Support
Oracle GoldenGate and Oracle Data Guard SQL Apply Support for XMLType
Rolling Upgrade Supports Oracle XML DB Repository
Parallel DML Support for XMLType
XMLIndex Improvements
XMLIndex Index Synchronization Improvements
XMLIndex Support for Hash Partitioning
PL/SQL Package DBMS_XDB Is Split
Access to the Repository Using Digest Access Authentication
DBFS Support
XQuery API for Java (XQJ) Support
Deprecated Features
Desupported Features
Part I Oracle XML DB Basics
1
Introduction to Oracle XML DB
1.1
Overview of Oracle XML DB
1.2
Oracle XML DB Benefits
1.2.1
Data and Content Unified
1.2.1.1
Database Capabilities for Working with XML
1.2.1.2
Advantages of Storing Data as XML in the Database
1.2.2
Data Duality: XML and Relational
1.2.2.1
Use XMLType Views If Your Data Is Not XML
1.2.3
Efficient Storage and Retrieval of Complex XML Documents
1.3
Oracle XML DB Architecture
1.4
Oracle XML DB Features
1.4.1
XMLType Data Type
1.4.2
XMLType Storage Models
1.4.3
XML Schema Support in Oracle XML DB
1.4.4
DTD Support in Oracle XML DB
1.4.5
Static Data Dictionary Views Related to XML
1.4.6
SQL/XML Standard Functions
1.4.7
Programmatic Access to Oracle XML DB (Java, PL/SQL, and C)
1.4.8
Oracle XML DB Repository: Overview
1.5
Standards Supported by Oracle XML DB
1.6
Oracle XML DB Technical Support
1.7
Oracle XML DB Examples
1.8
Oracle XML DB Case Studies and Demonstrations on OTN
2
Getting Started with Oracle XML DB
2.1
Oracle XML DB Installation
2.2
Oracle XML DB Use Cases
2.3
Application Design Considerations for Oracle XML DB
2.3.1
XML Data Storage
2.3.2
The Structure of Your XML Data
2.3.3
Languages Used to Implement Your Application
2.3.4
XML Processing Options
2.3.5
Oracle XML DB Repository Access
2.3.6
Oracle XML DB Cooperates with Other Database Options and Features
3
Overview of How To Use Oracle XML DB
3.1
Creating XMLType Tables and Columns
3.2
Creating Virtual Columns on XMLType Data Stored as Binary XML
3.3
Partitioning Tables That Contain XMLType Data Stored as Binary XML
3.4
Enforcing XML Data Integrity Using the Database
3.4.1
Enforcing Referential Integrity Using SQL Constraints
3.5
Loading XML Content into Oracle XML DB
3.5.1
Loading XML Content Using SQL or PL/SQL
3.5.2
Loading XML Content Using Java
3.5.3
Loading XML Content Using C
3.5.4
Loading Large XML Files that Contain Small XML Documents
3.5.5
Loading Large XML Files Using SQL*Loader
3.5.6
Loading XML Documents into the Repository Using DBMS_XDB_REPOS
3.5.7
Loading Documents into the Repository Using Protocols
3.6
Querying XML Content Stored in Oracle XML DB
3.6.1
PurchaseOrder XML Document Used in Examples
3.6.2
Retrieving the Content of an XML Document Using Pseudocolumn OBJECT_VALUE
3.6.3
Accessing Fragments or Nodes of an XML Document Using XMLQUERY
3.6.4
Accessing Text Nodes and Attribute Values Using XMLCAST and XMLQUERY
3.6.5
Searching an XML Document Using XMLEXISTS, XMLCAST, and XMLQUERY
3.6.6
Performing SQL Operations on XMLType Fragments Using XMLTABLE
3.7
Updating XML Content Stored in Oracle XML DB
3.8
Generating XML Data from Relational Data
3.8.1
Generating XML Data from Relational Data Using SQL/XML Functions
3.8.2
Generating XML Data from Relational Data Using DBURITYPE
3.9
Character Sets of XML Documents
3.9.1
XML Encoding Declaration
3.9.2
Character-Set Determination When Loading XML Documents into the Database
3.9.3
Character-Set Determination When Retrieving XML Documents from the Database
Part II Manipulation of XML Data in Oracle XML DB
4
XQuery and Oracle XML DB
4.1
Overview of the XQuery Language
4.1.1
XPath Expressions Are XQuery Expressions
4.1.2
XQuery: A Functional Language Based on Sequences
4.1.2.1
XQuery Is About Sequences
4.1.2.2
XQuery Is Referentially Transparent
4.1.2.3
XQuery Update Has Side Effects on Your Data
4.1.2.4
XQuery Update Snapshots
4.1.2.4.1
Oracle XML Update Functions (Deprecated) Do Not Use Snapshot Semantics
4.1.2.5
XQuery Full Text Provides Full-Text Search
4.1.3
XQuery Expressions
4.1.4
FLWOR Expressions
4.2
Overview of XQuery in Oracle XML DB
4.2.1
When To Use XQuery
4.2.2
Predefined XQuery Namespaces and Prefixes
4.3
SQL/XML Functions XMLQUERY, XMLTABLE, XMLExists, and XMLCast
4.3.1
XMLQUERY SQL/XML Function in Oracle XML DB
4.3.2
XMLTABLE SQL/XML Function in Oracle XML DB
4.3.2.1
Chaining Calls to SQL/XML Function XMLTABLE
4.3.3
XMLEXISTS SQL/XML Function in Oracle XML DB
4.3.4
Using XMLExists to Find a Node
4.3.5
XMLCAST SQL/XML Function in Oracle XML DB
4.3.6
Using XMLCAST to Extract the Scalar Value of an XML Fragment
4.4
URI Scheme oradb: Querying Table or View Data with XQuery
4.5
Oracle XQuery Extension Functions
4.5.1
ora:contains XQuery Function (Deprecated)
4.5.2
ora:sqrt XQuery Function
4.5.3
ora:tokenize XQuery Function
4.5.4
ora:matches XQuery Function (Deprecated)
4.5.5
ora:replace XQuery Function (Deprecated)
4.6
Oracle XQuery Extension-Expression Pragmas
4.7
XQuery Static Type-Checking in Oracle XML DB
4.8
Oracle XML DB Support for XQuery
4.8.1
Support for XQuery and SQL
4.8.1.1
Implementation Choices Specified in the XQuery Standards
4.8.1.2
XQuery Features Not Supported by Oracle XML DB
4.8.1.3
XQuery Optional Features
4.8.2
Support for XQuery Functions and Operators
4.8.2.1
XQuery Functions fn:doc, fn:collection, and fn:doc-available
4.8.3
Support for XQuery Full Text
4.8.3.1
XQuery Full Text, XML Schema-Based Data, and Pragma ora:no_schema
4.8.3.2
Restrictions on Using XQuery Full Text with XMLExists
4.8.3.3
Supported XQuery Full Text FTSelection Operators
4.8.3.4
Supported XQuery Full Text Match Options
4.8.3.5
Unsupported XQuery Full Text Features
4.8.3.6
XQuery Full Text Errors
5
Query and Update of XML Data
5.1
Using XQuery with Oracle XML DB
5.1.1
XQuery Sequences Can Contain Data of Any XQuery Type
5.1.2
Querying XML Data in Oracle XML DB Repository Using XQuery
5.1.3
Querying Relational Data Using XQuery and URI Scheme oradb
5.1.4
Querying XMLType Data Using XQuery
5.1.5
Using Namespaces with XQuery
5.2
Querying XML Data Using SQL and PL/SQL
5.3
Using the SQL*Plus XQUERY Command
5.4
Using XQuery with XQJ to Access Database Data
5.5
Using XQuery with PL/SQL, JDBC, and ODP.NET to Access Database Data
5.6
Updating XML Data
5.6.1
Updating an Entire XML Document
5.6.2
Replacing XML Nodes
5.6.2.1
Updating XML Data to NULL Values
5.6.3
Inserting Child XML Nodes
5.6.4
Deleting XML Nodes
5.6.5
Creating XML Views of Modified XML Data
5.7
Performance Tuning for XQuery
5.7.1
Rule-Based and Cost-Based XQuery Optimization
5.7.2
XQuery Optimization over Relational Data
5.7.3
XQuery Optimization over XML Schema-Based XMLType Data
5.7.4
Diagnosis of XQuery Optimization: XMLOptimizationCheck
5.7.5
Performance Improvement for fn:doc and fn:collection on Repository Data
5.7.5.1
Use EQUALS_PATH and UNDER_PATH Instead of fn:doc and fn:collection
5.7.5.2
Using Oracle XQuery Pragma ora:defaultTable
6
Indexes for XMLType Data
6.1
Oracle XML DB Tasks Involving Indexes
6.2
Overview of Indexing XMLType Data
6.2.1
XMLIndex Addresses the Fine-Grained Structure of XML Data
6.2.2
Oracle Text Indexes for XML Data
6.2.3
Optimization Chooses the Right Indexes to Use
6.2.4
Function-Based Indexes Are Deprecated for XMLType
6.3
XMLIndex
6.3.1
Advantages of XMLIndex
6.3.2
Structured and Unstructured XMLIndex Components
6.3.3
XMLIndex Structured Component
6.3.3.1
Ignore the Index Content Tables; They Are Transparent
6.3.3.2
Data Type Considerations for XMLIndex Structured Component
6.3.3.3
Exchange Partitioning and XMLIndex
6.3.4
XMLIndex Unstructured Component
6.3.4.1
Ignore the Path Table – It Is Transparent
6.3.4.2
Column VALUE of an XMLIndex Path Table
6.3.4.3
Secondary Indexes on Column VALUE
6.3.4.4
XPath Expressions That Are Not Indexed by an XMLIndex Unstructured Component
6.3.5
Creating, Dropping, Altering, and Examining an XMLIndex Index
6.3.6
Using XMLIndex with an Unstructured Component
6.3.6.1
Creating Additional Secondary Indexes on an XMLIndex Path Table
6.3.7
Use of XMLIndex with a Structured Component
6.3.7.1
Using Namespaces and Storage Clauses with an XMLIndex Structured Component
6.3.7.2
Adding a Structured Component to an XMLIndex Index
6.3.7.3
Using Non-Blocking ALTER INDEX with an XMLIndex Structured Component
6.3.7.4
Modifying the Data Type of a Structured XMLIndex Component
6.3.7.5
Dropping an XMLIndex Structured Component
6.3.7.6
Indexing the Relational Tables of a Structured XMLIndex Component
6.3.8
How to Tell Whether XMLIndex is Used
6.3.9
Turning Off Use of XMLIndex
6.3.10
XMLIndex Path Subsetting: Specifying the Paths You Want to Index
6.3.10.1
Examples of XMLIndex Path Subsetting
6.3.10.2
XMLIndex Path-Subsetting Rules
6.3.11
Guidelines for Using XMLIndex with an Unstructured Component
6.3.12
Guidelines for Using XMLIndex with a Structured Component
6.3.13
XMLIndex Partitioning and Parallelism
6.3.14
Asynchronous (Deferred) Maintenance of XMLIndex Indexes
6.3.14.1
Syncing an XMLIndex Index in Case of Error ORA-08181
6.3.15
Collecting Statistics on XMLIndex Objects for the Cost-Based Optimizer
6.3.16
Data Dictionary Static Public Views Related to XMLIndex
6.3.17
PARAMETERS Clause for CREATE INDEX and ALTER INDEX
6.3.17.1
Using a Registered PARAMETERS Clause for XMLIndex
6.3.17.2
PARAMETERS Clause Syntax for CREATE INDEX and ALTER INDEX
6.3.17.3
Usage of XMLIndex_parameters_clause
6.3.17.4
Usage of XMLIndex_parameters
6.3.17.5
Usage of PATHS Clause
6.3.17.6
Usage of create_index_paths_clause and alter_index_paths_clause
6.3.17.7
Usage of pikey_clause, path_id_clause, and order_key_clause
6.3.17.8
Usage of value_clause
6.3.17.9
Usage of async_clause
6.3.17.10
Usage of groups_clause and alter_index_group_clause
6.3.17.11
Usage of XMLIndex_xmltable_clause
6.3.17.12
Usage of column_clause
6.4
Indexing XML Data for Full-Text Queries
6.4.1
Creating and Using an XML Search Index
6.4.2
What To Do If an XML Search Index Is Not Picked Up
6.4.3
Pragma ora:no_schema: Using XML Schema-Based Data with XQuery Full Text
6.4.4
Pragma ora:use_xmltext_idx: Forcing the Use of an XML Search Index
6.4.5
Migrating from Using Oracle Text Index to XML Search Index
6.5
Indexing XMLType Data Stored Object-Relationally
6.5.1
Indexing Non-Repeating Text Nodes or Attribute Values
6.5.2
Indexing Repeating (Collection) Elements
7
Transformation and Validation of XMLType Data
7.1
XSL Transformation and Oracle XML DB
7.1.1
SQL Function XMLTRANSFORM and XMLType Method TRANSFORM()
7.1.1.1
XMLTRANSFORM and XMLType.transform(): Examples
7.1.2
XSL Transformation Using DBUri Servlet
7.2
Validation of XMLType Instances
7.2.1
Partial and Full XML Schema Validation
7.2.1.1
Partial Validation
7.2.1.2
Full Validation
7.2.1.2.1
Full XML Schema Validation Costs Processing Time and Memory Usage
7.2.2
Validating XML Data Stored as XMLType: Examples
Part III Relational Data To and From XML Data
8
Generation of XML Data from Relational Data
8.1
Overview of Generating XML Data
8.2
Generation of XML Data Using SQL Functions
8.2.1
XMLELEMENT and XMLATTRIBUTES SQL/XML Functions
8.2.1.1
Escape of Characters in Generated XML Data
8.2.1.2
Formatting of XML Dates and Timestamps
8.2.1.3
XMLElement Examples
8.2.2
XMLFOREST SQL/XML Function
8.2.3
XMLCONCAT SQL/XML Function
8.2.4
XMLAGG SQL/XML Function
8.2.5
XMLPI SQL/XML Function
8.2.6
XMLCOMMENT SQL/XML Function
8.2.7
XMLSERIALIZE SQL/XML Function
8.2.8
XMLPARSE SQL/XML Function
8.2.9
XMLCOLATTVAL Oracle SQL Function
8.2.10
XMLCDATA Oracle SQL Function
8.3
Generation of XML Data Using DBMS_XMLGEN
8.3.1
Using PL/SQL Package DBMS_XMLGEN
8.3.2
Functions and Procedures of Package DBMS_XMLGEN
8.3.3
DBMS_XMLGEN Examples
8.4
SYS_XMLAGG Oracle SQL Function
8.5
Ordering Query Results Before Aggregating, Using XMLAGG ORDER BY Clause
8.6
Returning a Rowset Using XMLTABLE
9
Relational Views over XML Data
9.1
Introduction to Creating and Using Relational Views over XML Data
9.2
Creating a Relational View over XML: One Row for Each XML Document
9.3
Creating a Relational View over XML: Mapping XML Nodes to Columns
9.4
Indexing Binary XML Data Exposed Using a Relational View
9.5
Querying XML Content As Relational Data
10
XMLType Views
10.1
What Are XMLType Views?
10.2
CREATE VIEW for XMLType Views: Syntax
10.3
Creating Non-Schema-Based XMLType Views
10.4
Creating XML Schema-Based XMLType Views
10.4.1
Creating XML Schema-Based XMLType Views Using SQL/XML Publishing Functions
10.4.1.1
Using Namespaces with SQL/XML Publishing Functions
10.4.2
Creating XML Schema-Based XMLType Views Using Object Types or Object Views
10.4.2.1
Creating XMLType Employee View, with Nested Department Information
10.4.2.1.1
Step 1. Create Object Types for XMLType Employee View
10.4.2.1.2
Step 2. Create and Register XML Schema emp_complex.xsd
10.4.2.1.3
Step 3a. Create XMLType View emp_xml Using Object Type emp_t
10.4.2.1.4
Step 3b. Create XMLType View emp_xml Using Object View emp_v
10.4.2.2
Creating XMLType Department View, with Nested Employee Information
10.4.2.2.1
Step 1. Create Object Types for XMLType Department View
10.4.2.2.2
Step 2. Register XML Schema dept_complex.xsd
10.4.2.2.3
Step 3a. Create XMLType View dept_xml Using Object Type dept_t
10.4.2.2.4
Step 3b. Create XMLType View dept_xml Using Relational Data Directly
10.5
Creating XMLType Views from XMLType Tables
10.6
Referencing XMLType View Objects Using SQL Function REF
10.7
Using DML (Data Manipulation Language) on XMLType Views
Part IV XMLType APIs
11
PL/SQL APIs for XMLType
11.1
Overview of PL/SQL APIs for XMLType
11.1.1
PL/SQL APIs for XMLType: Features
11.1.1.1
Lazy Load of XML Data (Lazy Manifestation)
11.1.1.2
XMLType Data Type Supports XML Schema
11.1.1.3
XMLType Supports Data in Different Character Sets
11.1.2
PL/SQL APIs for XMLType: References
11.2
PL/SQL DOM API for XMLType (DBMS_XMLDOM)
11.2.1
Overview of the W3C Document Object Model (DOM) Recommendation
11.2.1.1
Oracle XML Developer's Kit Extensions to the W3C DOM Standard
11.2.1.2
Supported W3C DOM Recommendations
11.2.1.3
Difference Between DOM and SAX
11.2.2
PL/SQL DOM API for XMLType (DBMS_XMLDOM): Features
11.2.2.1
PL/SQL DOM API Support for XML Schema
11.2.2.2
Enhanced DOM Performance
11.2.3
Application Design Using Oracle XML Developer's Kit and Oracle XML DB
11.2.4
Preparing XML Data to Use the PL/SQL DOM API for XMLType
11.2.5
XML Schema Types Are Mapped to SQL Object Types
11.2.5.1
DOM Fidelity for XML Schema Mapping
11.2.6
Wrap Existing Data as XML with XMLType Views
11.2.7
DBMS_XMLDOM Methods Supported by Oracle XML DB
11.2.8
PL/SQL DOM API for XMLType: Node Types
11.2.9
PL/SQL Function NEWDOMDOCUMENT and DOMDOCUMENT Nodes
11.2.10
DOM NodeList and NamedNodeMap Objects
11.2.11
Overview of Using the PL/SQL DOM API for XMLType (DBMS_XMLDOM)
11.2.12
PL/SQL DOM API for XMLType – Examples
11.2.13
Large Node Handling Using DBMS_XMLDOM
11.2.14
Get-Push Model for Large Node Handling
11.2.15
Get-Pull Model for Large Node Handling
11.2.16
Set-Pull Model for Large Node Handling
11.2.17
Set-Push Model for Large Node Handling
11.2.18
Determining Binary Stream or Character Stream for Large Node Handling
11.3
PL/SQL Parser API for XMLType (DBMS_XMLPARSER)
11.4
PL/SQL XSLT Processor for XMLType (DBMS_XSLPROCESSOR)
11.4.1
PL/SQL XSLT Processor for XMLType: Features
11.4.2
Using the PL/SQL XSLT Processor API for XMLType (DBMS_XSLPROCESSOR)
12
PL/SQL Package DBMS_XMLSTORE
12.1
Using Package DBMS_XMLSTORE
12.2
Inserting an XML Document Using DBMS_XMLSTORE
12.3
Updating XML Data Using DBMS_XMLSTORE
12.4
Deleting XML Data Using DBMS_XMLSTORE
13
Java DOM API for XMLType
13.1
Overview of Java DOM API for XMLType
13.2
Access to XMLType Data Using JDBC
13.2.1
Using JDBC to Access XML Documents in Oracle XML DB
13.3
Manipulating XML Database Documents Using JDBC
13.4
Loading a Large XML Document into the Database Using JDBC
13.5
MS Windows Java Security Manager Permissions for Java DOM API with a Thick Connection
13.6
Creating XML Schema-Based Documents
13.7
XMLType Instance Representation in Java (JDBC or SQLJ)
13.8
Classes of Java DOM API for XMLType
13.9
Using the Java DOM API for XMLType
13.10
Large XML Node Handling with Java
13.10.1
Stream Extensions to Java DOM
13.10.1.1
Get-Pull Model
13.10.1.2
Get-Push Model
13.10.1.3
Set-Pull Model
13.10.1.4
Set-Push Model
13.11
Using the Java DOM API and JDBC with Binary XML
14
C DOM API for XMLType
14.1
Overview of the C API for XML
14.2
Access to XMLType Data Stored in the Database Using OCI
14.3
Creating XMLType Instances on the Client
14.4
XML Context Parameter for C DOM API Functions
14.4.1
OCIXmlDbInitXmlCtx() Syntax
14.4.2
OCIXmlDbFreeXmlCtx() Syntax
14.5
Initializing and Terminating an XML Context
14.6
Using the C API for XML with Binary XML
14.7
Using the Oracle XML Developer's Kit Pull Parser with Oracle XML DB
14.8
Common XMLType Operations in C
15
Oracle XML DB and Oracle Data Provider for .NET
15.1
Oracle XML DB and ODP.NET XML
15.2
Using XMLType Data with ODP.NET
Part V XML Schema and Object-Relational XMLType
16
Choice of XMLType Storage and Indexing
16.1
Introduction to Choosing an XMLType Storage Model and Indexing Approaches
16.2
XMLType Use Case Spectrum: Data-Centric to Document-Centric
16.3
Common Use Cases for XML Data Stored as XMLType
16.3.1
XMLType Use Case: No XML Fragment Updating or Querying
16.3.2
XMLType Use Case: Data Integration from Diverse Sources with Different XML Schemas
16.3.3
XMLType Use Case: Staged XML Data for ETL
16.3.4
XMLType Use Case: Semi-Structured XML Data
16.3.5
XMLType Use Case: Business Intelligence Queries
16.3.6
XMLType Use Case: XML Queries Involving Full-Text Search
16.4
XMLType Storage Model Considerations
16.5
XMLType Indexing Considerations
16.6
XMLType Storage Options: Relative Advantages
17
XML Schema Storage and Query: Basic
17.1
Overview of XML Schema
17.1.1
XML Schema for Schemas
17.1.2
XML Schema Features
17.1.3
XML Instance Documents
17.1.4
XML Namespaces and XML Schemas
17.1.5
Overview of Editing XML Schemas
17.2
Overview of Using XML Schema with Oracle XML DB
17.2.1
Why Use XML Schema with Oracle XML DB?
17.2.2
Overview of Annotating an XML Schema to Control Naming, Mapping, and Storage
17.2.3
DOM Fidelity
17.2.4
XMLType Methods Related to XML Schema
17.3
XML Schema Registration with Oracle XML DB
17.3.1
XML Schema Registration Actions
17.3.2
Registering an XML Schema with Oracle XML DB
17.3.3
SQL Types and Tables Created During XML Schema Registration
17.3.4
Default Tables for Global Elements
17.3.5
Database Objects That Depend on Registered XML Schemas
17.3.6
Local and Global XML Schemas
17.3.6.1
Local XML Schema
17.3.6.2
Global XML Schema
17.3.7
Fully Qualified XML Schema URLs
17.3.8
Deletion of an XML Schema
17.3.9
Listing All Registered XML Schemas
17.4
Creation of XMLType Tables and Columns Based on XML Schemas
17.4.1
Specification of XMLType Storage Options for XML Schema-Based Data
17.4.1.1
Binary XML Storage of XML Schema-Based Data
17.4.1.2
Object-Relational Storage of XML Schema-Based Data
17.5
Ways to Identify XML Schema Instance Documents
17.5.1
Attributes noNamespaceSchemaLocation and schemaLocation
17.5.2
XML Schema and Multiple Namespaces
17.6
XML Schema Data Types Are Mapped to Oracle XML DB Storage
18
XML Schema Storage and Query: Object-Relational Storage
18.1
Object-Relational Storage of XML Documents
18.1.1
How Collections Are Stored for Object-Relational XMLType Storage
18.1.2
SQL Types Created during XML Schema Registration for Object-Relational Storage
18.1.3
Default Tables Created during XML Schema Registration
18.1.4
Do Not Use Internal Constructs Generated during XML Schema Registration
18.1.5
Generated Names are Case Sensitive
18.1.6
SYS_XDBPD$ and DOM Fidelity for Object-Relational Storage
18.2
Oracle XML Schema Annotations
18.2.1
Common Uses of XML Schema Annotations
18.2.2
XML Schema Annotation Example
18.2.3
Annotating an XML Schema Using DBMS_XMLSCHEMA_ANNOTATE
18.2.4
Available Oracle XML DB XML Schema Annotations
18.2.5
XML Schema Annotation Guidelines for Object-Relational Storage
18.2.5.1
Avoid Creation of Unnecessary Tables for Unused Top-Level Elements
18.2.5.2
Provide Your Own Names for Default Tables
18.2.5.3
Turn Off DOM Fidelity If Not Needed
18.2.5.4
Annotate Time-Related Elements with a Timestamp Data Type
18.2.5.5
Add Table and Column Properties
18.2.5.6
Store Large Collections Out of Line
18.2.6
Querying a Registered XML Schema to Obtain Annotations
18.2.6.1
You Can Apply Annotations from One XML Schema to Another
18.3
Use DBMS_XMLSCHEMA to Map XML Schema Data Types to SQL Data Types
18.3.1
Example of Mapping XML Schema Data Types to SQL
18.3.2
XML Schema Attribute Data Types Mapped to SQL
18.3.2.1
You Can Override the SQLType Value in an XML Schema When Declaring Attributes
18.3.3
XML Schema Element Data Types Mapped to SQL
18.3.3.1
Override of the SQLType Value in an XML Schema When Declaring Elements
18.3.4
How XML Schema simpleType Is Mapped to SQL
18.3.4.1
NCHAR, NVARCHAR2, and NCLOB SQLType Values Are Not Supported for SQLType
18.3.4.2
simpleType: How XML Strings Are Mapped to SQL VARCHAR2 Versus CLOB
18.3.4.3
How XML Schema Time Zones Are Mapped to SQL
18.3.4.3.1
Use Trailing Z to Indicate UTC Time Zone
18.3.5
How XML Schema complexType Is Mapped to SQL
18.3.5.1
Attribute Specification in a complexType XML Schema Declaration
18.4
complexType Extensions and Restrictions in Oracle XML DB
18.4.1
complexType Declarations in XML Schema: Handling Inheritance
18.4.2
How a complexType Based on simpleContent Is Mapped to an Object Type
18.4.3
How any and anyAttribute Declarations Are Mapped to Object Type Attributes
18.5
Creating XML Schema-Based XMLType Columns and Tables
18.6
Overview of Partitioning XMLType Tables and Columns Stored Object-Relationally
18.6.1
Examples of Partitioning XMLType Data Stored Object-Relationally
18.6.2
Partition Maintenance for XMLType Data Stored Object-Relationally
18.7
Specification of Relational Constraints on XMLType Tables and Columns
18.7.1
Adding Unique Constraints to the Parent Element of an Attribute
18.8
Out-Of-Line Storage of XMLType Data
18.8.1
Setting Annotation Attribute xdb:SQLInline to false for Out-Of-Line Storage
18.8.2
Storing Collections in Out-Of-Line Tables
18.9
Considerations for Working with Complex or Large XML Schemas
18.9.1
Circular and Cyclical Dependencies Among XML Schemas
18.9.1.1
For Circular XML Schema Dependencies Set Parameter GENTABLES to TRUE
18.9.1.2
complexType Declarations in XML Schema: Handling Cycles
18.9.1.3
Cyclical References Among XML Schemas
18.9.2
Support for Recursive Schemas
18.9.2.1
defaultTable Shared Among Common Out-Of-Line Elements
18.9.2.2
Query Rewrite when DOCID is Present
18.9.2.3
DOCID Column Creation Disabling
18.9.3
XML Fragments Can Be Mapped to Large Objects (LOBs)
18.9.4
ORA-01792 and ORA-04031: Issues with Large XML Schemas
18.9.5
Considerations for Loading and Retrieving Large Documents with Collections
18.9.5.1
Guidelines for Configuration Parameters xdbcore-loadableunit-size and xdbcore-xobmem-bound
18.10
Debugging XML Schema Registration for XML Data Stored Object-Relationally
19
XPath Rewrite for Object-Relational Storage
19.1
Overview of XPath Rewrite for Object-Relational Storage
19.2
Common XPath Expressions that Are Rewritten
19.3
XPath Rewrite for Out-Of-Line Tables
19.4
Guidelines for Using Execution Plans to Analyze and Optimize XPath Queries
19.4.1
Guideline: Look for underlying tables versus XML functions in execution plans
19.4.2
Guideline: Name the object-relational tables, so you recognize them in execution plans
19.4.3
Guideline: Create an index on a column targeted by a predicate
19.4.4
Guideline: Create indexes on ordered collection tables
19.4.5
Guideline: Use XMLOptimizationCheck to determine why a query is not rewritten
20
XML Schema Evolution
20.1
Overview of XML Schema Evolution
20.2
Copy-Based Schema Evolution
20.2.1
Scenario for Copy-Based Evolution
20.2.2
COPYEVOLVE Parameters and Errors
20.2.3
Limitations of Procedure COPYEVOLVE
20.2.4
Guidelines for Using Procedure COPYEVOLVE
20.2.4.1
Top-Level Element Name Changes
20.2.4.2
User-Created Virtual Columns of Tables Other Than Default Tables
20.2.4.3
Ensure That the XML Schema and Dependents Are Not Used by Concurrent Sessions
20.2.4.4
Rollback When Procedure DBMS_XMLSCHEMA.COPYEVOLVE Raises an Error
20.2.4.5
Failed Rollback From Insufficient Privileges
20.2.4.6
Privileges Needed for XML Schema Evolution
20.2.5
Update of Existing XML Instance Documents Using an XSLT Stylesheet
20.2.6
Examples of Using Procedure COPYEVOLVE
20.3
In-Place XML Schema Evolution
20.3.1
Restrictions for In-Place XML Schema Evolution
20.3.1.1
Backward-Compatibility Restrictions
20.3.1.1.1
Changes in Data Layout on Disk
20.3.1.1.2
Reorder of XML Schema Constructs
20.3.1.1.3
Changes from a Collection to a Non-Collection
20.3.1.1.4
Model Changes within a complexType Element
20.3.1.2
Other Restrictions on In-Place Evolution
20.3.1.2.1
Changes to Attributes in Namespace xdb
20.3.1.2.2
Changes from a Non-Collection to a Collection
20.3.2
Supported Operations for In-Place XML Schema Evolution
20.3.3
Guidelines for Using In-Place XML Schema Evolution
20.3.4
inPlaceEvolve Parameters
20.3.5
The diffXML Parameter Document
20.3.5.1
diffXML Operations and Examples
Part VI Oracle XML DB Repository
21
Access to Oracle XML DB Repository Data
21.1
Overview of Oracle XML DB Repository
21.1.1
Oracle XML DB Provides Name-Level Locking
21.1.2
Two Ways to Access Oracle XML DB Repository Resources
21.1.3
Database Schema (User Account) XDB and Oracle XML DB Repository
21.2
Repository Terminology and Supplied Resources
21.2.1
Repository Terminology
21.2.2
Predefined Repository Files and Folders
21.3
Oracle XML DB Repository Resources
21.3.1
Where Is Repository Data Stored?
21.3.1.1
Names of Generated Tables
21.3.1.2
How Object-Relational Storage Is Defined for Repository Resources
21.3.1.3
Oracle ASM Virtual Folder
21.3.2
How Documents are Stored in Oracle XML DB Repository
21.3.3
Repository Data Access Control
21.3.4
Repository Path-Name Resolution
21.3.5
Link Types
21.3.5.1
Repository Links and Document Links
21.3.5.2
Hard Links and Weak Links
21.3.5.3
Creating a Weak Link with No Knowledge of Folder Hierarchy
21.3.5.4
How and When to Prevent Multiple Hard Links
21.4
Navigational or Path Access to Repository Resources
21.4.1
Access to Oracle XML DB Resources Using Internet Protocols
21.4.1.1
Where You Can Use Oracle XML DB Protocol Access
21.4.1.2
Overview of Protocol Access to Oracle XML DB
21.4.1.3
Retrieval of Oracle XML DB Resources
21.4.1.4
Storage of Oracle XML DB Resources
21.4.1.5
Internet Protocols and XMLType: XMLType Direct Stream Write
21.4.2
Access to Oracle ASM Files Using Protocols and Resource APIs – For DBAs
21.5
Query-Based Access to Repository Resources
21.6
Servlet Access to Repository Resources
21.7
Operations on Repository Resources
21.8
Accessing the Content of Repository Resources Using SQL
21.9
Access to the Content of XML Schema-Based Documents
21.9.1
Accessing Resource Content Using Element XMLRef in Joins
21.10
Update of the Content of Repository Documents
21.10.1
Update of Repository Content Using Internet Protocols
21.10.2
Update of Repository Content Using SQL
21.10.2.1
Updating a Document in the Repository by Updating Its Resource Document
21.10.2.2
Updating an XML Schema-Based Document in the Repository by Updating the Default Table
21.11
Querying Resources in RESOURCE_VIEW and PATH_VIEW
21.12
Oracle XML DB Hierarchical Repository Index
22
Configuration of Oracle XML DB Repository
22.1
Resource Configuration Files
22.2
Configuring a Resource
22.3
Common Configuration Parameters
22.3.1
Configuration Element ResConfig
22.3.2
Configuration Elements defaultChildConfig and configuration
22.3.3
Configuration Element applicationData
23
Use of XLink and XInclude with Oracle XML DB
23.1
Overview of XLink and XInclude
23.2
Link Types for XLink and XInclude
23.2.1
XLink and XInclude Links Model Document Relationships
23.2.2
XLink Link Types and XInclude Link Types
23.3
XInclude: Compound Documents
23.4
Oracle XML DB Support for XLink
23.5
Oracle XML DB Support for XInclude
23.5.1
Expanding Compound-Document Inclusions
23.5.2
Validation of Compound Documents
23.5.3
Update of a Compound Document
23.5.4
Compound Document Versioning, Locking, and Access Control
23.6
Use View DOCUMENT_LINKS to Examine XLink and XInclude Links
23.6.1
Querying DOCUMENT_LINKS for XLink Information
23.6.2
Querying DOCUMENT_LINKS for XInclude Information
23.7
Configuration of Repository Resources for XLink and XInclude
23.7.1
Configure the Treatment of Unresolved Links: Attribute UnresolvedLink
23.7.2
Configure the Type of Document Links to Create: Element LinkType
23.7.3
Configure the Path Format for Retrieval: Element PathFormat
23.7.4
Configure Conflict-Resolution for XInclude: Element ConflictRule
23.7.5
Configure the Decomposition of Documents Using XInclude: Element SectionConfig
23.7.6
XLink and XInclude Configuration Examples
23.8
Manage XLink and XInclude Links Using DBMS_XDB_REPOS.processLinks
24
Repository Access Using RESOURCE_VIEW and PATH_VIEW
24.1
Overview of Oracle XML DB RESOURCE_VIEW and PATH_VIEW
24.1.1
RESOURCE_VIEW Definition and Structure
24.1.2
PATH_VIEW Definition and Structure
24.1.3
The Difference Between RESOURCE_VIEW and PATH_VIEW
24.1.4
Operations You Can Perform Using UNDER_PATH and EQUALS_PATH
24.2
Oracle SQL Functions That Use RESOURCE_VIEW and PATH_VIEW
24.2.1
UNDER_PATH SQL Function
24.2.2
EQUALS_PATH SQL Function
24.2.3
PATH SQL Function
24.2.4
DEPTH SQL Function
24.3
Accessing Repository Data Paths, Resources and Links: Examples
24.4
Deleting Repository Resources: Examples
24.4.1
Deleting Nonempty Folder Resources
24.5
Updating Repository Resources: Examples
24.6
Working with Multiple Oracle XML DB Resources
24.7
Performance Guidelines for Oracle XML DB Repository Operations
24.8
Searching for Resources Using Oracle Text
25
Resource Versions
25.1
Overview of Oracle XML DB Repository Resource Versioning
25.2
Overview of PL/SQL Package DBMS_XDB_VERSION
25.3
Resource Versions and Resource IDs
25.4
Resource Versions and ACLs
25.5
Resource Versioning Examples
26
PL/SQL Access to Oracle XML DB Repository
26.1
DBMS_XDB_REPOS: Access and Manage Repository Resources
26.2
DBMS_XDB_REPOS: ACL-Based Security Management
26.3
DBMS_XDB_CONFIG: Configuration Management
27
Repository Access Control
27.1
Access Control Concepts
27.1.1
Authentication and Authorization
27.1.2
Principal: A User or Role
27.1.2.1
Database Roles and ACLs Map Privileges to Users
27.1.2.2
Principal DAV::owner
27.1.3
Privilege: A Permission
27.1.4
Access Control Entry (ACE)
27.1.5
Access Control List (ACL)
27.2
Database Privileges for Repository Operations
27.3
Privileges
27.3.1
Atomic Privileges
27.3.2
Aggregate Privileges
27.4
ACLs and ACEs
27.4.1
System ACLs
27.4.2
ACL and ACE Evaluation
27.4.3
ACL Validation
27.4.4
Element invert: Complement the Principals in an ACE
27.5
Overview of Working with Access Control Lists (ACLs)
27.5.1
Creating an ACL Using DBMS_XDB_REPOS.CREATERESOURCE
27.5.2
Retrieving an ACL Document, Given its Repository Path
27.5.3
Setting the ACL of a Resource
27.5.4
Deleting an ACL
27.5.5
Updating an ACL
27.5.6
Retrieving the ACL Document that Protects a Given Resource
27.5.7
Retrieving Privileges Granted to the Current User for a Particular Resource
27.5.8
Checking Whether the Current User Has Privileges on a Resource
27.5.9
Checking Whether a User Has Privileges Using the ACL and Resource Owner
27.5.10
Retrieving the Path of the ACL that Protects a Given Resource
27.5.11
Retrieving the Paths of All Resources Protected by a Given ACL
27.6
ACL Caching
27.7
Repository Resources and Database Table Security
27.7.1
Optimization: Do not enforce ACL-based security if you do not need it
27.8
Integration Of Oracle XML DB with LDAP
28
Repository Access Using Protocols
28.1
Overview of Oracle XML DB Protocol Server
28.1.1
Session Pooling
28.2
Oracle XML DB Protocol Server Configuration Management
28.2.1
Protocol Server Configuration Parameters
28.2.2
Configuring Secure HTTP (HTTPS)
28.2.2.1
Enabling the HTTP Listener to Use SSL
28.2.2.2
Enabling TCPS Dispatcher
28.2.3
Using Listener Status to Check Port Configuration
28.2.4
Configuring Protocol Port Parameters after Database Consolidation
28.2.5
Configuration and Management of Authentication Mechanisms for HTTP
28.2.5.1
Nonces for Digest Authentication
28.2.6
Oracle XML DB Repository and File-System Resources
28.2.7
Protocol Server Handles XML Schema-Based or Non-Schema-Based XML Documents
28.2.8
Event-Based Logging
28.3
FTP and the Oracle XML DB Protocol Server
28.3.1
Oracle XML DB Protocol Server: FTP Features
28.3.1.1
FTP Features That Are Not Supported
28.3.1.2
Supported FTP Client Methods
28.3.1.3
FTP Quote Methods
28.3.1.4
Uploading Content to Oracle XML DB Repository Using FTP
28.3.1.5
Using FTP with Oracle ASM Files
28.3.1.6
Using FTP on the Standard Port Instead of the Oracle XML DB Default Port
28.3.1.7
Using IPv6 IP Addresses with FTP
28.3.1.8
FTP Server Session Management
28.3.1.9
Handling Error 421. Modifying the Default Timeout Value of an FTP Session
28.3.1.10
FTP Client Failure in Passive Mode
28.4
HTTP(S) and Oracle XML DB Protocol Server
28.4.1
Oracle XML DB Protocol Server: HTTP(S) Features
28.4.1.1
Supported HTTP(S) Client Methods
28.4.1.2
Using HTTP(S) on a Standard Port Instead of an Oracle XML DB Default Port
28.4.1.3
Use of IPv6 IP Addresses with HTTP(S)
28.4.1.4
HTTPS: Support for Secure HTTP
28.4.1.5
Control of URL Expiration Time
28.4.1.6
Anonymous Access to Oracle XML DB Repository Using HTTP
28.4.1.7
Use of Java Servlets with HTTP(S)
28.4.1.8
Embedded PL/SQL Gateway
28.4.1.9
Transmission of Multibyte Data From a Client
28.4.1.10
Characters That Are Not ASCII in URLs
28.4.1.11
Character Sets for HTTP(S)
28.4.1.11.1
HTTP(S) Request Character Set
28.4.1.11.2
HTTP(S) Response Character Set
28.5
WebDAV and Oracle XML DB
28.5.1
Oracle XML DB WebDAV Features
28.5.1.1
WebDAV Features That Are Not Supported by Oracle XML DB
28.5.1.2
WebDAV Client Methods Supported by Oracle XML DB
28.5.2
WebDAV and Microsoft Windows XP SP2
28.5.3
Creating a WebFolder in Microsoft Windows For Use With Oracle XML DB Repository
28.5.3.1
Use of WebDAV with Windows Explorer to Copy Files into Oracle XML DB Repository
29
User-Defined Repository Metadata
29.1
Overview of Metadata and XML
29.1.1
Kinds of Metadata – Uses of the Term
29.1.2
User-Defined Resource Metadata
29.1.3
Scenario: Metadata for a Photo Collection
29.2
Using XML Schemas to Define Resource Metadata
29.3
Addition, Modification, and Deletion of Resource Metadata
29.3.1
Adding Metadata Using APPENDRESOURCEMETADATA
29.3.2
Deleting Metadata Using DELETERESOURCEMETADATA
29.3.3
Adding Metadata Using SQL DML
29.3.4
Adding Metadata Using WebDAV PROPPATCH
29.4
Querying XML Schema-Based Resource Metadata
29.5
XML Image Metadata from Binary Image Metadata
29.6
Adding Non-Schema-Based Resource Metadata
29.7
PL/SQL Procedures Affecting Resource Metadata
30
Oracle XML DB Repository Events
30.1
Overview of Repository Events
30.1.1
Repository Events: Use Cases
30.1.2
Repository Events and Database Triggers
30.1.3
Repository Event Listeners and Event Handlers
30.1.4
Repository Event Configuration
30.2
Possible Repository Events
30.3
Repository Operations and Events
30.4
Repository Event Handler Considerations
30.5
Configuration of Repository Events
30.5.1
Configuration Element event-listeners
30.5.2
Configuration Element listener
30.5.3
Repository Events Configuration Examples
31
Guidelines for Oracle XML DB Applications in Java
31.1
Overview of Oracle XML DB Java Applications
31.2
HTTP(S): Access Java Servlets or Directly Access XMLType Resources
31.3
Use JDBC XMLType Support to Access Many XMLType Object Elements
31.4
Use Servlets to Manipulate and Write Out Data Quickly as XML
31.5
Oracle XML DB Java Servlet Support Restrictions
31.6
Configuration of Oracle XML DB Servlets
31.7
HTTP Request Processing for Oracle XML DB Servlets
31.8
Session Pool and Oracle XML DB Servlets
31.9
Native XML Stream Support
31.10
Oracle XML DB Servlet APIs
31.11
Oracle XML DB Servlet Example
32
Data Access Using URIs
32.1
Overview of Oracle XML DB URI Features
32.2
URIs and URLs
32.3
URIType and its Subtypes
32.3.1
Overview of DBUris and XDBUris
32.3.2
URIType PL/SQL Methods
32.3.2.1
HTTPURIType PL/SQL Method GETCONTENTTYPE()
32.3.2.2
DBURIType PL/SQL Method GETCONTENTTYPE()
32.3.2.3
DBURIType PL/SQL Method GETCLOB()
32.3.2.4
DBURIType PL/SQL Method GETBLOB()
32.4
Accessing Data Using URIType Instances
32.5
XDBUris: Pointers to Repository Resources
32.5.1
XDBUri URI Syntax
32.5.2
Using XDBUri: Examples
32.6
DBUris: Pointers to Database Data
32.6.1
View the Database as XML Data
32.6.2
DBUri URI Syntax
32.6.3
DBUris are Scoped to a Database and Session
32.6.4
Using DBUris —Examples
32.6.4.1
Targeting a Table Using a DBUri
32.6.4.2
Targeting a Row in a Table Using a DBUri
32.6.4.3
Targeting a Column Using a DBUri
32.6.4.4
Retrieving the Text Value of a Column Using a DBUri
32.6.4.5
Targeting a Collection Using a DBUri
32.7
Create New Subtypes of URIType Using Package URIFACTORY
32.7.1
Registering New URIType Subtypes with Package URIFACTORY
32.8
SYS_DBURIGEN SQL Function
32.8.1
Rules for Passing Columns or Object Attributes to SYS_DBURIGEN
32.8.2
Using SQL Function SYS_DBURIGEN: Examples
32.8.2.1
Inserting Database References Using SYS__DBURIGEN
32.8.2.2
Returning Partial Results Using SYS__DBURIGEN
32.8.2.3
Returning URLs to Inserted Objects Using SYS_DBURIGEN
32.9
DBUriServlet
32.9.1
Overriding the MIME Type Using a URL
32.9.2
Customizing DBUriServlet
32.9.3
Using Roles for DBUriServlet Security
32.9.4
Configuring Package URIFACTORY to Handle DBUris
32.9.5
Table or View Access from a Web Browser Using DBUri Servlet
33
Native Oracle XML DB Web Services
33.1
Overview of Native Oracle XML DB Web Services
33.2
Configuring and Enabling Web Services for Oracle XML DB
33.2.1
Configuring Web Services for Oracle XML DB
33.2.2
Enabling Web Services for a Specific User
33.3
Query Oracle XML DB Using a Web Service
33.4
Access to PL/SQL Stored Procedures Using a Web Service
33.4.1
Using a PL/SQL Function with a Web Service: Example
Part VII Oracle Tools that Support Oracle XML DB
34
Administration of Oracle XML DB
34.1
Upgrade or Downgrade of an Existing Oracle XML DB Installation
34.1.1
Authentication Considerations for Database Installation, Upgrade and Downgrade
34.1.1.1
Authentication Considerations for a Database Installation
34.1.1.2
Authentication Considerations for a Database Upgrade
34.1.1.3
Authentication Considerations for a Database Downgrade
34.1.2
Automatic Installation of Oracle XML DB
34.1.3
Validation of ACL Documents and Configuration File
34.2
Administration of Oracle XML DB Using Oracle Enterprise Manager
34.3
Configuration of Oracle XML DB Using xdbconfig.xml
34.3.1
Oracle XML DB Configuration File, xdbconfig.xml
34.3.1.1
Element xdbconfig (Top-Level)
34.3.1.2
Element sysconfig (Child of xdbconfig)
34.3.1.3
Element userconfig (Child of xdbconfig)
34.3.1.4
Element protocolconfig (Child of sysconfig)
34.3.1.5
Element httpconfig (Child of protocolconfig)
34.3.1.6
Element servlet (Descendant of httpconfig)
34.3.1.7
Oracle XML DB Configuration File Example
34.3.1.8
Oracle XML DB Configuration API
34.3.1.9
Configuration of Mappings from Default Namespace to Schema Location
34.3.1.10
Configuration of XML File Extensions
34.4
Oracle XML DB and Database Consolidation
34.5
Package DBMS_XDB_ADMIN
35
How to Load XML Data
35.1
Overview of Loading XMLType Data Into Oracle Database
35.2
Load XMLType Data Using SQL*Loader
35.2.1
Load XMLType LOB Data Using SQL*Loader
35.2.1.1
Load LOB Data Using Predetermined Size Fields
35.2.1.2
Load LOB Data Using Delimited Fields
35.2.1.3
Load XML Columns Containing LOB Data from LOBFILEs
35.2.1.4
Specify LOBFILEs
35.2.2
Load XMLType Data Directly from a Control File Using SQL*Loader
35.2.3
Loading Large XML Documents Using SQL*Loader
36
Export and Import of Oracle XML DB Data
36.1
Overview of Exporting and Importing XMLType Tables
36.2
Export/Import Limitations for Oracle XML DB Repository
36.3
Export/Import Syntax and Examples
36.3.1
Performing a Table-Mode Export /Import
36.3.2
Performing a Schema-Mode Export/Import
37
XML Data Exchange Using Oracle Streams AQ
37.1
XML and Oracle Streams Advanced Queuing
37.1.1
Oracle Streams Advanced Queuing and XML Message Payloads
37.1.2
Advantages of Using Oracle Streams Advanced Queuing
37.2
Oracle Streams and Advanced Queuing
37.2.1
Oracle Streams Message Queuing
37.3
XMLType Attributes in Object Types
37.4
Internet Data Access Presentation (iDAP): SOAP for AQ
37.5
iDAP Architecture
37.5.1
XMLType Queue Payloads
37.6
Guidelines for Using XML and Oracle Streams Advanced Queuing
37.6.1
Store Oracle Streams AQ XML Messages with Many PDFs as One Record
37.6.2
Add New Recipients After Messages Are Enqueued
37.6.3
Enqueue and Dequeue XML Messages
37.6.4
Parse Messages with XML Content from Oracle Streams AQ Queues
37.6.5
Prevent the Listener from Stopping Until an XML Document Is Processed
37.6.6
HTTPS with AQ
37.6.7
Store XML in Oracle Streams AQ Message Payloads
37.6.8
iDAP and SOAP
Appendixes
A
Oracle-Supplied XML Schemas and Examples
A.1
XDBResource.xsd: XML Schema for Oracle XML DB Resources
A.2
XDBResConfig.xsd: XML Schema for Resource Configuration
A.3
acl.xsd: XML Schema for ACLs
A.4
xdbconfig.xsd: XML Schema for Configuring Oracle XML DB
A.5
xdiff.xsd: XML Schema for Comparing Schemas for In-Place Evolution
A.6
Purchase-Order XML Schemas
A.7
XSLT Stylesheet Example, PurchaseOrder.xsl
A.8
Loading XML Data Using C (OCI)
A.9
Initializing and Terminating an XML Context (OCI)
B
Oracle XML DB Restrictions
C
Deprecated Functions for Updating XML Data
C.1
Migration from Oracle Functions for Updating XML Data to XQuery Update
C.2
Deprecated Oracle SQL Functions for Updating XML Data
C.2.1
Insertion of XML Elements Using Deprecated Oracle SQL Functions
C.3
UPDATEXML Deprecated Oracle SQL Function
C.3.1
Deprecated Oracle SQL Function UPDATEXML and NULL Values
C.3.2
Update of the Same XML Node More Than Once Using UPDATEXML (Deprecated)
C.3.3
Guidelines for DOM Fidelity When Using UPDATEXML (Deprecated)
C.4
Optimization of Deprecated Oracle SQL Functions that Modify XML Data
C.5
Creating XML Views Using Deprecated Oracle SQL Functions that Modify XML Data
C.6
INSERTCHILDXML Deprecated Oracle SQL Function
C.7
INSERTCHILDXMLBEFORE Deprecated Oracle SQL Function
C.8
INSERTCHILDXMLAFTER Deprecated Oracle SQL Function
C.9
INSERTXMLBEFORE Deprecated Oracle SQL Function
C.10
INSERTXMLAFTER Deprecated Oracle SQL Function
C.11
APPENDCHILDXML Deprecated Oracle SQL Function
C.12
DELETEXML Deprecated Oracle SQL Function
D
Deprecated Constructs for XML Translation
D.1
XML Translations (Deprecated)
D.1.1
Changes to an XML Schema and XML Instance Documents for Translation (Deprecated)
D.1.1.1
Indication of Translatable Elements in an XML Schema (Deprecated)
D.1.1.2
Indication of Translation Language Attributes in an XML Instance Document (Deprecated)
D.1.2
Making XML Documents Translatable (Deprecated)
D.1.3
Operations on Translated Documents (Deprecated)
D.2
PL/SQL Package DBMS_XMLTRANSLATIONS (Deprecated)
D.2.1
DBMS_XMLTRANSLATIONS Methods (Deprecated)
E
Deprecated Content Repository API for Java
E.1
About the Content Repository API for Java (JCR)
E.2
About Oracle XML DB Content Connector
E.3
How Oracle XML DB Repository Is Exposed in JCR
E.4
CLASSPATH for Oracle XML DB Content Connector
E.5
Obtaining the JCR Repository Object
E.6
Java Code to Upload a File to the Repository using Oracle XML DB Content Connector
E.7
Additional JCR Code Examples
E.8
Oracle XML DB Content Connector Uses the Standard Java Logging API
E.9
Supported JCR Compliance Levels
E.10
Oracle XML DB Content Connector Restrictions
E.11
XML Schemas and JCR
Index
Scripting on this page enhances content navigation, but does not change the content in any way.