Go to main content
1/50
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Examples
Conventions
Changes in This Release for Oracle XML Developer's Kit Programmer's Guide
Changes in Oracle XML Developer’s Kit 12
c
Release 2 (12.2.0.1)
New Features
XSL 2.0 Support
XQuery 3.0 Support
Changes in Oracle XML Developer's Kit 12
c
Release 1 (12.1.0.1)
New Features
Oracle XQuery Processor for Java
XDK/J Support for Fast Infoset
XDK/J DOM Improvements
XMLDiff Support for XDK Java
Deprecated Features
XML Developer's Kit JavaBeans
XML Developer's Kit for Java APIs
1
Introduction to Oracle XML Developer's Kit
1.1
Overview of XDK
1.2
XDK Components
1.2.1
XML Parsers
1.2.2
XSLT Processors
1.2.3
XML Schema Processors
1.2.4
XML Class Generators
1.2.5
XML Pipeline Processor
1.2.6
Oracle XML SQL Utility
1.2.6.1
XML Document Representations
1.2.6.2
Using XSU with an XML Class Generator
1.2.7
TransX Utility Overview
1.2.8
XSQL Pages Publishing Framework
1.2.9
SOAP Services
1.2.10
XSLT Virtual Machine
1.3
Generating XML Documents Using XDK
1.3.1
XML Document Generation with Java
1.3.2
XML Document Generation with C
1.3.3
XML Document Generation with C++
1.4
Development Tools and Frameworks for XDK
1.4.1
Oracle JDeveloper
1.4.2
Oracle Data Provider for .NET
1.5
About Installing XDK
Part I Oracle XML Developer's Kit for Java
2
Unified Java API for XML
2.1
Overview of Unified Java API for XML
2.2
Component Unification
2.3
About Moving to the Unified Java API
2.3.1
Java DOM APIs for XMLType Classes
2.3.2
Extension APIs
2.3.3
Document Creation Java APIs
3
Getting Started with Oracle XML Developer's Kit for Java
3.1
Installing XDK for Java Components
3.2
XDK for Java Component Dependencies
3.3
Setting Up the XDK for Java Environment
3.3.1
Setting Up XDK for Java Environment Variables for UNIX
3.3.2
Testing the XDK for Java Environment on UNIX
3.3.3
Setting Up XDK for Java Environment Variables for Windows
3.3.4
Testing the XDK for Java Environment on Windows
3.4
Verifying the XDK (Java) Version
4
XML Parsing for Java
4.1
Introduction to XML Parsing for Java
4.1.1
Prerequisites for Parsing with Java
4.1.2
Standards and Specifications for XML Parsing for Java
4.1.3
Large Node Handling
4.1.4
XML Parsing in Java: Overview
4.1.5
DOM in XML Parsing
4.1.5.1
DOM Creation
4.1.6
SDOM
4.1.6.1
Pluggable DOM Support
4.1.6.2
Lazy Materialization
4.1.6.3
Configurable DOM Settings
4.1.6.4
DOM Support for Fast Infoset
4.1.7
SAX in the XML Parser
4.1.8
JAXP in the XML Parser
4.1.9
Namespace Support in the XML Parser
4.1.10
Validation in the XML Parser
4.1.11
Compression in the XML Parser
4.2
Using XML Parsing for Java: Overview
4.2.1
Using the XML Parser for Java: Basic Process
4.2.2
Running the XML Parser for Java Demo Programs
4.2.3
Using the Java XML Parser Command-Line Utility (oraxml)
4.3
Parsing XML with DOM
4.3.1
Using the DOM API for Java
4.3.2
DOM Parser Architecture
4.3.3
Performing Basic DOM Parsing
4.3.4
Creating SDOM
4.3.4.1
Using SDOM
4.3.4.1.1
InfosetReader Options
4.3.4.1.2
InfosetWriter
4.3.4.1.3
Saving XML Text as Binary XML
4.3.4.2
Using Lazy Materialization
4.3.4.2.1
Pulling Data on Demand
4.3.4.2.2
Using Automatic Node Dereferencing
4.3.4.2.3
Using Manual Node Dereferencing
4.3.4.2.4
Using Shadow Copy
4.3.4.2.5
Incorporating DOM Updates
4.3.4.2.6
Using the PageManager Interface to Support Internal Data
4.3.4.3
Using Configurable DOM Settings
4.3.4.3.1
PARTIAL_DOM Attribute
4.3.4.3.2
ACCESS_MODE Attribute
4.3.4.4
Using Fast Infoset with SDOM
4.3.4.5
SDOM Applications
4.3.4.6
XDK Java DOM Improvements
4.3.5
Performing DOM Operations with Namespaces
4.3.6
Performing DOM Operations with Events
4.3.7
Performing DOM Operations with Ranges
4.3.8
Performing DOM Operations with TreeWalker
4.4
Parsing XML with SAX
4.4.1
Using the SAX API for Java
4.4.2
Performing Basic SAX Parsing
4.4.3
Performing Basic SAX Parsing with Namespaces
4.4.4
Performing SAX Parsing with XMLTokenizer
4.5
Parsing XML with JAXP
4.5.1
JAXP Structure
4.5.2
Using the SAX API Through JAXP
4.5.3
Using the DOM API Through JAXP
4.5.4
Transforming XML Through JAXP
4.5.5
Parsing with JAXP
4.5.6
Performing Basic Transformations with JAXP
4.6
Compressing and Decompressing XML
4.6.1
Compressing a DOM Object
4.6.2
Decompressing a DOM Object
4.6.3
Compressing a SAX Object
4.6.4
Decompressing a SAX Object
4.7
Tips and Techniques for Parsing XML
4.7.1
Extracting Node Values from a DOM Tree
4.7.2
Merging Documents with appendChild()
4.7.3
Parsing DTDs
4.7.3.1
Loading External DTDs
4.7.3.2
Caching DTDs with setDoctype
4.7.4
Handling Character Sets with the XML Parser
4.7.4.1
Detecting the Encoding of an XML File on the Operating System
4.7.4.2
Preventing Distortion of XML Stored in an NCLOB Column
4.7.4.3
Writing an XML File in a Nondefault Encoding
4.7.4.4
Parsing XML Stored in Strings
4.7.4.5
Parsing XML Documents with Accented Characters
4.7.4.6
Handling Special Characters in Tag Names
5
Using Binary XML with Java
5.1
Introduction to Binary XML for Java
5.1.1
Binary XML Storage Format – Java
5.1.2
Binary XML Processors
5.2
Models for Using Binary XML
5.2.1
Usage Terminology for Binary XML
5.2.2
Standalone Model
5.2.3
Client/Server Model
5.2.4
Web Services Model With Repository
5.2.5
Web Services Model Without Repository
5.3
Components of Binary XML for Java
5.3.1
Binary XML Encoding
5.3.2
Binary XML Decoding
5.4
Binary XML Vocabulary Management
5.4.1
Schema Management
5.4.1.1
Schema Registration for Binary XML Vocabulary Management
5.4.1.2
Schema Identification
5.4.1.3
Schema Annotations
5.4.1.4
User-Level Annotations
5.4.1.5
System-Level Annotations
5.4.2
Token Management
5.5
Using the Java Binary XML Package
5.5.1
Binary XML Encoder
5.5.1.1
Schema-Less Option
5.5.1.2
Inline-Token Option
5.5.2
Binary XML Decoder
5.5.3
Schema Registration Overview
5.5.4
Resolving xsi:schemaLocation
5.5.5
Binary XML
5.5.6
Persistent Storage of Metadata
6
Using the XSLT Processor for Java
6.1
Introduction to the XSLT Processor
6.1.1
Prerequisites for Using the XSLT Processor for Java
6.1.2
Standards and Specifications for the XSLT Processor for Java
6.1.3
XML Transformation with XSLT 1.0 and 2.0
6.2
Using the XSLT Processor for Java: Overview
6.2.1
Using the XSLT Processor for Java: Basic Process
6.2.2
Running the XSLT Processor Demo Programs
6.2.3
Using the XSLT Processor Command-Line Utility
6.2.3.1
Using the XSLT Processor Command-Line Utility: Example
6.3
Transforming XML
6.3.1
Performing Basic XSL Transformation
6.3.2
Getting DOM Results from an XSL Transformation
6.4
Programming with Oracle XSLT Extensions
6.4.1
Overview of Oracle XSLT Extensions
6.4.2
Specifying Namespaces for XSLT Extension Functions
6.4.3
Using Static and Nonstatic Java Methods in XSLT
6.4.4
Using Constructor Extension Functions
6.4.5
Using Return Value Extension Functions
6.5
Tips and Techniques for Transforming XML
6.5.1
Merging XML Documents with XSLT
6.5.2
Creating an HTML Input Form Based on the Columns in a Table
7
Using the XQuery Processor for Java
7.1
Introduction to the XQuery Processor for Java
7.2
XQJ Entity Resolution
7.2.1
Resolution of Documents for fn:doc
7.2.2
Resolution of External XQuery Functions
7.2.3
Resolution of Imported XQuery Modules
7.2.4
Resolution of XML Schemas Imported by an XQuery Query
7.2.5
Prefabricated Entity Resolvers for XQuery
7.2.6
Resolution of Other Types of Entity
7.3
XQuery Output Declarations
7.4
Improving Application Performance and Scalability with XQuery
7.4.1
Streaming Query Evaluation
7.4.2
External Storage
7.4.3
Thread Safety for XQJ
7.5
Performing Updates
7.6
Oracle XQuery Functions and Operators
7.6.1
Oracle XQuery Functions for Duration, Date, and Time
7.6.1.1
ora-fn:date-from-string-with-format
7.6.1.2
ora-fn:date-to-string-with-format
7.6.1.3
ora-fn:dateTime-from-string-with-format
7.6.1.4
ora-fn:dateTime-to-string-with-format
7.6.1.5
ora-fn:time-from-string-with-format
7.6.1.6
ora-fn:time-to-string-with-format
7.6.1.7
Format Argument
7.6.1.8
Locale Argument
7.6.2
Oracle XQuery Functions for Strings
7.6.2.1
ora-fn:pad-left
7.6.2.2
ora-fn:pad-right
7.6.2.3
ora-fn:trim
7.6.2.4
ora-fn:trim-left
7.6.2.5
ora-fn:trim-right
7.7
Standards and Specifications for the XQuery Processor for Java
7.7.1
Optional XQuery Features
7.7.2
Implementation-Defined Items
8
Using XQuery API for Java to Access Oracle XML DB
8.1
Introduction to Oracle XML DB Support for XQJ
8.1.1
Prerequisites for Using XQJ to Access Oracle XML DB
8.2
Examples: Using XQJ to Query Oracle XML DB
8.3
XQJ Support for Oracle XML DB
8.3.1
Other Oracle XML DB XQJ Support Limitations
8.4
XQJ Performance Considerations for Use with Oracle XML DB
9
Using the XML Schema Processor for Java
9.1
Introduction to XML Validation
9.1.1
Prerequisites for Using the XML Schema Processor for Java
9.1.2
Standards and Specifications for the XML Schema Processor for Java
9.1.3
XML Validation with DTDs
9.1.3.1
DTD Samples in XDK
9.1.4
XML Validation with XML Schemas
9.1.4.1
XML Schema Samples in XDK
9.1.5
Differences Between XML Schemas and DTDs
9.2
Using the XML Schema Processor: Overview
9.2.1
Using the XML Schema Processor for Java: Basic Process
9.2.2
Running the XML Schema Processor Demo Programs
9.2.3
Using the XML Schema Processor Command-Line Utility
9.2.3.1
Using oraxml to Validate Against a Schema
9.2.3.2
Using oraxml to Validate Against a DTD
9.3
Validating XML with XML Schemas
9.3.1
Validating Against Internally Referenced XML Schemas
9.3.2
Validating Against Externally Referenced XML Schemas
9.3.3
Validating a Subsection of an XML Document
9.3.4
Validating XML from a SAX Stream
9.3.5
Validating XML from a DOM
9.3.6
Validating XML from Designed Types and Elements
9.4
Tips and Techniques for Programming with XML Schemas
9.4.1
Overriding the Schema Location with an Entity Resolver
9.4.2
Converting DTDs to XML Schemas
10
Using the JAXB Class Generator
10.1
Introduction to the JAXB Class Generator
10.1.1
Prerequisites for Using the JAXB Class Generator
10.1.2
Standards and Specifications for the JAXB Class Generator
10.1.3
JAXB Class Generator Features
10.1.4
Marshalling and Unmarshalling with JAXB
10.1.5
Validation with JAXB
10.1.6
JAXB Customization
10.2
Using the JAXB Class Generator: Overview
10.2.1
Using the JAXB Processor: Basic Process
10.2.2
Running the XML Schema Processor Demo Programs
10.2.3
Using the JAXB Class Generator Command-Line Utility
10.2.3.1
Using the JAXB Class Generator Command-Line Utility: Example
10.2.4
JAXB Features Not Supported in XDK
10.3
Processing XML with the JAXB Class Generator
10.3.1
Binding Complex Types
10.3.1.1
Defining the Schema to Validate sample3.xml
10.3.1.2
Generating and Compiling the Java Classes
10.3.1.3
Processing the XML Data in sample3.xml
10.3.2
Customizing a Class Name in a Top-Level Element
10.3.2.1
Defining the Schema to Validate schema10.xml
10.3.2.1.1
Customizing the Schema Binding
10.3.2.2
Generating and Compiling the Java Classes
10.3.2.3
Processing the XML Data in sample10.xml
11
Using the XML Pipeline Processor for Java
11.1
Introduction to the XML Pipeline Processor
11.1.1
Prerequisites for Using the XML Pipeline Processor for Java
11.1.2
Standards and Specifications for the XML Pipeline Processor for Java
11.1.3
Multistage XML Processing
11.1.4
Customized Pipeline Processes
11.2
Using the XML Pipeline Processor for Java: Overview
11.2.1
Using the XML Pipeline Processor for Java: Basic Process
11.2.2
Running the XML Pipeline Processor Demo Programs
11.2.3
Using the XML Pipeline Processor Command-Line Utility
11.3
Processing XML in a Pipeline
11.3.1
Creating a Pipeline Document
11.3.1.1
Example of a Pipeline Document
11.3.1.1.1
Processes Specified in the Pipeline Document
11.3.1.1.2
Processing Architecture Specified in the Pipeline Document
11.3.2
Writing a Pipeline Processor Application
11.3.3
Writing a Pipeline Error Handler
12
Determining XML Differences Using Java
12.1
Overview of XML Diffing Utilities for Java
12.2
User Options for the Java XML Diffing Library
12.3
Using Java XML Diffing Methods to Find Differences
12.3.1
About the append-node Operation
12.3.2
About the insert-node-before Operation
12.3.3
About the delete-node Operation
12.4
Invoking diff and difftoDoc Methods in a Java Application
12.5
Using Java XML hash and equal Methods to Identify and Compare Inputs
12.6
Diff Output Schema
13
Using the XML SQL Utility
13.1
Introduction to the XML SQL Utility (XSU)
13.1.1
Prerequisites for Using the XML SQL Utility (XSU)
13.1.2
XSU Features
13.1.3
XSU Restrictions
13.2
Using the XML SQL Utility: Overview
13.2.1
Using XSU: Basic Process
13.2.1.1
Generating XML with the XSU Java API: Basic Process
13.2.1.2
Performing DML with the XSU Java API: Basic Process
13.2.1.3
Generating XML with the XSU PL/SQL API: Basic Process
13.2.1.4
Performing DML with the PL/SQL API: Basic Process
13.2.2
Installing XSU
13.2.2.1
XSU in the Database
13.2.2.2
XSU in an Application Server
13.2.2.3
XSU in a Web Server
13.2.3
Running the XSU Demo Programs
13.2.4
Using the XSU Command-Line Utility
13.2.4.1
Generating XML with the XSU Command-Line Utility
13.2.4.2
Generating XMLType Data with the XSU Command-Line Utility
13.2.4.3
Performing DML with the XSU Command-Line Utility
13.3
Programming with the XSU Java API
13.3.1
Generating a String with OracleXMLQuery
13.3.1.1
Running the testXMLSQL Program
13.3.2
Generating a DOM Tree with OracleXMLQuery
13.3.3
Paginating Results with OracleXMLQuery
13.3.3.1
Limiting the Number of Rows in the Result Set
13.3.3.2
Keeping an Object Open for the Duration of the User's Session
13.3.3.3
Paginating Results with OracleXMLQuery: Example
13.3.4
Generating Scrollable Result Sets
13.3.5
Generating XML from Cursor Objects
13.3.6
Inserting Rows with OracleXMLSave
13.3.6.1
Inserting XML into All Columns with OracleXMLSave
13.3.6.1.1
Running the testInsert Program
13.3.6.2
Inserting XML into a Subset of Columns with OracleXMLSave
13.3.6.2.1
Running the testInsertSubset Program
13.3.7
Updating Rows Using OracleXMLSave
13.3.7.1
Updating Key Columns Using OracleXMLSave
13.3.7.1.1
Running the testUpdate Program
13.3.7.2
Updating a Column List Using OracleXMLSave
13.3.7.2.1
Running the testUpdateList Program
13.3.8
Deleting Rows using XSU
13.3.8.1
Deleting by Row with OracleXMLSave
13.3.8.1.1
Running the testDelete Program
13.3.8.2
Deleting by Key with OracleXMLSave
13.3.8.2.1
Running the testDeleteKey Program
13.3.9
Handling XSU Java Exceptions
13.3.9.1
Getting the Parent Exception
13.3.9.2
Raising a No Rows Exception
13.4
Programming with the XSU PL/SQL API
13.4.1
Generating XML from Simple Queries with DBMS_XMLQuery
13.4.2
Specifying Element Names with DBMS_XMLQuery
13.4.3
Paginating Results with DBMS_XMLQUERY
13.4.4
Setting Stylesheets in XSU
13.4.5
Binding Values in XSU
13.4.6
Inserting XML using XSU
13.4.6.1
Inserting Values into All Columns using XSU
13.4.6.2
Inserting into a Set of Columns using XSU
13.4.7
Updating using XSU
13.4.7.1
Updating Key Columns using PL/SQL
13.4.7.2
Updating a Set of Columns using XSU
13.4.8
Deleting with XSU
13.4.8.1
Deleting by Row with XSU
13.4.8.2
Deleting by Key with XSU
13.4.9
Handling Exceptions with XSU
13.4.10
Reusing the Context Handle with XSU
13.5
Tips and Techniques for Programming with XSU
13.5.1
How XSU Maps Between SQL and XML
13.5.1.1
Default SQL-to-XML Mapping
13.5.1.1.1
XML Mapping Against an Object-Relational Schema
13.5.1.1.2
Default Mapping of Complex Type Columns to XML
13.5.1.1.3
Default Mapping of Collections to XML
13.5.1.2
Default XML-to-SQL Mapping
13.5.1.3
Customizing Generated XML
13.5.1.3.1
Altering the Database Schema or SQL Query
13.5.1.3.2
Modifying XSU
13.5.2
How XSU Processes SQL Statements
13.5.2.1
How XSU Queries the Database
13.5.2.2
How XSU Inserts Rows
13.5.2.3
How XSU Updates Rows
13.5.2.4
How XSU Deletes Rows
13.5.2.5
How XSU Commits After DML
14
Using the TransX Utility
14.1
Introduction to the TransX Utility
14.1.1
Prerequisites for Using the TransX Utility
14.1.2
TransX Utility Features
14.1.2.1
Simplified Multilingual Data Loading
14.1.2.2
Simplified Data Format Support and Interface
14.1.2.3
Additional TransX Utility Features
14.2
Using the TransX Utility: Overview
14.2.1
Using the TransX Utility: Basic Process
14.2.2
Running the TransX Utility Demo Programs
14.2.3
Using the TransX Command-Line Utility
14.2.3.1
TransX Utility Command-Line Options
14.2.3.2
TransX Utility Command-Line Parameters
14.3
Loading Data with the TransX Utility
14.3.1
Storing Messages in the Database
14.3.2
Creation of a Data Set in a Predefined Format
14.3.2.1
Format of the Input XML Document
14.3.2.2
Specifying Translations in a Data Set
14.3.3
Loading the Data
14.3.4
Querying the Data
15
Data Loading Format (DLF) Specification
15.1
Introduction to DLF
15.1.1
Naming Conventions for DLF
15.1.1.1
Elements and Attributes
15.1.1.2
Values
15.1.1.3
File Extensions
15.2
General Structure of DLF
15.2.1
Tree Structure of DLF
15.3
DLF Specifications
15.3.1
XML Declaration in DLF
15.3.2
Entity References in DLF
15.3.3
Elements in DLF
15.3.3.1
Top-Level Table Element
15.3.3.2
Translation Elements
15.3.3.3
Lookup Key Elements
15.3.3.4
Metadata Elements
15.3.3.5
Data Elements
15.3.4
Attributes in DLF
15.3.4.1
DLF Attributes
15.3.4.2
XML Namespace Attributes
15.4
DLF Examples
15.4.1
Minimal DLF Document
15.4.2
Typical DLF Document
15.4.3
Localized DLF Document
16
Using the XSQL Pages Publishing Framework
16.1
Introduction to the XSQL Pages Publishing Framework
16.1.1
Prerequisites for Using the XSQL Pages Publishing Framework
16.2
Using the XSQL Pages Publishing Framework: Overview
16.2.1
Using the XSQL Pages Framework: Basic Process
16.2.2
Setting Up the XSQL Pages Framework
16.2.2.1
Creating and Testing XSQL Pages with Oracle JDeveloper
16.2.2.2
Setting the CLASSPATH for XSQL Pages
16.2.2.3
Configuring the XSQL Servlet Container
16.2.2.4
Setting Up the Connection Definitions
16.2.3
Running the XSQL Pages Demo Programs
16.2.3.1
Setting Up the XSQL Demos
16.2.3.2
Running the XSQL Demos
16.2.4
Using the XSQL Pages Command-Line Utility
16.3
Generating and Transforming XML with XSQL Servlet
16.3.1
Composing XSQL Pages
16.3.1.1
Using Bind Parameters
16.3.1.2
Using Lexical Substitution Parameters
16.3.1.3
Providing Default Values for Bind and Substitution Parameters
16.3.1.4
How the XSQL Page Processor Handles Different Types of Parameters
16.3.2
Producing Datagrams from SQL Queries
16.3.3
Transforming XML Datagrams into an Alternative XML Format
16.3.4
Transforming XML Datagrams into HTML for Display
16.4
Using XSQL in Java Programs
16.5
XSQL Pages Tips and Techniques
16.5.1
XSQL Pages Limitations
16.5.2
Hints for Using the XSQL Servlet
16.5.2.1
Specifying a DTD While Transforming XSQL Output to a WML Document
16.5.2.2
Testing Conditions in XSQL Pages
16.5.2.3
Passing a Query Result to the WHERE Clause of Another Query
16.5.2.4
Handling Multivalued HTML Form Parameters
16.5.2.5
Invoking PL/SQL Wrapper Procedures to Generate XML Datagrams
16.5.2.6
Accessing Contents of Posted XML
16.5.2.7
Changing Database Connections Dynamically
16.5.2.8
Retrieving the Name of the Current XSQL Page
16.5.3
Resolving Common XSQL Connection Errors
16.5.3.1
Receiving "Unable to Connect" Errors
16.5.3.2
Receiving "No Posted Document to Process" When Using HTTP POST
16.5.4
Security Considerations for XSQL Pages
16.5.4.1
Installing Your XSQL Configuration File in a Safe Directory
16.5.4.2
Disabling Default Client Stylesheet Overrides
16.5.4.3
Protecting Against the Misuse of Substitution Parameters
17
Using the XSQL Pages Publishing Framework: Advanced Topics
17.1
Customizing the XSQL Configuration File Name
17.2
Controlling How Stylesheets Are Processed
17.2.1
Overriding Client Stylesheets
17.2.2
Controlling the Content Type of the Returned Document
17.2.3
Assigning the Stylesheet Dynamically
17.2.4
Processing XSLT Stylesheets in the Client
17.2.5
Providing Multiple Stylesheets
17.3
Working with Array-Valued Parameters
17.3.1
Supplying Values for Array-Valued Parameters
17.3.2
Setting Array-Valued Page or Session Parameters from Strings
17.3.3
Binding Array-Valued Parameters in SQL and PL/SQL Statements
17.4
Setting Error Parameters on Built-In Actions
17.4.1
Using Conditional Logic with Error Parameters
17.4.2
Formatting XSQL Action Handler Errors
17.5
Including XMLType Query Results in XSQL Pages
17.6
Handling Posted XML Content
17.6.1
Understanding XML Posting Options
17.7
Producing PDF Output with the FOP Serializer
17.8
Performing XSQL Customizations
17.8.1
Writing Custom XSQL Action Handlers
17.8.1.1
Implementing the XSQLActionHandler Interface
17.8.1.2
Using Multivalued Parameters in Custom XSQL Actions
17.8.2
Implementing Custom XSQL Serializers
17.8.2.1
Techniques for Using a Custom Serializer
17.8.2.2
Assigning a Short Name to a Custom Serializer
17.8.3
Using a Custom XSQL Connection Manager for JDBC Data Sources
17.8.4
Writing Custom XSQL Connection Managers
17.8.4.1
Accessing Authentication Information in a Custom Connection Manager
17.8.5
Implementing a Custom XSQLErrorHandler
17.8.6
Providing a Custom XSQL Logger Implementation
Part II Oracle XML Developer's Kit for C
18
Getting Started with Oracle XML Developer's Kit for C
18.1
Installing XDK for C Components
18.2
Configuring the UNIX Environment for XDK for C Components
18.2.1
XDK for C Component Dependencies on UNIX
18.2.2
Setting Up XDK for C Environment Variables on UNIX
18.2.3
Testing the XDK for C Runtime Environment on UNIX
18.2.4
Setting Up and Testing the XDK C Compile-Time Environment on UNIX
18.2.4.1
Testing the XDK for C Compile-Time Environment on UNIX
18.2.5
Verifying the XDK for C Component Version on UNIX
18.3
Configuring the Windows Environment for XDK C Components
18.3.1
XDK for C Component Dependencies on Windows
18.3.2
Setting Up XDK for C Environment Variables on Windows
18.3.3
Testing the XDK for C Runtime Environment on Windows
18.3.4
Setting Up and Testing the XDK for C Compile-Time Environment on Windows
18.3.4.1
Testing the XDK for C Compile-Time Environment on Windows
18.3.4.1.1
Editing the Make.bat Files on Windows
18.3.4.1.2
Setting the XDK for C Compiler Path on Windows
18.3.5
Using the XDK for C Components and Visual C++ in Microsoft Visual Studio
18.3.5.1
Setting a Path for a Project in Visual C++ on Windows
18.3.5.2
Setting the Library Path in Visual C++ on Windows
18.4
Overview of the Unified C API
18.5
Globalization Support for the XDK for C Components
19
Using the XSLT and XVM Processors for C
19.1
XSLT XVM Processor
19.1.1
XVM Usage Example
19.1.2
Using the XVM Processor Command-Line Utility
19.1.3
Accessing the XVM Processor for C
19.2
XSLT Processor for XDK for C
19.2.1
XSLT Processor Usage Example
19.2.2
XPath Processor Usage Example
19.2.3
Using the C XSLT Processor Command-Line Utility
19.2.4
Accessing Oracle XSLT processor for C
19.3
Using the Demo Files Included with the Software
19.3.1
Building the C Demo Programs for XSLT
20
Using the XML Parser for C
20.1
Introduction to the XML Parser for C
20.1.1
Prerequisites for Using the XML Parser for C
20.1.2
Standards and Specifications for the XML Parser for C
20.2
Using the XML Parser API for C
20.2.1
Overview of the Parser API for C
20.2.1.1
XML Parser for C Data Types
20.2.1.2
XML Parser for C Defaults
20.2.2
XML Parser for C Calling Sequence
20.2.3
Using the XML Parser for C: Basic Process
20.2.4
Running the XML Parser for C Demo Programs
20.2.5
Using the C XML Parser Command-Line Utility
20.2.5.1
Using the XML Parser Command-Line Utility: Example
20.3
Using the DOM API for C
20.3.1
Controlling the Data Encoding of XML Documents for the C API
20.3.2
Using NULL-Terminated and Length-Encoded C API Functions
20.3.3
Handling Errors with the C API
20.4
Using orastream Functions
20.5
Using the SAX API for C
20.6
Using the XML Pull Parser for C
20.6.1
Using Basic XML Pull Parsing Capabilities
20.6.1.1
XML Event Context
20.6.1.2
About the XML Event Context
20.6.2
Parsing Multiple XML Documents
20.6.3
ID Callback
20.6.4
Error Handling for the XML Pull Parser
20.6.4.1
Parser Errors
20.6.4.2
Programming Errors
20.6.5
Sample Pull Parser Application
20.7
Using OCI and the XDK for C API
20.7.1
Using XMLType Functions and Descriptions
20.7.2
Initializing an XML Context for Oracle XML DB
20.7.3
Creating XMLType Instances on the Client
20.7.4
Operating on XML Data in the Database Server
20.7.5
Using OCI and the XDK for C API: Examples
21
Using Binary XML with C
21.1
Introduction to Binary XML for C
21.2
Prerequisites for Using Binary XML with C
21.3
Binary XML Storage Format – C
22
Using the XML Schema Processor for C
22.1
Oracle XML Schema Processor for C
22.1.1
Oracle XML Schema for C Features
22.1.2
Standards Conformance for Oracle XML Schema Processor for C
22.1.3
XML Schema Processor for C: Supplied Software
22.2
Using the C XML Schema Processor Command-Line Utility
22.3
XML Schema Processor for C Usage Diagram
22.4
How to Run XML Schema for C Sample Programs
22.5
What Is the Streaming Validator?
22.5.1
Using Transparent Mode
22.5.1.1
Error Handling in Transparent Mode
22.5.1.2
Streaming Validator Example
22.5.2
Using Opaque Mode
22.5.2.1
Error Handling in Opaque Mode
22.5.2.2
Example of Opaque Mode Application
22.5.3
Using Function XmlSchemaLoad() With an Existing DOM
22.5.4
Validation Options
23
Determining XML Differences Using C
23.1
Overview of XMLDiff in C
23.1.1
Process Flow for XMLDiff
23.2
Using XmlDiff
23.2.1
User Options for Comparison Optimization
23.2.2
User Option for Hashing
23.2.3
How XmlDiff Looks at Input Documents
23.2.4
Using the XmlDiff Command-Line Utility
23.2.5
Sample Input Document
23.2.6
Sample Xdiff Instance Document
23.2.7
Output Model and XML Processing Instructions
23.2.8
Xdiff Operations
23.2.9
Format of Xdiff Instance Document
23.2.10
Xdiff Schema
23.2.11
Using XMLDiff in an Application
23.2.12
Customized Output
23.3
Using XmlPatch
23.3.1
Using the XmlPatch Command-Line Utility
23.3.2
Using XmlPatch in an Application
23.4
Using XmlHash
23.4.1
Invoking XmlDiff and XmlPatch
24
Using SOAP with the Oracle XML Developer's Kit for C
24.1
Introduction to SOAP for C
24.1.1
SOAP Messaging Overview
24.1.1.1
SOAP Message Format
24.1.1.1.1
SOAP Requests
24.1.1.1.2
Example of a SOAP Response
24.1.2
Using SOAP Clients
24.1.3
Using SOAP Servers
24.2
SOAP C Functions
24.3
SOAP Example 1: Sending an XML Document
24.4
SOAP Example 2: A Response Asking for Clarification
24.5
SOAP Example 3: Using POST
Part III Oracle XML Developer's Kit for C++
25
Getting Started with Oracle XML Developer's Kit for C++
25.1
Installing the XDK for C++ Components
25.2
Configuring the UNIX Environment for XDK for C++ Components
25.2.1
XDK for C++ Component Dependencies on UNIX
25.2.2
Setting Up XDK for C++ Environment Variables on UNIX
25.2.3
Testing the XDK for C++ Runtime Environment on UNIX
25.2.4
Setting Up and Testing the XDK for C++ Compile-Time Environment on UNIX
25.2.4.1
Testing the XDK for C++ Compile-Time Environment on UNIX
25.2.5
Verifying the XDK for C++ Component Version on UNIX
25.3
Configuring the Windows Environment for XDK for C++ Components
25.3.1
XDK for C++ Component Dependencies on Windows
25.3.2
Setting Up XDK for C++ Environment Variables on Windows
25.3.3
Testing the XDK for C++ Runtime Environment on Windows
25.3.4
Setting Up and Testing the XDK for C++ Compile-Time Environment on Windows
25.3.4.1
Testing the XDK for C++ Compile-Time Environment on Windows
25.3.5
Using the XDK for C++ Components with Visual C/C++
26
Overview of the Unified C++ Interfaces
26.1
What Is the Unified C++ API?
26.2
Accessing the C++ Interface
26.3
OracleXML Namespace
26.3.1
OracleXML Interfaces
26.4
Ctx Namespace
26.4.1
OracleXML Data Types
26.4.2
Ctx Interfaces
26.5
IO Namespace
26.5.1
IO Data Types
26.5.2
IO Interfaces
26.6
Tools Package
26.6.1
Tools Interfaces
26.7
Error Message Files
27
Using the XML Parser for C++
27.1
Introduction to Oracle XML Parser for C++
27.2
DOM Namespace
27.2.1
DOM Data Types
27.2.2
DOM Interfaces
27.2.3
DOM Traversal and Range Data Types
27.2.4
DOM Traversal and Range Interfaces
27.3
Parser Namespace
27.3.1
GParser Interface
27.3.2
DOMParser Interface
27.3.3
SAXParser Interface
27.3.3.1
SAX Event Handlers
27.4
Thread Safety for the XML Parser for C++
27.5
XML Parser for C++ Usage
27.6
XML Parser for C++ Default Behavior
27.7
C++ Sample Files
28
Using the XSLT Processor for C++
28.1
Accessing XSLT for C++
28.2
XSL Namespace
28.2.1
XSL Interfaces
28.3
XSLT for C++ DOM Interface Usage
28.4
Invoking XSLT for C++
28.4.1
Command-Line Usage
28.4.2
Writing C++ Code to Use Supplied APIs
28.5
Using the Sample Files Included with the Software
29
Using the XML Schema Processor for C++
29.1
Oracle XML Schema Processor for C++
29.1.1
Oracle XML Schema for C++ Features
29.1.1.1
Online Documentation
29.1.2
Standards Conformance for Oracle XML Schema Processor for C++
29.2
XML Schema Processor API
29.2.1
Invoking XML Schema Processor for C++
29.3
Running the Provided XML Schema for C++ Sample Programs
30
Using the XPath Processor for C++
30.1
XPath Interfaces
30.2
Sample Programs
31
Using the XML Class Generator for C++
31.1
Accessing the XML C++ Class Generator
31.2
Using the XML C++ Class Generator
31.2.1
External DTD Parsing
31.3
Using the XML C++ Class Generator Command-Line Utility
31.3.1
Input to the XML C++ Class Generator
31.4
Using the XML C++ Class Generator Examples
31.4.1
XML C++ Class Generator Example 1: XML — Input File to Class Generator, CG.xml
31.4.2
XML C++ Class Generator Example 2: DTD — Input File to Class Generator, CG.dtd
31.4.3
XML C++ Class Generator Example 3: CG Sample Program
Part IV Oracle XML Developer's Kit Reference
32
XSQL Pages Reference
32.1
XSQL Configuration File Parameters
32.1
<xsql:action>
32.2
<xsql:delete-request>
32.3
<xsql:dml>
32.4
<xsql:if-param>
32.5
<xsql:include-owa>
32.6
<xsql:include-param>
32.7
<xsql:include-posted-include-posted>
32.8
<xsql:include-request-params>
32.9
<xsql:include-xml>
32.10
<xsql:include-xsql>
32.11
<xsql:insert-param>
32.12
<xsql:insert-request>
32.13
<xsql:query>
32.14
<xsql:ref-cursor-function>
32.15
<xsql:set-cookie>
32.16
<xsql:set-page-param>
32.17
<xsql:set-session-param>
32.18
<xsql:set-stylesheet-param>
32.19
<xsql:update-request>
33
Oracle XML Developer's Kit Standards
33.1
XML Standards Supported by XDK
33.1.1
Summary of XML Standards Supported by XDK
33.1.2
XML Standards for XDK for Java
33.1.2.1
DOM Standard for XDK for Java
33.1.2.1.1
DOM Level 3 Load and Save
33.1.2.1.2
DOM 3.0 Validation
33.1.2.2
XSLT Standard for XDK for Java
33.1.2.3
JAXB Standard for XDK for Java
33.1.2.4
Pipeline Definition Language Standard for XDK for Java
33.2
Character Sets Supported by XDK
33.2.1
Character Sets Supported by XDK for Java
33.2.2
Character Sets Supported by XDK for C
A
XDK for Java XML Error Messages
A.1
XML Parser Error Messages
A.2
DOM Error Messages
A.3
XSLT Error Messages
A.4
XPath Error Messages
A.5
XML Schema Validation Error Messages
A.6
Schema Representation Constraint Error Messages
A.7
Schema Component Constraint Error Messages
A.8
XSQL Server Pages Error Messages
A.9
XML Pipeline Error Messages
A.10
JAXB Error Messages
B
XDK for Java TXU Error Messages
B.1
DLF Error Messages
B.2
TransX Informational Messages
B.3
TransX Error Messages
B.4
Assertion Error Messages
C
XDK for Java XSU Error Messages
C.1
Generic Error Messages
C.2
Query Error Messages
C.3
DML Error Messages
D
Oracle XML Developer's Kit JavaBeans (Deprecated)
D.1
Introduction to XDK JavaBeans
D.1.1
Prerequisites for Using XDK JavaBeans
D.1.2
Standards and Specifications for XDK JavaBeans
D.1.3
XDK JavaBeans Features
D.1.3.1
DOMBuilder
D.1.3.2
XSLTransformer
D.1.3.3
DBAccess
D.1.3.4
XMLDBAccess
D.1.3.5
XMLDiff
D.1.3.6
XMLCompress
D.1.3.7
XSDValidator
D.2
Using XDK JavaBeans: Overview
D.2.1
Using XDK JavaBeans: Basic Process
D.2.1.1
Using the DOMBuilder JavaBean: Basic Process
D.2.1.2
Using the XSLTransformer JavaBean: Basic Process
D.2.1.3
Using the XMLDBAccess JavaBean: Basic Process
D.2.1.4
Using the XMLDiff JavaBean: Basic Process
D.2.2
Running XDK JavaBean Demo Programs
D.2.2.1
Running sample1
D.2.2.2
Running sample2
D.2.2.3
Running sample3
D.2.2.4
Running sample4
D.2.2.5
Running sample5
D.2.2.6
Running sample6
D.2.2.7
Running sample7
D.2.2.8
Running sample8
D.2.2.9
Running sample9
D.2.2.10
Running sample10
D.3
Processing XML with XDK JavaBeans
D.3.1
Processing XML Asynchronously with the DOMBuilder and XSLTransformer Beans
D.3.1.1
Parsing the Input XSLT Stylesheet
D.3.1.2
Processing the XML Documents Asynchronously
D.3.1.2.1
Transforming the XML with the XSLTransformer Bean
D.3.2
Comparing XML Documents with the XMLDiff JavaBean
D.3.2.1
Comparing the XML Files and Generating a Stylesheet
Glossary
Index
Scripting on this page enhances content navigation, but does not change the content in any way.