Contents
- Audience
- Documentation Accessibility
- Structure
- Related Documents
- Conventions
- Oracle Database 10g Release 2 (10.2) New Features in Oracle XML DB
- Oracle Database 10g Release 1 (10.1) New Features in Oracle XML DB
- Oracle Text Enhancements
- Oracle Streams Advanced Queuing (AQ) Support
- Oracle XDK Support for XMLType
- Features of Oracle XML DB
- Oracle XML DB Architecture
-
- XMLType Storage
- APIs for XML
- XML Schema Catalog Views
- Views RESOURCE_VIEW and PATH_VIEW
- Overview of Oracle XML DB Repository
-
- Accessing and Manipulating XML in the Oracle XML DB Repository
- XML Services
- Oracle XML DB Repository Architecture
- How Does Oracle XML DB Repository Work?
- Oracle XML DB Protocol Architecture
- Programmatic Access to Oracle XML DB (Java, PL/SQL, and C)
- Oracle XML DB Features
-
- XMLType Datatype
- XML Schema Support
- Structured Versus Unstructured Storage
- XML/SQL Duality
- SQL/XML INCITS Standard SQL Functions
- Rewriting of XPath Expressions: XPath Rewrite
- Oracle XML DB Benefits
-
- Unifying Data and Content with Oracle XML DB
-
- Exploiting Database Capabilities
- Exploiting XML Capabilities
- Oracle XML DB Offers Faster Storage and Retrieval of Complex XML Documents
- Oracle XML DB Helps You Integrate Applications
- When Your Data Is Not XML You Can Use XMLType Views
- Searching XML Data Stored in CLOBs Using Oracle Text
- Building Messaging Applications using Oracle Streams Advanced Queuing
- Requirements for Running Oracle XML DB
- Standards Supported by Oracle XML DB
- Oracle XML DB Technical Support
- Oracle XML DB Examples Used in This Manual
- Further Oracle XML DB Case Studies and Demonstrations
- Oracle XML DB Installation
- When to Use Oracle XML DB
- Designing Your XML Application
- Oracle XML DB Design Issues: Introduction
-
- A. Data
- B. Access
- C. Application Language
- D. Processing
- E. Storage
- Oracle XML DB Application Design: A. How Structured Is Your Data?
-
- XML Schema-Based or Non-Schema-Based
- Oracle XML DB Application Design: B. Access Models
- Oracle XML DB Application Design: C. Application Language
- Oracle XML DB Application Design: D. Processing Models
-
- Messaging Options
- Oracle XML DB Application Design: F. Storage Models
-
- Using XMLType Tables
- Using XMLType Views
- Oracle XML DB Performance
-
- XML Storage Requirements
- XML Memory Management
- XML Parsing Optimizations
- Node-Searching Optimizations
- XML Schema Optimizations
- Load Balancing Through Cached XML Schema
- Reduced Bottlenecks From Code That Is Not Native
- Reduced Java Type Conversion Bottlenecks
- Storing XML as XMLType
-
- What is XMLType?
- Benefits of the XMLType Datatype and API
- When to Use XMLType
- Two Ways to Store XMLType Data: LOBs and Structured
- Advantages and Disadvantages of XML Storage Options in Oracle XML DB
- When to Use CLOB Storage for XMLType
- Creating XMLType Tables and Columns
- Loading XML Content into Oracle XML DB
-
- Loading XML Content Using SQL or PL/SQL
- Loading XML Content Using Java
- Loading XML Content Using C
- Loading Large XML Files That Contain Small XML Documents
- Loading Large XML Files Using SQL*Loader
- Loading XML Documents into the Repository Using DBMS_XDB
- Loading Documents into the Repository Using Protocols
- Character Sets of XML Documents
-
- XML Encoding Declaration
- Character-Set Determination When Loading XML Documents into the Database
- Character-Set Determination When Retrieving XML Documents from the Database
- Overview of the W3C XML Schema Recommendation
-
- XML Instance Documents
- XML Schema for Schemas
- Editing XML Schemas
- XML Schema Features
-
- Text Representation of the PurchaseOrder XML Schema
- Graphical Representation of the Purchase-Order XML Schema
- Using XML Schema with Oracle XML DB
-
- Why Use XML Schema With Oracle XML DB?
-
- Validating Instance Documents with XML Schema
- Constraining Instance Documents for Business Rules or Format Compliance
- Defining How XMLType Contents Must be Stored in the Database
- Structured Storage of XML Documents
- Annotating an XML Schema to Control Naming, Mapping, and Storage
- Controlling How XML Collections are Stored in the Database
-
- Collections: Default Mapping
- Declaring the Oracle XML DB Namespace
- Registering an XML Schema with Oracle XML DB
-
- SQL Types and Tables Created During XML Schema Registration
- Working with Large XML Schemas
- Working with Global Elements
- Creating XML Schema-Based XMLType Columns and Tables
- Default Tables
- Identifying XML Schema Instance Documents
-
- Attributes noNamespaceSchemaLocation and schemaLocation
- Dealing with Multiple Namespaces
- Using the Database to Enforce XML Data Integrity
-
- Comparing Partial to Full XML Schema Validation
-
- Partial Validation
- Full Validation
- Using SQL Constraints to Enforce Referential Integrity
- DML Operations on XML Content Using Oracle XML DB
-
- XPath and Oracle XML
- Querying XML Content Stored in Oracle XML DB
-
- PurchaseOrder XML Document
- Retrieving the Content of an XML Document Using Pseudocolumn OBJECT_VALUE
- Accessing Fragments or Nodes of an XML Document Using EXTRACT
- Accessing Text Nodes and Attribute Values Using EXTRACTVALUE
-
- Invalid Use of EXTRACTVALUE
- Searching the Content of an XML Document Using EXISTSNODE
- Using EXTRACTVALUE and EXISTSNODE in a WHERE Clause
- Using XMLSEQUENCE to Perform SQL Operations on XMLType Fragments
- Relational Access to XML Content Stored in Oracle XML DB Using Views
- Updating XML Content Stored in Oracle XML DB
-
- Updating XML Schema-Based and Non-Schema-Based XML Documents
- Namespace Support in Oracle XML DB
- Processing XMLType Methods and XML-Specific SQL Functions
- Understanding and Optimizing XPath Rewrite
-
- Using EXPLAIN PLAN to Tune XPath Rewrites
- Using Indexes to Improve Performance of XPath-Based Functions
- Optimizing Operations on Collections
- Using Indexes to Tune Queries on Collections Stored as Nested Tables
-
- EXPLAIN PLAN with ACL-Based Security Enabled: SYS_CHECKACL() Filter
- Accessing Relational Database Content Using XML
-
- Generating XML From Relational Tables Using DBURIType
- XSL Transformation and Oracle XML DB
- Using Oracle XML DB Repository
-
- Installing and Uninstalling Oracle XML DB Repository
- Oracle XML DB Provides Name-Level Locking
- Use Protocols or SQL to Access and Process Repository Content
- Using Standard Protocols to Store and Retrieve Content
- Uploading Content Into Oracle XML DB Using FTP
- Accessing Oracle XML DB Repository Programmatically
- Accessing and Updating XML Content in the Repository
- Accessing the Content of Documents Using SQL
- Accessing the Content of XML Schema-Based Documents
-
- Using the XMLRef Element in Joins to Access Resource Content in the Repository
- Updating the Content of Documents Stored in the Repository
-
- Updating Repository Content Using Protocols
- Updating Repository Content Using SQL
- Updating XML Schema-Based Documents in the Repository
- Controlling Access to Repository Data
- Oracle XML DB Transactional Semantics
- Querying Metadata and the Folder Hierarchy
-
- RESOURCE_VIEW and PATH_VIEW
- Querying Resources in RESOURCE_VIEW and PATH_VIEW
- Oracle XML DB Hierarchical Index
- How Documents are Stored in the Repository
- Viewing Relational Data as XML From a Browser
-
- Using DBUri Servlet to Access Any Table or View From a Browser
- XSL Transformation Using DBUri Servlet
- Selecting and Querying XML Data
-
- Pretty-Printing of Results
- Searching XML Documents with XPath Expressions
-
- Oracle Extension XPath Function Support
- Selecting XML Data Using XMLType Methods
- Querying XMLType Data with SQL Functions
- EXISTSNODE SQL Function
-
- Using Indexes to Evaluate EXISTSNODE
- EXTRACT SQL Function
- EXTRACTVALUE SQL Function
-
- Use EXTRACTVALUE for Convenience
- EXTRACTVALUE Characteristics
- Querying XML Data With SQL
- Updating XML Instances and XML Data in Tables
-
- Updating an Entire XML Document
- SQL Functions to Update XML Data
- UPDATEXML SQL Function
-
- UPDATEXML and NULL Values
- Updating the Same XML Node More Than Once
- Preserving DOM Fidelity When Using UPDATEXML
- Optimization of SQL Functions that Modify XML
- Creating Views of XML with SQL Functions that Modify XML
- INSERTCHILDXML SQL Function
- INSERTXMLBEFORE SQL Function
- APPENDCHILDXML SQL Function
- DELETEXML SQL Function
- Indexing XMLType Columns
-
- XPath Rewrite for Indexes on Singleton Elements or Attributes
- Creating B-Tree Indexes on the Contents of a Collection
- Creating Function-Based Indexes on XMLType Tables and Columns
- CTXXPATH Indexes on XMLType Columns
-
- CTXXPATH Indexing Features
- Creating CTXXPATH Indexes
- Creating CTXXPATH Storage Preferences With CTX_DDL. Statements
- Performance Tuning a CTXXPATH Index: Synchronizing and Optimizing
- Choosing the Right Plan: Using CTXXPATH Index in EXISTSNODE Processing
- CTXXPATH Indexes On XML Schema-Based XMLType Tables
- Determining Whether an Index is Being Used: Tracing
- CTXXPATH Indexing Depends on Storage Options and Document Size
- Oracle Text Indexes on XMLType Columns
- Overview of XML Schema and Oracle XML DB
- Using Oracle XML DB and XML Schema
-
- Why We Need XML Schema
-
- XML Schema Provides Flexible XML-to-SQL Mapping Setup
- XML Schema Allows XML Instance Validation
- DTD Support in Oracle XML DB
-
- Inline DTD Definitions
- External DTD Definitions
- Managing XML Schemas with DBMS_XMLSCHEMA
-
- Registering an XML Schema
- Schema Registration Considerations
- Storage and Access Infrastructure
- Transactional Action of XML Schema Registration
- Managing and Storing XML Schemas
- Debugging XML Schema Registration
- SQL Object Types
- Creating Default Tables During XML Schema Registration
- Generated Names are Case Sensitive
- Objects That Depend on Registered XML Schemas
- How to Obtain a List of Registered XML Schemas
- Deleting an XML Schema with DBMS_XMLSCHEMA.DELETESCHEMA
-
- FORCE Mode
- XML Schema-Related Methods of XMLType
- Local and Global XML Schemas
-
- Local XML Schema
- Global XML Schema
- DOM Fidelity
-
- How Oracle XML DB Ensures DOM Fidelity with XML Schema
- DOM Fidelity and SYS_XDBPD$
- Creating XMLType Tables and Columns Based on XML Schema
-
- Specifying Unstructured (LOB-Based) Storage of Schema-Based XMLType
- Specifying Storage Models for Structured Storage of Schema-Based XMLType
- Specifying Relational Constraints on XMLType Tables and Columns
- Oracle XML Schema Annotations
- Querying a Registered XML Schema to Obtain Annotations
-
- SQL Mapping Is Specified in the XML Schema During Registration
- Mapping Types with DBMS_XMLSCHEMA
-
- Setting Attribute Mapping Type Information
-
- Overriding the SQLType Value in XML Schema When Declaring Attributes
- Setting Element Mapping Type Information
-
- Overriding the SQLType Value in XML Schema When Declaring Elements
- Mapping simpleType to SQL
-
- simpleType: Mapping XML Strings to SQL VARCHAR2 Versus CLOBs
- Working with Time Zones
-
- Using Trailing Z to Indicate UTC Time Zone
- Mapping complexType to SQL
-
- Specifying Attributes in a complexType XML Schema Declaration
- Overview of XPath Rewrite
- Where Does XPath Rewrite Occur?
- Which XPath Expressions Are Rewritten?
-
- Common XPath Constructs Supported in XPath Rewrite
- Unsupported XPath Constructs in XPath Rewrite
- Common XMLSchema Constructs Supported in XPath Rewrite
- Unsupported XML Schema Constructs in XPath Rewrite
- Common Storage Constructs Supported in XPath Rewrite
- Unsupported Storage Constructs in XPath Rewrite
- XPath Rewrite Can Change Comparison Semantics
- How Are XPath Expressions Rewritten?
-
- Rewriting XPath Expressions: Mapping Types and Path Expressions
-
- Schema-Based: Mapping for a Simple XPath
- Schema-Based: Mapping for simpleType Elements
- Schema-Based: Mapping of Predicates
- Schema-Based: Document Ordering with Collection Traversals
- Schema-Based: Collection Position
- Schema-Based: XPath Expressions That Cannot Be Satisfied
- Schema-Based: Namespace Handling
- Schema-Based: Date Format Conversions
- Existential Checks for Attributes and Elements with Scalar Values
- Diagnosing XPath Rewrite
-
- Using EXPLAIN PLAN with XPath Rewrite
- Using Events with XPath Rewrite
-
- Turning Off Functional Evaluation (Event 19021)
- Tracing Reasons that Rewrite Does Not Occur
- XPath Rewrite of SQL Functions
-
- XPath Rewrite for EXISTSNODE
-
- EXISTSNODE Mapping with Document Order Preserved
- EXISTSNODE Mapping Without Document Order Preserved
- XPath Rewrite for EXTRACTVALUE
- XPath Rewrite for EXTRACT
-
- EXTRACT Mapping with Document Order Maintained
- EXTRACT Mapping Without Maintaining Document Order
- XPath Rewrite for XMLSEQUENCE
- XPath Rewrite for UPDATEXML
- XPath Rewrite for INSERTCHILDXML and DELETEXML
- Generating XML Schemas with DBMS_XMLSCHEMA.GENERATESCHEMA
- Adding Unique Constraints to the Parent Element of an Attribute
- Setting Attribute SQLInline to false for Out-of-Line Storage
-
- XPath Rewrite for Out-Of-Line Tables
- Storing Collections in Out-Of-Line Tables
-
- Out-of-Line Storage: Using an Intermediate Table to Store the List of References
- Fully Qualified XML Schema URLs
- Mapping XML Fragments to Large Objects (LOBs)
- complexType Extensions and Restrictions in Oracle XML DB
-
- complexType Declarations in XML Schema: Handling Inheritance
- Mapping complexType: simpleContent to Object Types
- Mapping complexType: Any and AnyAttributes
- Oracle XPath Extension Functions to Examine Type Information
-
- ora:instanceof-only XPath Function
- ora:instanceof XPath Function
- XML Schema: Working With Circular and Cyclical Dependencies
-
- For Circular XML Schema Dependencies Set GenTables Parameter to TRUE
- Handling Cycling Between complexTypes in XML Schema
-
- How a complexType Can Reference Itself
- Cyclical References Between XML Schemas
- Guidelines for Using XML Schema with Oracle XML DB
-
- Using Bind Variables in XPath Expressions
- Constraints on Repetitive Elements in Schema-Based XML
- Loading and Retrieving Large Documents with Collections
-
- Guidelines for Setting xdbcore Parameters
- Overview of XML Schema Evolution
-
- Limitations of Procedure DBMS_XMLSCHEMA.COPYEVOLVE
- Guidelines for Using Procedure DBMS_XMLSCHEMA.COPYEVOLVE
-
- Top-Level Element Name Changes
- Ensure that the XML Schema and Dependents are Not Used by Concurrent Sessions
- Rollback When Procedure DBMS_XMLSCHEMA.COPYEVOLVE Raises an Error
- Failed Rollback From Insufficient Privileges
- Privileges Needed for XML Schema Evolution
- Revised Purchase-Order XML Schema
- Style Sheet to Update Existing Instance Documents
- Procedure DBMS_XMLSCHEMA.COPYEVOLVE: Parameters and Errors
- Using Procedure DBMS_XMLSCHEMA.COPYEVOLVE
- Transforming XMLType Instances
-
- XMLTRANSFORM and XMLType.transform()
- XMLTRANSFORM and XMLType.transform() Examples
- Validating XMLType Instances
-
- XMLIsValid
- schemaValidate
- isSchemaValidated
- setSchemaValidated
- isSchemaValid
- Validating XML Data Stored as XMLType: Examples
- Overview of Full-Text Search for XML
-
- Comparison of Full-Text Search and Other Search Types
- XML search
- Search using Full-Text and XML Structure
- About the Full-Text Search Examples
-
- Roles and Privileges
- Schema and Data for Full-Text Search Examples
- Overview of CONTAINS and ora:contains
-
- Overview of SQL Function CONTAINS
- Overview of XPath Function ora:contains
- Comparison of CONTAINS and ora:contains
- CONTAINS SQL Function
-
- Full-Text Search Using Function CONTAINS
-
- Boolean Operators: AND, OR, NOT
- Stemming: $
- Combining Boolean and Stemming Operators
- SCORE SQL Function
- Structure: Restricting the Scope of a CONTAINS Search
-
- WITHIN Structure Operator
- INPATH Structure Operator
- HASPATH Structure Operator
- Structure: Projecting the CONTAINS Result
- Indexing with the CONTEXT Index
-
- Introduction to the CONTEXT Index
- Effect of the CONTEXT Index on CONTAINS
- CONTEXT Index: Preferences
- Introduction to Section Groups
- ora:contains XPath Function
-
- Full-Text Search Using Function ora:contains
- Structure: Restricting the Scope of an ora:contains Query
- Structure: Projecting the ora:contains Result
- Policies for ora:contains Queries
-
- Introduction to Policies for ora:contains Queries
- Effect of Policies on ora:contains
- Policy Defaults
- ora:contains Searches Over a Collection of Elements
- ora:contains Performance
-
- Use a Primary Filter in the Query
- Use a CTXXPATH Index
- XPath Rewrite and the CONTEXT Index
- Text Path BNF Specification
- Support for Full-Text XML Examples
-
- Purchase-Order XML Document, po001.xml
- CREATE TABLE Statements
- Purchase-Order XML Schema for Full-Text Search Examples
- Overview of PL/SQL APIs for XMLType
-
- API Features
-
- Lazy Loading of XML Data (Lazy Manifestation)
- XMLType Datatype Supports XML Schema
- XMLType Supports Data in Different Character Sets
- PL/SQL DOM API for XMLType (DBMS_XMLDOM)
-
- Overview of the W3C Document Object Model (DOM) Recommendation
-
- Oracle XDK Extensions to the W3C DOM Standard
- Supported W3C DOM Recommendations
- Difference Between DOM and SAX
- PL/SQL DOM API for XMLType (DBMS_XMLDOM): Features
-
- Enhanced Performance
- Designing End-to-End Applications Using Oracle XDK and Oracle XML DB
- Using PL/SQL DOM API for XMLType: Preparing XML Data
- Defining an XML Schema Mapping to SQL Object Types
-
- DOM Fidelity for XML Schema Mapping
- Wrapping Existing Data into XML with XMLType Views
- DBMS_XMLDOM Methods Supported
- PL/SQL DOM API for XMLType: Node Types
- Working with Schema-Based XML Instances
- DOM NodeList and NamesNodeMap Objects
- Using PL/SQL DOM API for XMLType (DBMS_XMLDOM)
- PL/SQL DOM API for XMLType – Examples
- PL/SQL Parser API for XMLType (DBMS_XMLPARSER)
-
- PL/SQL Parser API for XMLType: Features
- Using PL/SQL Parser API for XMLType (DBMS_XMLPARSER)
- PL/SQL XSLT Processor for XMLType (DBMS_XSLPROCESSOR)
-
- Enabling Transformations and Conversions with XSLT
- PL/SQL XSLT Processor for XMLType: Features
- Using PL/SQL Parser API for XMLType (DBMS_XSLPROCESSOR)
- Overview of PL/SQL Package DBMS_XMLSTORE
- Using Package DBMS_XMLSTORE
- Inserting with DBMS_XMLSTORE
- Updating with DBMS_XMLSTORE
- Deleting with DBMS_XMLSTORE
- Overview of Java DOM API for XMLType
- Java DOM API for XMLType
-
- Accessing XML Documents in Repository
- Using JDBC to Access XMLType Data
-
- How Java Applications Use JDBC to Access XML Documents in Oracle XML DB
- Using JDBC to Manipulate XML Documents Stored in a Database
- Loading a Large XML Document into the Database with JDBC
- Java DOM API for XMLType Features
-
- Creating XML Documents Programmatically
- Creating XML Schema-Based Documents
-
- JDBC or SQLJ
- Java DOM API for XMLType Classes
-
- Java Methods Not Supported
- Using Java DOM API for XMLType
- Overview of the C API for XML (XDK and Oracle XML DB)
- Using OCI and the C API for XML with Oracle XML DB
- XML Context Parameter
-
- OCIXmlDbInitXmlCtx() Syntax
- OCIXmlDbFreeXmlCtx() Syntax
- Initializing and Terminating an XML Context
- OCI Usage
-
- Accessing XMLType Data From the Back End
- Creating XMLType Instances on the Client
- Common XMLType Operations in C
- ODP.NET XML Support and Oracle XML DB
- ODP.NET Sample Code
- Oracle XML DB Options for Generating XML Data From Oracle Database
-
- Overview of Generating XML Using Standard SQL/XML Functions
- Overview of Generating XML Using Oracle Database SQL Functions
- Overview of Generating XML Using DBMS_XMLGEN
- Overview of Generating XML with XSQL Pages Publishing Framework
- Overview of Generating XML Using XML SQL Utility (XSU)
- Overview of Generating XML Using DBURIType
- Generating XML Using SQL Functions
-
- XMLELEMENT and XMLATTRIBUTES SQL Functions
-
- Escaping Characters in Generated XML Data
- Formatting of XML Dates and Timestamps
- XMLElement Examples
- XMLFOREST SQL Function
- XMLSEQUENCE SQL Function
- XMLCONCAT SQL Function
- XMLAGG SQL Function
- XMLPI SQL Function
- XMLCOMMENT SQL Function
- XMLROOT SQL Function
- XMLSERIALIZE SQL Function
- XMLPARSE SQL Function
- XMLCOLATTVAL SQL Function
- XMLCDATA SQL Function
- Generating XML Using DBMS_XMLGEN
-
- Using DBMS_XMLGEN
- Functions and Procedures of Package DBMS_XMLGEN
- DBMS_XMLGEN Examples
- Generating XML Using SQL Function SYS_XMLGEN
-
- Using XMLFormat Object Type
- Generating XML Using SQL Function SYS_XMLAGG
- Generating XML Using XSQL Pages Publishing Framework
- Generating XML Using XML SQL Utility (XSU)
- Guidelines for Generating XML With Oracle XML DB
-
- Using XMLAGG ORDER BY Clause to Order Query Results Before Aggregation
- Using XMLSEQUENCE, EXTRACT, and TABLE to Return a Rowset
- Overview of XQuery in Oracle XML DB
- Overview of the XQuery Language
-
- Functional Language Based on Sequences
- XQuery Expressions
- FLWOR Expressions
- SQL Functions XMLQuery and XMLTable
-
- XMLQUERY SQL Function in Oracle XML DB
- XMLTABLE SQL Function in Oracle XML DB
- Predefined Namespaces and Prefixes
- Oracle XQuery Extension Functions
-
- ora:contains XQuery Function
- ora:matches XQuery Function
- ora:replace XQuery Function
- ora:sqrt XQuery Function
- ora:view XQuery Function
- XMLQuery and XMLTable Examples
-
- XQuery Is About Sequences
- Using XQuery to Query XML Data in Oracle XML DB Repository
- Using ora:view to Query Relational Data in XQuery Expressions
- Using XQuery with XMLType Data
- Using Namespaces with XQuery
- Performance Tuning for XQuery
-
- XQuery Optimization over a SQL/XML View Created by ora:view
- XQuery Optimization over XML Schema-Based XMLType Data
- XQuery Static Type-Checking in Oracle XML DB
- SQL*Plus XQUERY Command
- Using XQuery with PL/SQL, JDBC, and ODP.NET
- Oracle XML DB Support for XQuery
-
- Support for XQuery and SQL
-
- Implementation Choices Specified in the XQuery Standard
- Implementation Departures from the XQuery Standard
- XQuery Optional Features
- Support for XQuery Functions and Operators
-
- XQuery Functions doc and collection
- What Are XMLType Views?
-
- Creating XMLType Views: Syntax
- Creating Non-Schema-Based XMLType Views
-
- Using SQL/XML Generation Functions to Create Non-Schema-Based XMLType Views
- Using Object Types with SYS_XMLGEN to Create Non-Schema-Based XMLType Views
- Creating XML Schema-Based XMLType Views
-
- Using SQL/XML Generation Functions to Create XML Schema-Based XMLType Views
-
- Using Namespaces With SQL/XML Functions
- Using Object Types and Views to Create XML Schema-Based XMLType Views
-
- Creating Schema-Based XMLType Views Over Object Views
- Wrapping Relational Department Data with Nested Employee Data as XML
- Creating XMLType Views From XMLType Tables
- Referencing XMLType View Objects Using REF()
- DML (Data Manipulation Language) on XMLType Views
- XPath Rewrite on XMLType Views
-
- Views Constructed With SQL/XML Generation Functions
-
- XPath Rewrite on Non-Schema-Based Views Constructed With SQL/XML
- XPath Rewrite on Schema-Based Views Constructed With SQL/XML
- Views Using Object Types, Object Views, and SYS_XMLGEN
-
- Non-Schema-Based XMLType Views Using Object Types or Object Views
- XML-Schema-Based Views Using Object Types or Object Views
- XPath Rewrite Event Trace
- Generating XML Schema-Based XML Without Creating Views
- Overview of Oracle XML DB URL Features
- URIs and URLs
- URIType and its Subtypes
-
- DBUris and XDBUris – What For?
- URIType Methods
-
- HTTPURIType Method getContentType()
- DBURIType Method getContentType()
- DBURIType Method getClob()
- DBURIType Method getBlob()
- Accessing Data Using URIType Instances
- XDBUris: Pointers to Repository Resources
-
- XDBUri URI Syntax
- XDBUri Examples
- DBUris: Pointers to Database Data
-
- Viewing the Database as XML Data
- DBUri URI Syntax
- DBUris are Scoped to a Database and Session
- DBUri Examples
-
- Targeting a Table
- Targeting a Row in a Table
- Targeting a Column
- Retrieving the Text Value of a Column
- Targeting a Collection
- Creating New Subtypes of URIType using Package URIFACTORY
-
- Registering New URIType Subtypes with Package URIFACTORY
- SYS_DBURIGEN SQL Function
-
- Rules for Passing Columns or Object Attributes to SYS_DBURIGEN
- SYS_DBURIGEN SQL Function: Examples
- DBUriServlet
-
- Customizing DBUriServlet
- DBUriServlet Security
- Configuring Package URIFACTORY to Handle DBUris
- Overview of Oracle XML DB Foldering
- Repository Terminology and Supplied Resources
-
- Repository Terminology
- Supplied Files and Folders
- Oracle XML DB Resources
-
- Where Is Repository Data Stored?
-
- Names of Generated Tables
- Defining Structured Storage for Resources
- ASM Virtual Folder
- Path-Name Resolution
- Resource Deletion
- Accessing Oracle XML DB Repository Resources
- Navigational or Path Access
-
- Accessing Oracle XML DB Resources Using Internet Protocols
-
- Where You Can Use Oracle XML DB Protocol Access
- Using Protocol Access
- Retrieving Oracle XML DB Resources
- Storing Oracle XML DB Resources
- Using Internet Protocols and XMLType: XMLType Direct Stream Write
- Accessing ASM Files Using Protocols and Resource APIs – For DBAs
- Query-Based Access
- Accessing Repository Data Using Servlets
- Accessing Data Stored in Repository Resources
- Managing and Controlling Access to Resources
- Overview of Oracle XML DB Versioning
-
- Oracle XML DB Versioning Features
- Oracle XML DB Versioning Terms Used in This Chapter
- Oracle XML DB Resource ID and Path Name
- Creating a Version-Controlled Resource (VCR)
-
- Version Resource ID or VCR Version
- Resource ID of a New Version
- Accessing a Version-Controlled Resource (VCR)
- Updating a Version-Controlled Resource (VCR)
-
- DBMS_XDB_VERSION.CheckOut() Procedure
- DBMS_XDB_VERSION.CheckIn() Procedure
- DBMS_XDB_VERSION.UnCheckOut Procedure
- Update Contents and Properties
- Access Control and Security of VCR
- Guidelines for Using Oracle XML DB Versioning
- Overview of Oracle XML DB RESOURCE_VIEW and PATH_VIEW
-
- RESOURCE_VIEW Definition and Structure
- PATH_VIEW Definition and Structure
- Understanding the Difference Between RESOURCE_VIEW and PATH_VIEW
- Operations You Can Perform Using UNDER_PATH and EQUALS_PATH
- RESOURCE_VIEW and PATH_VIEW APIs
-
- UNDER_PATH SQL Function
- EQUALS_PATH SQL Function
- PATH SQL Function
- DEPTH SQL Function
- Using the RESOURCE_VIEW and PATH_VIEW APIs
-
- Accessing Repository Data Paths, Resources and Links: Examples
- Deleting Repository Resources: Examples
-
- Deleting Nonempty Folder Resources
- Updating Repository Resources: Examples
- Working with Multiple Oracle XML DB Resources
- Performance Tuning of Oracle XML DB Resource Queries
- Searching for Resources Using Oracle Text
- Overview of PL/SQL Package DBMS_XDB
- DBMS_XDB: Resource Management
- DBMS_XDB: ACL-Based Security Management
- DBMS_XDB: Configuration Management
- Overview of Oracle XML DB Resource Security and ACLs
-
- How the ACL-Based Security Mechanism Works
- Access Control List Concepts
- Access Privileges
-
- Atomic Privileges
- Aggregate Privileges
- Interaction with Database Table Security
- Working with Oracle XML DB ACLs
-
- Creating an ACL Using DBMS_XDB.createResource
- Setting the ACL of a Resource
- Deleting an ACL
- Updating an ACL
- Retrieving the ACL Document for a Given Resource
- Retrieving Privileges Granted to the Current User for a Particular Resource
- Checking if the Current User Has Privileges on a Resource
- Checking if the Current User Has Privileges With the ACL and Resource Owner
- Retrieving the Path of the ACL that Protects a Given Resource
- Retrieving the Paths of All Resources Protected by a Given ACL
- Integrating Oracle XML DB with LDAP
- Performance Issues for Using ACLs
- Overview of Oracle XML DB Protocol Server
-
- Session Pooling
- Oracle XML DB Protocol Server Configuration Management
-
- Configuring Protocol Server Parameters
- Configuring Secure HTTP (HTTPS)
-
- Enable the HTTP Listener to Use SSL
- Enable TCPS Dispatcher
- Interaction with Oracle XML DB File-System Resources
- Protocol Server Handles XML Schema-Based or Non-Schema-Based XML Documents
- Event-Based Logging
- Using FTP and Oracle XML DB Protocol Server
-
- Oracle XML DB Protocol Server: FTP Features
-
- FTP Features That Are Not Supported
- FTP Client Methods That Are Supported
- FTP Quote Methods
- Using FTP with ASM Files
- Using FTP on Standard or Nonstandard Ports
- FTP Server Session Management
- Handling Error 421. Modifying the Default Timeout Value of an FTP Session
- FTP Client Failure in Passive Mode
- Using HTTP(S) and Oracle XML DB Protocol Server
-
- Oracle XML DB Protocol Server: HTTP(S) Features
-
- HTTP(S) Features That Are Not Supported
- HTTP(S) Client Methods That Are Supported
- Using HTTP(S) on Nonstandard Ports
- HTTPS: Support for Secure HTTP
- Anonymous Access to Oracle XML DB Repository using HTTP
- Using Java Servlets with HTTP(S)
- Sending Multibyte Data From a Client
- Characters That Are Not ASCII In URLs
- Controlling Character Sets for HTTP(S)
- Using WebDAV and Oracle XML DB
-
- Oracle XML DB WebDAV Features
-
- WebDAV Features That Are Not Supported
- Supported WebDAV Client Methods
- Using WebDAV with Microsoft Windows XP SP2
- Using Oracle XML DB and WebDAV: Creating a WebFolder in Windows 2000
- Overview of Metadata and XML
-
- Kinds of Metadata – Uses of the Term
- User-Defined Resource Metadata
- Scenario: Metadata for a Photo Collection
- XML Schemas to Define Resource Metadata
- Adding, Updating, and Deleting Resource Metadata
-
- Using APPENDRESOURCEMETADATA to Add Metadata
- Using DELETERESOURCEMETADATA to Delete Metadata
- Using SQL DML to Add Metadata
- Using WebDAV PROPPATCH to Add Metadata
- Querying Schema-Based Resource Metadata
- XML Image Metadata from Binary Image Metadata
- Adding Non-Schema-Based Resource Metadata
- PL/SQL Procedures Affecting Resource Metadata
- Overview of Oracle XML DB Java Applications
-
- Which Oracle XML DB APIs Are Available Inside and Outside the Database?
- Design Guidelines: Java Inside or Outside the Database?
-
- HTTP(S): Accessing Java Servlets or Directly Accessing XMLType Resources
- Accessing Many XMLType Object Elements: Use JDBC XMLType Support
- Use the Servlets to Manipulate and Write Out Data Quickly as XML
- Writing Oracle XML DB HTTP Servlets in Java
- Configuring Oracle XML DB Servlets
- HTTP Request Processing for Oracle XML DB Servlets
- Session Pool and Oracle XML DB Servlets
- Native XML Stream Support
- Oracle XML DB Servlet APIs
- Oracle XML DB Servlet Example
-
- Installing the Oracle XML DB Example Servlet
- Configuring the Oracle XML DB Example Servlet
- Testing the Example Servlet
- Installing and Reinstalling Oracle XML DB
-
- Installing or Reinstalling Oracle XML DB From Scratch
- Installing a New Oracle XML DB With Database Configuration Assistant
-
- Dynamic Protocol Registration of FTP and HTTP(S) Services with Local Listener
- Installing Oracle XML DB Manually Without DBCA
-
- Postinstallation
- Reinstalling Oracle XML DB
- Upgrading an Existing Oracle XML DB Installation
-
- Upgrading Oracle XML DB from Release 9.2 to Release 10g
-
- Privileges for Nested XMLType Tables When Upgrading to Oracle Database 10g
- Upgrading an Existing LCR XML Schema
- Using Oracle Enterprise Manager to Administer Oracle XML DB
- Configuring Oracle XML DB Using xdbconfig.xml
-
- Oracle XML DB Configuration File, xdbconfig.xml
-
- <xdbconfig> (Top-Level Element)
- <sysconfig> (Child of <xdbconfig>)
- <userconfig> (Child of <xdbconfig>)
- <protocolconfig> (Child of <sysconfig>)
- <httpconfig> (Child of <protocolconfig>)
- <servlet> (Descendent of <httpconfig>)
- Oracle XML DB Configuration File Example
- Oracle XML DB Configuration API
- Configuring Default Namespace to Schema Location Mappings
- Configuring XML File Extensions
- Overview of Loading XMLType Data into Oracle Database
- Using SQL*Loader to Load XMLType Data
-
- Using SQL*Loader to Load XMLType Data in LOBs
-
- Loading LOB Data in Predetermined Size Fields
- Loading LOB Data in Delimited Fields
- Loading XML Columns Containing LOB Data from LOBFILEs
- Specifying LOBFILEs
- Using SQL*Loader to Load XMLType Data Directly From the Control File
- Loading Very Large XML Documents into Oracle Database
- Overview of IMPORT/EXPORT Support in Oracle XML DB
- Non-Schema-Based XMLType Tables and Columns
- XML Schema-Based XMLType Tables
-
- Guidelines for Exporting Hierarchy-Enabled Tables
- Using Transportable Tablespaces with Oracle XML DB
- Resources and Foldering Do Not Fully Support IMPORT/EXPORT
- Repository Metadata is Not Exported During a Full Database Export
- Importing and Exporting with Different Character Sets
- IMPORT/EXPORT Syntax and Examples
-
- User Level Import/Export
- Table Mode Export
- How Do AQ and XML Complement Each Other?
-
- AQ and XML Message Payloads
- AQ Enables Hub-and-Spoke Architecture for Application Integration
- Messages Can Be Retained for Auditing, Tracking, and Mining
- Advantages of Using AQ
- Oracle Streams and AQ
-
- Streams Message Queuing
- XMLType Attributes in Object Types
- Internet Data Access Presentation (iDAP)
- iDAP Architecture
-
- XMLType Queue Payloads
- Guidelines for Using XML and Oracle Streams Advanced Queuing
-
- Storing Oracle Streams AQ XML Messages with Many PDFs as One Record?
- Adding New Recipients After Messages Are Enqueued
- Enqueuing and Dequeuing XML Messages?
- Parsing Messages with XML Content from Oracle Streams AQ Queues
- Preventing the Listener from Stopping Until the XML Document Is Processed
- Using HTTPS with AQ
- Storing XML in Oracle Streams AQ Message Payloads
- Comparing iDAP and SOAP
- XML Schema and Oracle XML DB
-
- Namespaces
- XML Schema and Namespaces
-
- XML Schema Can Specify a targetNamespace Attribute
- XML Instance Documents Declare Which XML Schema to Use in Their Root Element
-
- schemaLocation Attribute
- noNamespaceSchemaLocation Attribute
- Declaring and Identifying XML Schema Namespaces
- Registering an XML Schema
-
- Oracle XML DB Creates a Default Table
- Deriving an Object Model: Mapping the XML Schema Constructs to SQL Types
- Oracle XML DB and DOM Fidelity
- Annotating an XML Schema
- Identifying and Processing Instance Documents
- Overview of XML Schema
-
- Purchase Order, po.xml
- Association Between the Instance Document and the Purchase-Order XML Schema
- Purchase-Order XML Schema, po.xsd
-
- Prefix xsd:
- XML Schema Components
-
- Primary Components
- Secondary Components
- Helper Components
- Complex Type Definitions, Element and Attribute Declarations
-
- Defining the USAddress Type
- Defining PurchaseOrderType
- Occurrence Constraints: minOccurs and maxOccurs
- Default Attributes
- Default Elements
- Global Elements and Attributes
- Naming Conflicts
- Simple Types
- List Types
-
- Creating a List of myInteger
- Union Types
- Anonymous Type Definitions
-
- Two Anonymous Type Definitions
- Element Content
-
- Complex Types from Simple Types
- Mixed Content
- Empty Content
- AnyType
- Annotations
- Building Content Models
- Attribute Groups
-
- Adding Attributes to the Inline Type Definition
- Adding Attributes Using an Attribute Group
- Nil Values
- How DTDs and XML Schema Differ
-
- DTD Limitations
- XML Schema Features Compared to DTD Features
- Converting Existing DTDs to XML Schema?
- XML Schema Example, purchaseOrder.xsd
- Overview of the W3C XML Path Language (XPath) 1.0 Recommendation
-
- XPath Models an XML Document as a Tree of Nodes
- XPath Expression
-
- Evaluating Expressions with Respect to a Context
-
- Evaluating Subexpressions
- XPath Expressions Often Occur in XML Attributes
- Location Paths
-
- Location Path Syntax Abbreviations
- Location Path Examples Using Unabbreviated Syntax
- Location Path Examples Using Abbreviated Syntax
-
- Attribute Abbreviation @
- Path Abbreviation //
- Location Step Abbreviation .
- Location Step Abbreviation ..
- Abbreviation Summary
- Relative and Absolute Location Paths
- Location Path Syntax Summary
- XPath 1.0 Data Model
-
- Nodes
-
- Root Nodes
- Element Nodes
- Text Nodes
- Attribute Nodes
- Namespace Nodes
- Processing Instruction Nodes
- Comment Nodes
- Expanded-Name
- Document Order
- Overview of the W3C Namespaces in XML Recommendation
-
- What Is a Namespace?
-
- URI References
- Notation and Usage
- Declaring Namespaces
- Attribute Names for Namespace Declaration
- When the Attribute Name Matches the PrefixedAttName
- When the Attribute Name Matches the DefaultAttName
- Namespace Constraint: Prefixes Beginning X-M-L
- Qualified Names
-
- Qualified Name Syntax
- What is the Prefix?
- Using Qualified Names
-
- Element Types
- Attribute
- Namespace Constraint: Prefix Declared
-
- Qualified Names in Declarations
- Applying Namespaces to Elements and Attributes
- Namespace Scoping
- Namespace Defaulting
- Uniqueness of Attributes
- Conformance of XML Documents
- Overview of the W3C XML Information Set
-
- Namespaces and the W3C XML Information Set
-
- Entities
- End-of-Line Handling
- Base URIs
- Unknown and No Value
- Synthetic Infosets
- Overview of XSL
-
- W3C XSL Transformation Recommendation Version 1.0
- Namespaces in XML
- XSL Style Sheet Architecture
- XSL Transformation (XSLT)
- XML Path Language (Xpath)
- CSS Versus XSL
- XSL Style Sheet Example, PurchaseOrder.xsl
- XDBResource.xsd: XML Schema for Oracle XML DB Resources
-
- XDBResource.xsd
- acl.xsd: XML Schema for Oracle XML DB ACLs
-
- ACL Representation XML Schema, acl.xsd
- acl.xsd
- xdbconfig.xsd: XML Schema for Configuring Oracle XML DB
-
- xdbconfig.xsd
- Purchase-Order XML Schemas
- Loading XML Using C (OCI)
- Initializing and Terminating an XML Context (OCI)