Book description
Written by members of the Oracle XML group, this is a must-have reference for all IT managers, DBAs, and developers who want to learn the best practices for using XML with Oracle’s XML-enabled products. Includes real-world case studies based on the authors’ experience managing Oracle’s XML Discussion Forum--a community of 20,000+ XML component users.
Table of contents
- Cover Page
- Oracle Database 10g XML & SQL: Design, Build & Manage XML Applications in Java, C, C++ & PL/SQL
- Copyright Page
- Contents
- Introduction
-
Part I Oracle and the XML Standards
- 1 Introducing XML
-
2 Accessing XML with DOM, SAX, JAXB, and StAX
- Parsing and Binding an XML Document
- Accessing XML Using the DOM
- Introducing the DOM APIs
- DOM Level 2
- DOM Level 3
- Oracle DOM APIs in C
- Accessing XML with SAX
- SAX Level 1 and Level 2
- Using SAX APIs
- Oracle SAX APIs in C
- Accessing XML with Java Binding
- The Input XML Schema
- Generating XML Classes
- Binding to an XML Instance
- XML Document Created by Java Application
- Accessing XML with StAX
- Best Practices
- DTD Caching
- Skipping the <!DOCTYPE> Tag
- Cutting and Pasting Across Documents
-
3 Transforming XML with XSLT and XPath
- Programmatic Invocation of the XSLT Processor
- Navigating XML with XPath
- XPath Expressions
- Introducing XSLT Stylesheets
- XSL Templates
- The XSLT Process Model
- <xsl:apply-imports>
- <xsl:apply-templates>
- Introducing XSLT 2.0
- Grouping
- Function Definitions
- Multiple Result Documents
- Temporary Trees
- The Oracle XSLT Extensions
- Useful Built-in Java Oracle XSLT Extensions
- The XSLT Virtual Machine
- XSLT and the Database
- Best Practices
- Tuning Tips for XSLT
- The document() Function in XSLT
- Improving the Overall Performance of XSLT for Multiple Transformations
-
4 Validating XML with DTDs and XML Schemas
- Introducing the DTD
- Validating XML Against DTDs
- Introducing the XML Schema Language
- Simple and Complex Datatypes
- Validating XML with XML Schemas (XSDs)
- XML Document Models and the Database
- Mapping DTDs to Database Schemas
- Mapping XML Documents to a Database Schema
- Supported Database Mappings
- Best Practices
- Designing Your Schema
- Elements vs. Attributes
- Designing Element and Attribute Names
- Loading External DTDs from a JAR File
-
5 XML Operations with XQuery
- Introducing XQuery
- Basics
- Expressions
- Query Prolog
- Introducing XQueryX
- The Oracle XQuery Engine
- Setting Up the Environment
- Testing Your Installation
- Querying XML Documents
- Running in Interactive Mode
- Querying XML from the Command Line
- Querying XML with XQueryX
- XQuery and the Oracle Database
- XQuery API for Java
- Querying XML in the Database
- Best Practices
- XQuery Versus XSLT 2.0
- XQuery Versus SQL/XML
-
6 XML Messaging and RPC with SOAP
- Introducing SOAP
- Literal, Encoded SOAP Messages
- One-Way and Two-Way SOAP Messaging and RPCs
- Using SOAP and the Oracle XDK
- SOAP Client
- SOAP Server
- SOAP Handlers
- Using SOAP and the Oracle Database
- Oracle Streams AQ Support
- AQ Servlet
- Enqueuing and Dequeuing Messages
- Using SOAP from PL/SQL
- Best Practices
- SOAP vs. JAX-RPC
- SOAP vs. JMS
-
7 Putting It All Together with XML Pipeline, JSPs, and XSQL
- Introducing the XML Pipeline Processor
- Multistage XML Processing
- Processing XML with JSPs and XML Beans
- DOMBuilder Bean
- XSLTransformer Bean
- DBAccess Bean
- XMLDBAccess Bean
- XMLDiff Bean
- XMLCompress Bean
- XSDValidator Bean
- Using XML Beans in JSPs
- Introducing the XSQL Page Publishing Framework
- The XSQL Pages
- Installing the XSQL Servlet
- Submitting Queries to the XSQL Servlet
- Transforming the XSQL Output with Stylesheets
- Inserting XML Documents with the XSQL Servlet
- Updating Data with the XSQL Servlet
- Using JSPs and XSQL Pages
- Best Practices
- Creating a More Secure Connection
- When You Need Simple JSP XML Functionality
-
Part II Oracle XML Management for DBAs
-
8 Getting Started with the Oracle XML Database
- A Brief History of XML Support in Oracle Database
- Setting Up the Oracle XML Database
- Installing Oracle XML Database
- Installing the Sample Database Schemas
- Creating a User to Run the XMLType Samples
- Setting Up a WebDAV Folder
- What Is the Oracle XML Database?
- XMLType
- XMLType Views
- SQL/XML Processing
- Oracle XML DB Repository
- Oracle Text
- Oracle Advanced Queuing
- XML Database and Standards
- Designing the XML Database
- How to Store XML Data
- How to Retrieve and Generate XML
- How to Search XML Data
- How to Design XML Database for Web Applications
- How to Design XML Database for Messaging Application
- Summary
-
9 Storing XML Data
- Storing XML Documents in CLOB XMLTypes
- Updating and Querying CLOB XMLTypes
- Dealing with Character Encoding for CLOB XMLTypes
- Storing XML Documents in XML Schema–based XMLTypes
- XML Schema Registration
- XML Schema Annotations
- XML Data Loading
- XML Schema Validation
- Oracle XML DB Repository
- Storing XML Documents in Relational Tables
- XML SQL Utility
- TransX Utility
- DBMS_XMLSTORE
- Using External Tables
- Schema Evolution
- Best Practices
- Handling Document Type Definitions
- Creating XML Schema–based XMLTypes
- Specifying Namespaces
- Summary
-
10 Generating and Retrieving XML
- Generating XML from SQL Data with SQL XML Functions
- XMLELEMENT() and XMLATTRIBUTES()
- SYS_XMLGEN()
- XMLFOREST()
- XMLSEQUENCE()
- XMLCONCAT()
- XMLAGG()
- SYS_XMLAGG()
- XMLCOLATTVAL()
- UPDATEXML()
- Generating XML from SQL Data with DBM XMLGEN
- Canonical Mapping
- Print Formatting
- Data Fetching
- Using REF Cursor
- Using Bind Variables
- Dealing with Special Characters
- Retrieving Using XMLType and SQL/XML Functions
- extract() and existsNode()
- EXTRACTVALUE()
- Generating XML Schemas
- Creating XMLType Views
- Processing XML
- Dealing with XML Fragments
- DOM Editing
- Best Practices
- Summary
-
11 Searching XML Data
- XPath-Based Searches
- Searching the XML Document Using XPath
- How XPath-Based Searching Works
- Optimizing XPath-Based Queries Using Indexes
- Full Text Search
- Searching XML Using Oracle Text
- How Oracle Text Search Works
- Optimizing Oracle Text Searches
- Advanced Text Searches
- Best Practices
- When to Use XPath-Based Searches
- When to Use Oracle Text Searches
- When to Use Oracle Text Partitioned Indexes
- Summary
- 12 Managing the Oracle XML Database
-
8 Getting Started with the Oracle XML Database
-
Part III Oracle XML for Java Developers
-
13 Getting Started with Oracle XML and Java
- The Oracle XDK Java Libraries
- xmlparserv2.jar
- xml.jar
- xschema.jar
- oraclexsql.jar and xsqlserializers.jar
- xmlcomp.jar, xmlcomp2.jar, xmldemo.jar, and jdev-rt.zip
- xsu12.jar
- classgen.jar
- xdb.jar
- xmlmesg.jar
- transx.zip
- orai18n.jar
- classes12.jar and ojdbc14.jar
- The JDK Environment
- Setting Up the JDK Environment
- Using the XDK with Oracle JDeveloper
- Setting Up an XDK Environment
- Setting Up a Database Connection
- Creating an XDK Component Palette
- Summary
-
14 Building an XML-Powered Web Site
- An XML-Enabled FAQ Web Site
- Designing the Framework
- Creating the FAQ Database
- Designing the FAQ Schema
- Creating a Database User
- Registering the FAQ Schema
- Loading the FAQs
- Connecting the FAQ Web Site to the XML Database
- Building the XSQL Home Page
- Creating the FAQ List
- Filtering the FAQ List
- Adding Pagination to the FAQ Listing
- Displaying the FAQ and Answers
- Creating a Glossary
- Creating the Glossary Schema
- Loading the Glossary
- Linking to the Glossary
- Displaying the Glossary Definitions
- Searching the FAQs
- Summary
- 15 Creating a Portal Site with XML and Web Services
-
16 Developing an XML Gateway Application with SOAP and AQ
- Designing the Framework
- A Conventional Solution
- A Stream-Based One-Step Solution
- Interfacing to the Internet
- Creating the Framework
- Creating the Database Schema
- Creating the XML Purchase Orders
- Creating the XML Messaging Gateway
- Creating the Messaging Schema
- Creating the AQ Agent and Queue
- Creating the AQ PO Process Procedures
- Extending the Framework
- Extending the Application’s Functionality
- Submitting SOAP Messages
- Handling of xsi:types in POs
- Generating an E-Mail Confirmation
- Summary
-
17 Developing XML-Based Reusable Components
- Designing the Framework
- Simple Pipeline Examples
- SAX Parsing and Printing
- Parsing and Checking for Differences
- Building the Pipeline Application
- The XSDSchemaBuilder Process
- The XSDValProcess Process
- The XSDConditionalValProcess Process
- Running the Pipeline Application
- Processing an Invalid Document
- Processing a Document That Is Valid Against the Remote Schema
- Processing an Invalid XML Document with Consistent Local and Remote XSDs
- Processing an Invalid Document Against Both Schemas with Change
- Summary
-
13 Getting Started with Oracle XML and Java
-
Part IV Oracle XML for C Developers
-
18 Getting Started with Oracle XML and C
- The Oracle XDK C Libraries
- libxml10.a, libxml10.so, and oraxml10.dll
- libcore10.a, libcoresh10.so, and libcore10.dll
- libnls10.a and oranls10.dll
- libunls10.a and oraunls10.dll
- Setting Up Your C XML Development Environment
- UNIX Setup of XDK C Components
- Checking Your C Run-Time Environment
- Setting Up Your C Compile-Time Environment
- Windows Setup of XDK C Components
- Checking Your C Run-Time Environment
- Setting Up Your C Compile-Time Environment
- Confirming Your C Compile-Time Environment
- Setting Up Microsoft Visual C/C++
- Summary
- 19 Building an XML-Managed Application
-
20 Build an XML Database OCI Application
- Designing the Framework
- Setting Up the OCI Application Environment
- The OCI XML Application Headers
- The OCI XML Application Libraries
- The OCI XML Application Make Files
- The Update Application
- Initializing the OCI Application
- Retrieving a DOM of the Record List via OCI
- Performing Unified DOM Operations
- Running the xmlupdate Application
- Summary
- 21 Create an XML-Configured High-Performance Transformation Engine
-
18 Getting Started with Oracle XML and C
-
Part V Oracle XML for C++ Developers
-
22 Getting Started with Oracle XML and C++
- The Oracle XDK C++ Libraries
- libxml10.a, libxml10.so, and libxml10.dl
- libcore10.a, libcoresh10.so, and libcore10.dll
- libnls10.a and oranls10.dll
- libunls10.a and oraunls10.dll
- Setting Up Your C++ XML Development Environment
- UNIX Setup of XDK C++ Components
- Checking Your C++ Run-Time Environment
- Windows Setup of XDK C++ Components
- Checking Your C++ Run-Time Environment
- Setting Up Your C++ Compile-Time Environment
- Setting Up Microsoft Visual C/C++
- Summary
-
23 Build an XML Database OCI C++ Application
- Designing the Framework
- Setting Up the C++ OCI XML Application Environment
- The OCI XML Application Headers
- The OCI and C++ XML Application Libraries
- Creating the C++ OCI Helper Class
- Initializing the C++ Database XML Application
- Handling OCI Errors
- Connecting to the Database
- Disconnecting from the Database and Cleaning Up
- Creating the C++ Query Application
- Selecting into an XMLType
- Initializing the XDK for XMLType XOB Access
- Querying an XMLType with the C++ XDK APIs
- Running the Application
- Summary
-
24 Building an XML Data-Retrieval Application
- Designing the Framework
- Building the cppextract Application
- Creating the Generic Functions
- Instantiating the Generic Functions with cppextractForce
- Creating the Main Program with cppextractMain
- Running the cppextract Application
- Running cppextract in Extraction Mode
- Running cppextract in Splitter Mode
- Extending the Framework
- An XML Document Pruning Use Case for cppextract
- A Content-Management Use Case for cppextract
- Summary
-
22 Getting Started with Oracle XML and C++
-
Part VI Oracle XML for PL/SQL Developers
- 25 Getting Started with Oracle XML and PL/SQL
-
26 Building PL/SQL Web Services
- Building and Publishing the First Database Web Service
- Setting Up the Database Schema
- Publishing the PL/SQL Web Service Using Oracle JDeveloper 10g
- Calling the Web Service from Clients
- Debugging the Web Service
- Consuming a Web Service Within the Oracle Database
- Constructing SOAP Messages
- Sending Out SOAP Messages Using UTL_HTTP
- Extending the Application
- When to Build Web Services in the Database Server
- Setting Up the Security Protection
- Building Different Types of Web Services
- Summary
-
27 Extending PL/SQL XML Functionality with Java
- Creating the Java Stored Procedure to Process XML
- Implementing the Java Code
- Deploying the Java Code to the Oracle JVM
- Creating the PL/SQL Specification
- Running the Java Stored Procedure
- Simplifying Deployment of Java Stored Procedures Using Oracle JDeveloper 10g
- Processing XML in the Oracle JVM
- Resolving URL References
- SAX XML Processing
- Developing Your Own Java Stored Procedures
- When to Use Java Stored Procedures
- How to Debug Java Stored Procedures
- Summary
- 28 Putting It All Together
-
A XML Standards Bodies and Open Specifications
- Introducing the W3C Specifications
- W3C XML Specification
- W3C DOM Specification
- SAX Specification
- W3C Namespace Specifications
- W3C XML Schema Specification
- W3C XML Query Specification
- W3C XSLT and XPath Specification
- W3C XML Pipeline Definition Language Specification
- W3C XML Protocol
- Java Community Process Specifications
- Sun JAXB Specification
- Sun JAXP Specification
- Sun StAX Specification
- ISO SQL/XML Specification
- Oracle Technical Resources
- Other Helpful Resources
- Glossary
- Index
- International Contact Information
Product information
- Title: Oracle Database 10g XML & SQL: Design, Build, & Manage XML Applications in Java, C, C++, & PL/SQL
- Author(s):
- Release date: July 2004
- Publisher(s): McGraw Hill Computing
- ISBN: 9780071705349
You might also like
book
Oracle Database 11g PL/SQL Programming
Design Feature-Rich PL/SQL Applications Deliver dynamic, client/server PL/SQL applications with expert guidance from an Oracle programming …
book
Oracle Database 11g Building Oracle XML DB Applications
Master the XML Programming Features in Oracle Database 11 g Develop, debug, and administer data-backed XML …
book
Expert Oracle JDBC Programming
JDBC is the most commonly used API in Java to access and manipulate data in a …
book
Building Oracle XML Applications
This rich and detailed look at the many Oracle tools that support XML development shows Java …