Contents
- Audience
- Documentation Accessibility
- Structure
- Related Documents
- Conventions
- Oracle Database 10g Release 1 (10.1) New Features in Oracle XML Developer's Kit
- Introducing Oracle XML Developer's Kit
- Overview of Oracle XDK Components
- XDK Functionality Applied to XML Documents
- XML Parsers
- XSL Transformation (XSLT) Processors
- JAXB and C++ Class Generators
- XML Schema Processor
- XDK JavaBeans
- DOMBuilder
- XSLTransformer
- DBAccess
- XMLDiff
- XMLCompress
- XMLDBAccess
- XSDValidator
- Oracle XML SQL Utility (XSU) for Java
- XSQL Pages Publishing Framework
- TransX Utility
- Soap Services
- Using XDK-supported Languages to Generate XML Documents
- Using XSU for Java to Generate XML Documents
- Generating XML from Query Results
- XML Document Structure: Columns Are Mapped to Elements
- XSU Generates the XML Document as a String or DOM Element Tree
- XSU Generates a DTD Based on Queried Table's Schema
- Using Oracle XDK Java Components to Generate XML Documents
- Using Oracle XDK C Components to Generate XML Documents
- Using Oracle XDK C++ Components to Generate XML Documents
- XDK and Application Development Tools
- Browsers That Support XML
- Oracle XML Gateway
- Oracle Data Provider for .NET
- JDeveloper
- User Interface XML (UIX)
- Recommended Books and Web Sites About XML
- Using Oracle XML-Enabled Technology
- Information for Using the XDK
- Using Apache Web Server Instead of the Oracle9i Application Server
- Need for an XML Parser If all the XML Was Created By Programs
- SQL*Loader and Nesting in XML Documents
- Information About Previous Oracle Releases
- Using Oracle Database Version 7 and XML
- Doing Data Transfers to Other Vendors Using XML from Oracle Release 7.3.4
- Using Versions Prior to Oracle8i and Oracle XML Tools?
- XML Standards That Oracle Supports
- B2B Standards and Development Tools that Oracle Supports
- Oracle Corporation's Direction Regarding XML
- Oracle Corporation's Plans for XML Query
- Maximum XML File Sizes
- Limitations on the Size of an XML File
- Size Limit for XML Documents Generated from the Database
- Maximum Size for an XML Document for PL/SQL
- XDK Java Components Specifications
- DOM Specifications
- XSL Transformations Specifications
- Installing XDK Java Components
- XDK Java Components Directory Structure
- XDK Java Components Environment Settings
- UNIX Environment Settings for XDK Java Components
- Windows Environment Settings for XDK Java Components
- XDK Java Components Globalization Support
- XDK Java Components Dependencies
- Verifying the XDK Java Components Version
- XML Parser for Java Overview
- Namespace Support
- XML Parser for Java Validation Modes
- Using DTDs with the XML Parser for Java
- Enabling DTD Caching
- Recognizing External DTDs
- Loading External DTDs from a JAR File
- Checking the Correctness of Constructed XML Documents
- Parsing a DTD Object Separately from an XML Document
- XML Parsers Case-Sensitivity
- Allowed File Extensions in External Entities
- Creating a DOCUMENT_TYPE_NODE
- Standard DTDs That Can be Used for Orders, Shipments, and So On
- About DOM and SAX APIs
- DOM: Tree-Based API
- SAX: Event-Based API
- Guidelines for Using DOM and SAX APIs
- DOM
- SAX
- About XML Compressor
- XML Serialization and Compression
- Running the Sample Applications for XML Parser for Java
- Using XML Parser for Java: DOMParser Class
- Without DTD Input
- With a DTD Input
- Comments on Example 1: DOMSample.java
- XML Parser for Java Example 1: DOMSample.java
- Using XML Parser for Java: DOMNamespace Class
- XML Parser for Java Example 2: Parsing a URL — DOMNamespace.java
- Using XML Parser for Java: SAXParser Class
- XML Parser for Java Example 3: Using the Parser and SAX API (SAXSample.java)
- XML Parser for Java Example 4: (SAXNamespace.java)
- Using the XML Parser for Java
- Using DOM and SAX APIs for Java
- Using the DOM API to Count Tagged Elements
- Creating a Node with a Value to Be Set Later
- Traversing the XML Tree Using XPATH
- Finding the First Child Node Element Value
- Using the XMLNode.selectNodes() Method
- Generating an XML Document from Data in Variables
- Using the DOM API to Print Data in the Element Tags
- Building XML Files from Hash Table Value Pairs
- DOM Exception WRONG_DOCUMENT_ERR on Node.appendChild()
- Getting DOMException when Setting Node Value
- Extracting Embedded XML from a CDATA Section
- Using Character Sets with the XML Parser for Java
- Reading a Unicode XML File
- Writing an XML File in UTF-8
- Writing Parsing XML Stored in NCLOB with UTF-8 Encoding
- Parsing a Document Containing Accented Characters
- Storing Accented Characters in an XML Document
- You Cannot Dynamically Set the Encoding for an Input XML File
- Using System.out.println() and Special Characters
- General Questions About XML Parser for Java
- Including Binary Data in an XML Document
- Displaying an XML Document
- Including an External XML File in Another XML File
- You Do Not Need Oracle9i or Higher to Run XML Parser for Java
- Inserting Characters <, >, ', ", and & into XML Documents
- Invalid Special Characters in Tags
- Parsing XML from Data of Type String
- Extracting Data from an XML Document into a String
- Illegal Characters in XML Documents
- Using Entity References with the XML Parser for Java
- Merging XML Documents
- The XML Parser for Java Does Not Need a Utility to View the Parsed Output
- Support for Hierarchical Mapping
- Support for Ambiguous Content Mode
- Generating an XML Document Based on Two Tables
- Using JAXP
- oraxml: XML Parser for Java Command-line
- XSLT Processor for Java Overview
- Using XSLT Processor for Java
- XSLT Processor for Java Example
- XSLT Command-Line Interface: oraxsl
- XML Extension Functions for XSLT Processing
- XSLT Processor for Java Extension Functions and Namespaces
- Static Versus Non-Static Methods
- XML Parser for Java - XSL Example 1: Static function
- Constructor Extension Function
- XML Parser for Java - XSL Example 2: Constructor Extension Function
- Return Value Extension Function
- XML Parser for Java XSL- XSL Example 3: Return Value Extension Function
- Datatypes Extension Function
- XML Parser for Java - XSL Example 4: Datatype Extension Function
- XSLT Processor for Java Built-In Extensions: ora:node-set and ora:output
- ora:output
- ora:node-set
- Example of Use of Oracle XSL Extensions
- Hints for Using the XSLT Processor for Java and XSL
- Merging Two XML Documents
- Example: Using importNode() from DOM Level 2
- Example: Using adoptNode from DOM Level 3
- Example: demo1.xml
- Example: demo2.xml
- Example: demomerge.xsl
- Extracting Embedded XML Using Only XSLT
- Support of Output Method "html" in the XSL Parser
- Creating an HTML Input Form
- Correct XSL Namespace URI
- XSL Processor Produces Multiple Outputs
- Keeping White Spaces in Your Output
- XDK Utilities That Translate Data from Other Formats to XML
- Multiple Threads Using a Single XSLProcessor and Stylesheet
- Using Document Clones in Multiple Threads
- Disabling Output Escaping Is Supported
- What Is XML Schema?
- What Are DTDs?
- DTD Limitations
- Comparison of XML Schema Features to DTD Features
- XML Schema Processor for Java Features
- Supported Character Sets
- Requirements to Run XML Schema Processor for Java
- XML Schema Processor for Java Usage
- Using the XML Schema API
- XML Schema Processor for Java Sample Programs
- What Is JAXB?
- Replacing the XML Class Generator with JAXB Class Generator
- Unmarshalling, Marshalling, and Validating Using JAXB
- Using JAXB Class Generator
- Features Not Supported in JAXB
- JAXB Class Generator Command-Line Interface
- JAXB Compared with JAXP
- What Is XML SQL Utility (XSU)?
- Generating XML from the Database
- Storing XML in the Database
- Accessing XSU Functionality
- XSU Features
- XSU Dependencies and Installation
- Dependencies of XSU
- Installing XSU
- Where XSU can be Installed
- XML SQL Utility in the Database
- XML SQL Utility in the Middle Tier
- XML SQL Utility in a Web Server
- SQL-to-XML and XML-to-SQL Mapping Primer
- Default SQL-to-XML Mapping
- SQL-to-XML Mapping Against Object-Relational Schema
- Customizing the Generated XML: Mapping SQL to XML
- Source Customizations
- Mapping Customizations
- Post-Generation Customizations
- Default XML-to-SQL Mapping
- How XML SQL Utility Works
- Selecting with XSU
- Queries That XSU Cannot Handle
- Inserting with XSU
- Updating with XSU
- Deleting with XSU
- Using the XSU Command-Line Front End OracleXML
- Generating XML Using the XSU Command Line
- XSU's OracleXML getXML Options
- Inserting XML Using XSU's Command Line (putXML)
- XSU OracleXML putXML Options
- XSU Java API
- Generating XML with XSU's OracleXMLQuery
- Generating XML from SQL Queries Using XSU
- XSU Generating XML Example 1: Generating a String from Table employees (Java)
- How to Run This Program
- XSU Generating XML Example 2: Generating DOM from Table employees (Java)
- Paginating Results: skipRows and maxRows
- Keeping the Object Open for the Duration of the User's Session
- When the Number of Rows or Columns in a Row Is Too Large
- keepObjectOpen Function
- XSU Generating XML Example 3: Paginating Results: (Java)
- Generating XML from ResultSet Objects
- XSU Generating XML Example 4: Generating XML from JDBC ResultSets (Java)
- XSU Generating XML Example 5: Generating XML from Procedure Return Values
- Raising NoRowsException
- XSU Generating XML Example 6: No Rows Exception (Java)
- Storing XML Back in the Database Using XSU OracleXMLSave
- Insert Processing Using XSU (Java API)
- XSU Inserting XML Example 7: Inserting XML Values into All Columns (Java)
- XSU Inserting XML Example 8: Inserting XML Values into Columns (Java)
- Update Processing Using XSU (Java API)
- XSU Updating XML Example 9: Updating a Table Using the keyColumns (Java)
- XSU Updating XML Example 10: Updating a Specified List of Columns (Java)
- Delete Processing Using XSU (Java API)
- XSU Deleting XML Example 11: Deleting Operations Per Row (Java)
- XSU Deleting XML Example 12: Deleting Specified Key Values (Java)
- Advanced XSU Usage Techniques
- XSU Exception Handling in Java
- OracleXMLSQLException Class
- OracleXMLNoRowsException Class
- Hints for Using XML SQL Utility (XSU)
- Schema Structure to use with XSU to Store XML
- Storing XML Data Across Tables
- Using XSU to Load Data Stored in Attributes
- XSU is Case-Sensitive
- XSU Cannot Generate the Database Schema from a DTD
- Thin Driver Connect String Example for XSU
- XSU and COMMIT After INSERT, DELETE, or UPDATE
- Mapping Table Columns to XML Attributes Using XSU
- XSQL Pages Publishing Framework Overview
- What Can I Do with Oracle XSQL Pages?
- Where Can I Obtain Oracle XSQL Pages?
- What Is Needed to Run XSQL Pages?
- Security Considerations for XSQL Pages
- Install Your XSQLConfig.xml File in a Safe Directory
- Disable Default Client Stylesheet Overrides
- Be Alert for the Use of Substitution Parameters
- What's New in XSQL Pages Release 10.1
- Overview of Basic XSQL Pages Features
- Producing XML Datagrams from SQL Queries
- Transforming XML Datagrams into an Alternative XML Format
- Transforming XML Datagrams into HTML for Display
- Setting Up and Using XSQL Pages in Your Environment
- Using XSQL Pages with Oracle JDeveloper
- Setting the CLASSPATH Correctly in Your Production Environment
- Setting Up the Connection Definitions
- Using the XSQL Command-Line Utility
- Overview of All XSQL Pages Capabilities
- Using All of the Core Built-in Actions
- The <xsql:query> Action
- The <xsql:dml> Action
- The <xsql:ref-cursor-function> Action
- The <xsql:include-owa> Action
- Using Bind Variables
- Using Lexical Substitution Parameters
- Providing Default Values for Bind Variables and Parameters
- Understanding the Different Kinds of Parameters
- The <xsql:include-request-params> Action
- The <xsql:include-param> Action
- The <xsql:include-xml> Action
- The <xsql:include-posted-xml> Action
- The <xsql:set-page-param> Action
- The <xsql:set-session-param> Action
- The <xsql:set-cookie> Action
- The <xsql:set-stylesheet-param> Action
- Working with Array-Valued Parameters
- Setting Array-Valued Page or Session Parameters from Strings
- Binding Array-Valued Parameters in SQL and PL/SQL Statements
- Supplying Multi-Valued Parameters on the Command Line
- Supplying Multi-Valued Parameters Programmatically with XSQLRequest
- Conditionally Executing Actions or Including Content with <xsql:if-param>
- Optionally Setting an Error Parameter on Any Built-in Action
- Aggregating Information Using <xsql:include-xsql>
- Including XMLType Query Results
- Handling Posted Information
- Understanding Different XML Posting Options
- Using Custom XSQL Action Handlers
- Description of XSQL Servlet Examples
- Setting Up the Demo Data
- Advanced XSQL Pages Topics
- Using a Custom XSQL Configuration File Name
- Understanding Client Stylesheet-Override Options
- Controlling How Stylesheets Are Processed
- Controlling the Content Type of the Returned Document
- Assigning the Stylesheet Dynamically
- Processing Stylesheets in the Client
- Providing Multiple, UserAgent-Specific Stylesheets
- Using XSQL Configuration File to Tune Your Environment
- Using the FOP Serializer to Produce PDF Output
- Using XSQL Page Processor Programmatically
- Writing Custom XSQL Action Handlers
- Writing your Own Action Handler
- Using Multi-Valued Parameters in Custom XSQL Actions
- Writing Custom XSQL Serializers
- Using a Custom XSQL Connection Manager for JDBC Datasources
- Writing Custom XSQL Connection Managers
- Providing a Custom XSQLErrorHandler Implementation
- Providing a Custom XSQL Logger Implementation
- Formatting XSQL Action Handler Errors
- Displaying Error Information on Screen
- XSQL Servlet Limitations and Hints
- HTTP Parameters with Multibyte Names
- CURSOR() Function in SQL Statements
- Hints for Using the XSQL Servlet
- Specifying a DTD While Transforming XSQL Output to a WML Document
- Writing XSQL Servlet Conditional Statements
- Using a Value Retrieved in One Query in Another Query's Where Clause
- Using the XSQL Servlet with Non-Oracle Databases
- Handling Multi-Valued HTML Form Parameters
- Running the XSQL Servlet with Oracle Release 7.3
- Out Variable is not Supported in <xsql:dml>
- Receiving "Unable to Connect" Errors
- Using Other File Extensions Besides .xsql
- Receiving "No Posted Document to Process" when you Try to Post XML
- XSQL Supports SOAP
- Passing the Connection for XSQL
- Controlling How Database Connections and Passwords Are Stored
- Accessing Authentication Information in a Custom Connection Manager
- Retrieving the Name of the Current XSQL Page
- Resolving Errors When Using the FOP Serializer
- Tuning XSQL Pages for Fastest Performance
- Using XSQL with Other Connection Pool Implementations
- Including XML Documents Stored in CLOBs in Your XSQL Page
- Combining JavaServer Pages and XSQL in the Same Page
- Choosing a Stylesheet Based on Input Arguments
- Sorting the Result Within the Page
- Using Pipeline Definition Language
- Example of a Pipeline Definition Language Application
- The Command-line Pipeline Tool orapipe
- Accessing Oracle XDK JavaBeans
- Database Connectivity
- XDK JavaBeans Overview
- DOMBuilder
- XSLTransformer
- DBAccess
- XMLDiff
- XMLCompress
- XMLDBAccess
- XSDValidator
- DOMBuilder JavaBean
- Use for Asynchronous Parsing in the Background
- DOMBuilder JavaBean Usage
- XSLTransformer JavaBean
- XSLTransformer JavaBean: Regenerating HTML Only When Data Changes
- How to Use XSLTransformer JavaBean
- DBAccess JavaBean
- DBAcess JavaBean Usage
- XMLDiff JavaBean
- XMLCompress JavaBean
- XMLDBAccess JavaBean
- XSDValidator JavaBean
- JavaBean Examples
- Installing the JavaBean Examples
- XMLDiffSample.java
- XSDValidatorSample.java
- What Is SOAP?
- What Are UDDI and WSDL?
- What Is Oracle SOAP?
- How Does Oracle SOAP Work?
- Oracle SOAP and IDAP
- What Is a SOAP Client?
- SOAP Client API
- What Is a SOAP Server?
- Oracle SOAP Security Features
- SOAP Transports
- Administrative Clients
- SOAP Request Handler
- SOAP Provider Interface and Providers
- Provider Interface
- Provider Deployment Administration
- SOAP Services Provided
- Advantages of XML Over EDI
- SOAP Example
- XML Features Used in the SOAP Example
- Prerequisite Software for the SOAP Example
- How Is the SOAP Example Implemented?
- Setting Up the Tables and the SOAP Service
- Requesting SOAP Service
- Initializing the MessageDispatcher Process
- Compressing the XML Document
- Creating a SOAP Message
- Enqueuing the XML Document
- Listing of the Java Source File inserItemServlet.java
- Queuing Messages with AQ
- XML Compression
- Listing of the Java Source File MessageBroker.java
- Summary of the SOAP Example
- Overview of the TransX Utility
- Primary TransX Utility Features
- Simplified Multilingual Data Loading
- Simplified Data Format Support and Interface
- Loading Dataset in the Standard XML Format
- Handling Existing Data
- Other TransX Utility Features
- Installing TransX Utility
- Dependencies of TransX
- Installing TransX Using the Oracle Installer
- Installing TransX Downloaded from OTN
- To Use the TransX Front-end or Its Java API:
- TransX Utility Command-Line Syntax
- TransX Utility Command-Line Examples
- TransX Utility Command-line Parameters
- TransX Utility Command-line Options
- Sample Code for TransX Utility
- Specifications of XDK C/C++ Components
- What Are the XDK C Components
- Installing the C Components of XDK
- Setting the UNIX Environment
- Command Line Environment Setup
- Setting the Windows Environment
- Environment for Command Line Usage
- Using the XDK C Components with Visual C++
- Globalization Support for the C XDK Components
- What Is the Unified C API for XDK and Oracle XML DB?
- Using DOM for XDK
- Loading an XML Document with the C API
- Data Encoding of XML Documents for the C API
- NULL-Terminated and Length-Encoded C API Functions
- Error Handling
- Installing the C API
- Using OCI and the C API
- XML Context
- Creating XMLType Instances on the Client
- XML Data on the Server
- XMLType Functions and Descriptions
- OCI Examples
- Using the XML Parser for C
- Memory Allocation
- Thread Safety
- Data Types Index
- Error Message Files
- XML Parser for C Calling Sequence
- Parser Calling Sequence
- XML Parser for C Default Behavior
- DOM and SAX APIs Compared
- Using the SAX API
- SAX Callback Structure
- Command Line Usage
- Writing C Code to Use Supplied APIs
- Using the Sample Files
- XVM Processor
- XVM Usage Example
- Command-Line Access of the XVM Processor
- Accessing XVM Processor for C
- XSL Processor
- XSL Processor Usage Example
- XPath Processor Usage Example
- Command Line Usage of the XSL Processor
- Accessing Oracle XSL Processor for C
- Using the Demo Files Included with the Software
- Building the C Demo Programs for XSLT
- Oracle XML Schema Processor for C
- Oracle XML Schema for C Features
- Standards Conformance
- XML Schema Processor for C: Supplied Software
- Invoking XML Schema Processor for C
- XML Schema Processor for C Usage Diagram
- How to Run XML Schema for C Sample Programs
- Installation of the XDK C++ Components
- Getting the C++ Components of XDK
- Libraries in the UNIX Environment for C++ XDK
- Setting the UNIX Environment for C++
- Command Line Environment Setup
- Windows Environment Setup for C++ XDK
- Environment for Command Line Usage on Windows
- Setting the Windows Environment for C++ XDK
- Using XDK C++ Components with Visual C++
- What is the Unified C++ API?
- Accessing the C++ Interface
- OracleXML Namespace
- OracleXML Interfaces
- Ctx Namespace
- OracleXML Datatypes
- Ctx Interfaces
- IO Namespace
- IO Datatypes
- IO Interfaces
- Tools Package
- Tools Interfaces
- Error Message Files
- Introduction to Parser for C++
- Dom Namespace
- DOM Datatypes
- DOM Interfaces
- DOM Traversal and Range Datatypes
- DOM Traversal and Range Interfaces
- Parser Namespace
- GParser Interface
- DOMParser Interface
- SAXParser Interface
- SAX Event Handlers
- Thread Safety
- XML Parser for C++ Usage
- XML Parser for C++ Default Behavior
- C++ Sample Files
- Accessing XSLT for C++
- Xsl Namespace
- Xsl Interfaces
- XSLT for C++ DOM Interface Usage
- Invoking XSLT for C++
- Command Line Usage
- Writing C++ Code to Use Supplied APIs
- Using the Sample Files Included with the Software
- Oracle XML Schema Processor for C++
- Oracle XML Schema for C++ Features
- Online Documentation
- Standards Conformance
- XML Schema Processor API
- Invoking XML Schema Processor for C++
- Running the Provided XML Schema for C++ Sample Programs
- XPath Interfaces
- Sample Programs
- Accessing XML C++ Class Generator
- Using XML C++ Class Generator
- External DTD Parsing
- Error Message Files
- XML C++ Class Generator Usage
- Input to the XML C++ Class Generator
- Using the XML C++ Class Generator Examples
- XML C++ Class Generator Example 1: XML — Input File to Class Generator, CG.xml
- XML C++ Class Generator Example 2: DTD — Input File to Class Generator, CG.dtd
- XML C++ Class Generator Example 3: CG Sample Program
- XSU PL/SQL API
- Generating XML with DBMS_XMLQuery()
- XSU Generating XML Example 1: Generating XML from Simple Queries (PL/SQL)
- XSU Generating XML Example 2: Printing CLOB to Output Buffer
- XSU Generating XML Example 3: Changing ROW and ROWSET Tag Names
- XSU Generating XML Example 4: Using setMaxRows() and setSkipRows()
- Setting Stylesheets in XSU (PL/SQL)
- Binding Values in XSU (PL/SQL)
- XSU Generating XML Example 5: Binding Values to the SQL Statement
- Storing XML in the Database Using DBMS_XMLSave
- Insert Processing Using XSU (PL/SQL API)
- XSU Inserting XML Example 6: Inserting Values into All Columns (PL/SQL)
- XSU Inserting XML Example 7: Inserting Values into Certain Columns (PL/SQL)
- Update Processing Using XSU (PL/SQL API)
- XSU Updating XML Example 8: Updating XML Document Key Columns (PL/SQL)
- XSU Updating XML Example 9: Specifying a List of Columns to Update (PL/SQL)
- Delete Processing Using XSU (PL/SQL API)
- XSU Deleting XML Example 10: Deleting Operations for Each Row (PL/SQL)
- XSU Example 11: Deleting by Specifying the Key Values (PL/SQL)
- XSU Deleting XML Example 12: Reusing the Context Handle (PL/SQL)
- XSU Exception Handling in PL/SQL