Oracle8i Application Developer's Guide - XML
Release 3 (8.1.7)

Part Number A86030-01

Library

Solution Area

Index

Go to next page

Contents

Title and Copyright Information

Send Us Your Comments

Preface

Part I Introducing Oracle XML

1 Introduction to Oracle XML

Introduction
Oracle XML in Action: Applications
Authored XML or Generated XML
Oracle XML Applications
Roadmap of this Manual
Oracle XML
What is Oracle XML?
Oracle XML Components
When to Use Oracle XML Components: How They Work Together
Oracle8i XML Features
Why Use Oracle8i XML?
The Oracle Suite of Integrated Tools
Oracle JDeveloper 3.2 and Oracle Business Objects for Java (BC4J)
Internet File System (iFS)
Portal (webDB)
Oracle Exchange
Other Initiatives
Indexing and Searching XML Documents with Oracle interMedia Text
Messaging Hubs and Middle Tier Components
Back-End to Database to Front-End Integration Issues
Oracle XML Parser Provides the Two Most Common APIs: DOM and SAX
Writing Custom XML Applications
Loading XML into a Database
Storing and Extracting XML Data from Oracle8
Oracle8i: Object-Relational Infrastructure
Oracle8i: Extensible Architecture
Oracle8i Supports Native Java
XML in the Database: Generated and Authored XML
Generated XML
XML Example 2: XML Document Produced from Generic Mapping
XML Storage Options
LOB Storage: Stores "Authored XML" Documents
Object-Relational Storage: Stores "Generated XML" Documents
Storage of Structured XML Documents ("Generated XML")
XML-SQL Utility Stores XML Data By Preserving XML Structure
XSU Example: Inserting XML Document into Database
XML Document Object-Relational Storage: Advantages
XML Document Object-Relational Storage: Disadvantages
 
Storage of Unstructured XML Documents ("Authored XML")
interMedia Text Example: Searching Text and XML Data Using CONTAINS
Use a Hybrid Storage Approach for Better Mapping Granularity
A Hybrid Approach Allows for User-Defined Granularity for Storage
Hybrid Storage Advantages
SQL Example: Retrieving the First Line Item Numbers
extractNode and existsNode Operators
SQL Example: Retrieving All Documents With Line Item = 100
Generated XML: XML Transformations
Transforming Query Results Using XSLT
Indexing and Querying Transformations
Indexing Approaches
XML Schemas and Mapping of Documents
XMLSchema Example 1: Defining a Simple Data Type
"Authored XML": Storing XML Documents as Documents
Generating and Storing XML Documents
Combining XML Documents and Data Using Views
How to Generate a Web Form's Infrastructure
XML-SQL Utility Storage
General XML Design Issues for Data Exchange Applications
Use a Hybrid Storage Approach for Better Mapping Granularity
A Hybrid Approach Allows for User-Defined Granularity for Storage
Hybrid Storage Advantages
Sending XML Data from a Web Form to a Database
Communicating XML Documents Among Applications
Oracle XML Samples and Demos
What's Needed to Run Oracle XML Components
XML Technical Support is Free on OTN

2 Business Solutions Using Oracle XML

Applications that Use Oracle XML
Content and Document Management
Customizing Presentation of Data
Scenario 1. Content and Document Management: Creating and Publishing Composite Documents Using Oracle XML
Scenario 2. Content and Document Management: Delivering Personalized Information
Scenario 3. Content Management: Using XML to Customize Data Driven Applications
Business-to-Business/Consumer (B2B/B2C) Messaging
Business-to-Business/Consumer (B2B/B2C) Messaging With XML: Scenarios
Scenario 4. B2B Messaging: Online Multivendor Shopping Cart Design Using XML
Scenario 5. B2B Messaging: Using XML and Oracle Advanced Queueing for an Internet Application
Scenario 6. B2B Messaging: Using XML and Oracle Advanced Queueing Messaging for Multi-Application Integration

3 Oracle XML Components and General FAQs

Oracle XML Components: Overview
Development Tools and Other XML-Enabled Oracle8i Features
XDK for Java
XDK for C
XDK for C++
XDK for PL/SQL
XML Parsers
XSL Transformation (XSLT) Processor
XML Class Generator
XML Transviewer Java Beans
Oracle XSQL Page Processor and Servlet
Servlet Engines that Support XSQL Servlet
JavaServer Pages (JSP) Platforms that Support XSQL Servlet
Oracle XML-SQL Utility (XSU)
Generating XML from Query Results
XML Document Structure: Columns Are Mapped to Elements
Oracle interMedia Text
Tools for Building Oracle XML Applications
Oracle XML Components: Generating XML Documents
Using Oracle XML Components to Generate XML Documents: Java
Using Oracle XML Components to Generate XML Documents: C
Using Oracle XML Components to Generate XML Documents: C++
Using Oracle XML Components to Generate XML Documents: PL/SQL
Frequently Asked Questions (FAQs) - General XML
How do I Start Writing XML?
XML and Required Oracle Tools
Collecting Purchase Orders in XML: Creating an RFP in XML?
Portability: Using Parsers from Different Vendors?
Browsers that Support XML
XML Support for Oracle 8.0.x
EDI and XML
What Oracle Tools Support B2B Exchanges?
Oracle's Direction Regarding XML?
XML and BLOB (inside XML message)
Maximum CLOB Size?
Oracle 7.3.4: Data Transfers to Other Vendors Using XML
What Do I Need to Insert Data Into Tables Via XML?
Building an XML Application: Software Needed?
Standard DTDs to Use for Orders, Shipment,...
DTD to Database Schema
Schema Map to XML
XML in the Database: Performance
Faster Record Retrievals
Translating From Other Formats to XML
XML File Size Limitations
Maximum Size XML Document?
Generating Database Schema From a Rational Rose Tool
Further References
Other XML FAQs
Recommended XML/XSL Books

Part II XML-SQL Utility (XSU): Storing and Retrieving XML From the Database

4 Using XML-SQL Utility (XSU)

Accessing XML-SQL Utility
Using XML-SQL Utility (XSU)
When to Use XML-SQL Utility (XSU)
Where Can You Run XML-SQL Utility (XSU)?
Running XML-SQL Utility in the Database
Running XML-SQL Utility in the Middle Tier
Running XML-SQL Utility in a Web Server
What Does XML-SQL Utility Work With?
XSU Features
XSU Usage Guidelines
Mapping Primer
Mapping: Generating XML from SQL
Mapping: Storing SQL from XML
Client-Side: XSU Command Line Usage
Generating XML with XSU: getXML
Storing XML: putXML
XML-SQL Utility for Java
Generating XML
XSU: Basic Generation of XML From SQL Queries
XSU Example 1: Generating a String From emp table
XSU Example 2: Generating DOM From emp table (Java)
Paginating Results: skipRows and maxRows
XSU Example 3. Paginating Results: Generating an XML Page When Called (Java)
Generating XML from ResultSet Objects
XSU Example 4: Generating XML from JDBC ResultSets (Java)
XSU Example 5: Generating XML from Procedure Return Values (REF CURSORS) (Java)
Raising No Rows Exception
XSU Example 6: No Rows Exception (Java)
Storing XML
Insert Processing
XSU Example 7: Inserting XML Values into all Columns (Java)
XSU Example 8: Inserting XML Values into Only Certain Columns (Java)
Update Processing
XSU Example 9: Updating Using the keyColumns (Java)
XSU Example 10: Updating a Specified List of Columns (Java)
Delete Processing
XSU Example 11: Deleting Operations Per ROW (Java)
XSU Example 12: Deleting Specified Key Values (Java)
Using the XML-SQL Utility for PL/SQL
Generating XML with DBMS_XMLQuery
XSU Example 13: Generating XML From Simple Queries (PL/SQL)
XSU Example 13a: Printing CLOB to Output Buffer
XSU Example 14: Changing ROW and ROWSET Tag Names (PL/SQL)
XSU Example 15: Paginating Results Using setMaxRows() and setSkipRows()
Setting Stylesheets in XSU (PL/SQL)
Binding Values in XSU (PL/SQL)
XSU Example 15a: Binding Values to the SQL Statement
Storing XML in the Database Using DBMS_XMLSave
XSU Insert Processing in PL/SQL
XSU Example 16: Inserting Values into All Columns (PL/SQL)
XSU Example 17: Inserting Values into Only Certain Columns (PL/SQL)
Update Processing
XSU Example 18: Updating an XML Document Using keyColumns(PL/SQL)
XSU Example 19: Specifying a List of Columns to Update (PL/SQL)
Delete Processing
XSU Example 20: Deleting Operations per ROW (PL/SQL)
XSU Example 21: Deleting by Specifying the Key Values (PL/SQL)
XSU Example 22: ReUsing the Context Handle (PL/SQL)
Advanced Usage Techniques
Exception Handling in Java
Exception Handling in PL/SQL
Frequently Asked Questions (FAQs): XML-SQL Utility (XSU)
What Schema Structure to Use With XSU to Store XML?
Storing XML Data Across Tables
Using XML-SQL Utility to Load XML Stored in Attributes
XML-SQL Utility is Case Sensitive: Use ignoreCase or...
Generating Database Schema from a DTD
Using XML-SQL Utility Command Line
Does XML-SQL Utility Commit After INSERT, DELETE, UPDATE?

Part III Managing Content and Documents with XML

5 Using interMedia Text to Search and Retrieve Data from XML Documents

Introducing interMedia Text
Overview of interMedia Text
Installing interMedia Text
interMedia Text Users and Roles
Querying with the CONTAINS Operator
CONTAINS Example 1
CONTAINS Example 2: Using Score Operator with a Label
CONTAINS Example 3: Using the SCORE Operator
Assumptions Made in this Chapter's Examples
Using interMedia Text to Search XML Documents
interMedia Text Indexes
Using the CTX_DDL PL/SQL Package
Listing the Required Roles for Each CTX Package
CTX_DDL Procedures
XML_SECTION_GROUP Attribute Sections
AUTO_SECTION_GROUP
Creating an interMedia Text Index
1 Determine the Role you Need and GRANT ctxapp Privilege
2 Set up Data, if Not Already Available
3 Creating an interMedia Text Index in Order to use CONTAINS
5 Parameterizing the Preference
Creating a Preference and Correctly Parameterizing it
interMedia Text Example 2: Creating a Section Group with AUTO_SECTION_GROUP
interMedia Text Example 3: Creating a Section Group with XML_SECTION_GROUP
Further Examples for Creating Section Group Indexes?
Building Query Applications with interMedia Text
Text Query Expression
interMedia Text Example 4: Using Text Query Expressions
Querying with Attribute Sections
Constraints for Querying Attribute Sections
Querying SECTION GROUPS
Distinguishing Tags Across DocTypes
Specifying Doctype Limiters to Distinguish Between Tags
Doctype-Limited and Unlimited Tags in a Section Group
Procedure for Building a Query Application with interMedia Text
Using Table CTX_OBJECTS and CTX_OBJECT_ATTRIBUTES View
1 Create a Preference
2 Set the Preference's Attributes
2.1 Using CTX_DDL.add_zone_section
2.2 Using CTX_DDL.Add_Attr_Section
2.3 Using CTX_DDL.add_field_section
2.4 Using CTX_DDL.add_special_section
2.5 Using CtX_DDL.Add_Stop_Section
3 Creating Your Query Syntax
interMedia Text Example 4: Querying a... Document
interMedia Example 5: Creating an Index and Performing a Text Query
Creating Sections in XML Documents that are Document Type Sensitive
Repeated Sections
Overlapping Sections
Nested Sections
Presenting the Results of Your Query
Frequently Asked Questions (FAQs): interMedia Text
Inserting XML data and Searching with interMedia Text
interMedia Text: Handling Attributes
CTXSYS/CTXSYS id and password
Querying an XML Document
interMedia Text and Oracle8i
interMedia XML Indexing
Searching CLOBs Using interMedia Text
interMedia Text Role (ORA-01919: role 'CTXSYS' does not exist)
Searching XML Documents and Returning a Zone
Storing an XML Document in CLOB: Using interMedia Text
Loading XML Documents into the Database and Searching with interMedia Text
Searching XML with WITHIN Operator
interMedia Text and XML
interMedia Text and XML: Add_field_section
interMedia and XML Support
Oracle8i Lite 4.0.0.2.0: interMedia Text is Not Supported
SQL in interMedia context
XML and interMedia Text
Creating an Index on Three Columns?
Searching Structured and Unstructured Data

6 Customizing Content with XML: Dynamic News Application

Introduction to the Dynamic News Application
Dynamic News Main Tasks
Overview of the Dynamic News Application
Dynamic News SQL Example 1: Item Schema, nisetup.sql
Dynamic News Servlets
How Dynamic News Works: Bird's Eye View
Static Pages
Semi-Dynamic Pages
Dynamic Pages
Personalizing Content
1 Get End-User Preferences
From a Client-Side Cookie
Querying the Database
2 Pull News Items from the Database
3 Combine News Items to Build a Document
4 Customizing Presentation
Importing and Exporting News Items

7 Personalizing Data Display With XML: Portal-to-Go

Introduction to Oracle Portal-to-Go
Portal-To-Go 1.0.2 Features
What's Needed to Run Portal-to-Go
Portal-To-Go: Supported Devices and Gateways
How Portal-to-Go Works
Portal-to-Go Components
Portal-to-Go Services
Portal-to-Go Adapters
Portal-to-Go Transformers
Exchanging Data via XML: Source to XML, XML to Target with Portal-to-Go
Extracting Content
Web Integration Developer: A "Screen Scraper"
Converting to XML
Why Use an Intermediate XML Format?
Using the Simple Result DTD
Adapters Map the Source Content to the DTD Element
Sample Adapter Classes
Portal-to-Go Adapter Example 1: Converts Stock Quotes and Headlines to XML
Portal-to-Go Adapter Example 2: Greets Users by Name
Transforming XML to the Target Markup Language
Portal-to-Go: Java Transformers
Another Format
Portal-to-Go: XSL Stylesheet Transformers
Documents to Plain Text
Each Markup Language Requires a Unique Transformer
WML1.Transformer Stylesheet
Portal-to-Go Case Study 1: Extending Online Drugstore's Reach
Portal-to-Go Case Study 2: Expanding Bank Services

8 Customizing Presentation with XML and XSQL: Flight Finder

XML Flight Finder Sample Application: Introduction
Required Software
How Flight Finder Works
Flight Finder Queries the Database -- Converts Results to XML
Using XSQL Servlet to Process Queries and Output Result as XML
Formatting XML with Stylesheets
One Stylesheet, One Target Device
Many Stylesheets, Many Target Devices
Localizing Output
XML to Database
1 Taking the User's Input
2 Assign Values Acquired From User to Code Parameters
3 Let User Know if Operation Succeeded
Oracle Portal-to-Go

Part IV Data Exchange Using XML

9 Using Oracle Advanced Queuing (AQ) in XML Data Exchange

What is AQ?
How do AQ and XML Complement Each Other?
AQ Example 1 (PL/SQL): XML Message as a CLOB in an AQ Message
Setting Up the AQ Environment
AQ Example 1: Tasks Performed
AQ Example 1: The PL/SQL Code
AQ Example 2 (Java): Processing an XML Message Using JMS (Publish - Subscribe)
AQ Example 2: Processing an XML Message Using JMS --Tasks Performed
AQ Example 2: Processing an XML Message Using JMS -- Java Code
Frequently Asked Questions (FAQs): XML and Advanced Queuing
Multiple Format Messages: Create an Object Type and Store as Single Message
Adding New Recipients After Messages are Enqueued
XML and AQ
Retrieving and Parsing JMS Clients with XML Content From AQ
Ensuring that an Enqueue is Successful?

10 B2B: How iProcurement Uses XML to Offer Multiple Catalog Products to Users

Various Suppliers Load Their Catalogs into the Unified Catalog Tables
Oracle Internet Procurement Solution
More Information About Internet Procurement and Related Products
Buyer-Hosted Content
Supplier-Hosted Catalogs and Marketplaces
iProcurement: XML Parser for Java
Buyer-Hosted Catalogs
Document Type Definition (DTD)
iProcurement Example 1: DTD for Buyer-Hosted Catalog
DTD Admininistrative Information: <ADMIN>
DTD Schema Information: <SCHEMA>
to the Category
iProcurement Example 3: DTD <SCHEMA>: Deleting a Category or Descriptor
iProcurement Example 4: DTD <SCHEMA> -- Updating Category or Descriptor
DTD: Item Information
<ITEM ACTION"ADD">
<ITEM ACTION="DELETE">
<ITEM ACTION="UPDATE")
Supplier Hosted Catalogs and Marketplaces
Data Element Definition
Definitions
Standard Codes
Contract Data Elements
Item Data Elements
Category Data Elements
Price Data Elements
Supplier Data Elements
Additional Attributes
Order Line XML Definition
Enclose All Data in CDATA Tags
iProcurement Example 8: Order Line XML Schema
iProcurement Example 9: XML -- One Order Line for the Full Schema Specification
iProcurement Example 10: XML -- Two-Item Transaction Example
HTML Specification
Sending Selected Item to iProcurement: External Catalog's HTML File Format
HTML Elements Explained
iProcurement Example 11: HTML/XML File
User Authentication
iProcurement XML Example 12: Valid Session XML Document
Authenticated XML Schema
XML Document
iProcurement Example 14: Authenticated User: Sample Returned XML Document
Unauthenticated XML Schema
iProcurement Example 15: Unauthenticated User -- XML Schema
iProcurement Example 16: Unauthenticated User -- Sample XML document

11 Customizing Discoverer 3i Viewer with XSL

Discoverer3i Viewer: Overview
Discoverer 3i Viewer: Features
Discoverer 3i Viewer: Architecture
How Discoverer 3i Viewer Works
Replicating Discoverer Application Server
Using Discoverer 3i Viewer for Customized Web Applications
Step 1: Browser Sends URL
Step 2: Servlet Generates XML
Discoverer XML Example 1: Three Workbook Report Data
Step 3: XSL-T Processor Applies an XSL Stylesheet
Step 4: XSL-T Processor Generates HTML
Customizing Style by Modifying an XSL Stylesheet File: style.xsl
Discoverer 3i Viewer: Customization Example Using XML and XSL
Step 1: The XML File
Step 2: XSL File, example1.xsl
Step 3: XML+XSL = HTML
Step 4: Customizing the XSL Stylesheet (example2.xsl)
Frequently Asked Questions (FAQs): Discoverer 3i Viewer
Explaining Servlets
How Discoverer 3i Viewer Communicates with Browsers
Why HTML is Output to the Browser
Discoverer 3i Viewer and XML
disco3iv.xml
Discoverer 3i and XSL
Supported XSL-T Processors
Specifying the XSL-T Processor in the Servlet's Classpath
XSL Editors
Customizing Stylesheets
Viewing Changes to a Modified Stylesheet
Browser Displays Blank Screen
More information on XML and XSL

12 Phone Number Portability Using XML Messaging

Introduction to Phone Number Portability Messaging
Requirements for Building a Phone Number Portability Application
Number Portability and Messaging Architecture within SDP
Communication Protocol Adapter
Order Processing Engine
Workflow Engine
Fulfillment Engine
Event Manager
SDP Repository
The Number Portability Process
What Happens Behind the Scenes When You Order a New Telephone Service
What Happens Behind the Scenes When You Change Local Service Providers
XML is the Data Format. Advanced Queuing is Used at Each Point
Why XML is Used for this Messaging
Provisioning a Network Element
Using Event Manager to Send and Receive Messages Asynchronously
Example Code to Send Messages
Using Internet Message Studio (iMessage) to Create an Application Message Set
Code Generation
Defining Message Sets

Part V Developing Oracle XML Applications: A - Z

13 B2B XML Application: Step by Step

Introduction to the B2B XML Application
Requirements for Running the B2B XML Application
Building the B2B XML Application: Overview
Why Transform Data to XML?
Why Use Advanced Queueing (AQ)?
B2B XML Application: Main Components
Overview of Tasks to Run the B2B XML Application
1 Set Up Your Environment to Run the B2B XML Application
2 Run the B2B Application
3 End the B2B Application Session
XML B2B Application: Setting Up the Database Schema
SQL Calling Sequence
Create and Build the Retailer and Supplier Schemas
SQL Example 1: Set up the Retailer and Supplier Environment -- BuildAll.sql
BuildSchema.sql
Create the AQ Environment and Queue Tables
SQL Example 3: Set Up the Environment for AQ -- mkAQUser.sql
SQL Example 4: Call the AQ Queue Creation Scripts -- mkQ.sql
SQL (PL/SQL) Example 5: Create Table, AppOne_QTab -- mkQueueTableApp1.sql
SQL (PL/SQL) Example 6: Create Table, AppTwo_QTab -- mkQueueTableApp2.sql
mkQueueTableApp3.sql
SQL (PL/SQL) Example 8: Create Table, AppFour_QTab -- mkQueueTableApp4.sql
Create the Broker Schema Including XSL Stylesheet Table
SQL Example 9: Create Broker Schema -- mkSSTables.sql
Broker Schema-- setup.sql
Cleaning Up Your Environment and Preparing to Rerun Application
Applications -- reset.sql
Stop Queue SQL Scripts
Drop Queue SQL Scripts
Create Queue SQL Scripts
Start Queue SQL Scripts
dropOrder.sql
B2B XML Application: Data Exchange Flow
Retailer-Supplier Transactions
1 Retailer Browses the Supplier's OnLine "Hi-Tech Mall" Catalog
2 Retailer Places Order
3 Retailer Confirms and Commits to Sending the Order
Supplier's Format
Inserts Order into the Supplier Database
6 Supplier Application Alerts Supplier of Pending Order
Format
8 Retailer Application Updates the Ord and Line_Item Tables
Running the B2B XML Application: Detailed Procedure
1 Retailer Browses the Supplier's OnLine "Hi-Tech Mall" Catalog
XSQL Script Example 2: Checking the ID of Users Logging In: getlogged.xsql
XSQL Script Example 1: Displays First Hi-Tech Mall Screen -- index.xsql
XSQL Script Example 3: Lists Catalog Products -- inventory.xsql
XSQL Script Example 4: Enter a Quantity -- order.xsql
2 Retailer Places Order
3 "Validate" Commits the Transaction. Retailer Application Produces the XML Order
XSQL Script Example 5: Starts B2B Process -- placeorder.xsql
RetailActionHandler.java
SessionHolder.java
4 AQ Broker-Transformer Transforms XML Document According to Supplier's Format
5 Supplier Application Parses the XML Document and Inserts the Order into the Supplier Database
6a Supplier Application Alerts Supplier of Pending Order
6b Supplier Decides to Ship the Product(s) to the Retailer
6c Supplier Application Generates a New XML Message to Send to AQ Broker
7 AQ Broker-Transformer Transforms XML Order into Retailer's Format
8 Retailer Application Updates the Ord Table and Displays the New Order Status to Retailer
To Stop the B2B XML Application
Check Your Order Status Directly Using vieworder.sql
Java Examples - Calling Sequence
XSL and XSL Management Scripts
XSL Stylesheet Example 1: Converts Results to HTML -- html.xsl
XSL Stylesheet Example 2: Converts Results for Palm Pilot Browser -- pp.xsl
Java Example 3: Stylesheet Management-- GUIInterface.java
Java Example 4: GUIInterface_AboutBoxPanel.java
Java Example 5: GUIStylesheet.java
XML Process and Management Scripts
Java Example 6: Main4XMLtoDMLv2.java
Java Example 7: ParserTest.java
Java Example 8: TableInDocument.java
Java Example 9: XMLFrame.java
Java Example 10: XMLProducer.java
Java Example 11: XMLtoDMLv2.java
Java Example 12: XMLGen.java
Java Example 13: XMLUtil.java
Java Example 14: XSLTWrapper.java
Other Scripts Used in the B2B XML Application
XML Example 1: XSQL Configuration -- XSQLConfig.xml
Java Example 15: Message Header Script -- MessageHeaders.java
Java Example 16: Hold Constants for Use by Message Broker -- AppCste.java
Retailer Scripts
UpdateMaster.java
AQ Broker-Transformer and Advanced Queuing Scripts
Java Example 18: AQ Broker Listens on One AQ Thread -- BrokerThread.java
Java Example 19: MessageBroker.java
Java Example 20: AQReader.java
Java Example 21: AQWriter.java
Java Example 22: B2BMessage.java
Java Example 23: ReadStructAQ.java
Java Example 24: StopAllQueues.java
Java Example 25: WriteStructAQ.java
Supplier Scripts
Java Example 26: SupplierFrame.java
SupplierWatcher.java

14 Using JDeveloper to Build Oracle XML Applications

Introducing JDeveloper 3.2
Business Components for Java (BC4J)
Oracle JDeveloper XML Strategy
What's Needed to Run JDeveloper 3.2
Accessing JDeveloper 3.2
XML in Business Components for Java (BC4J)
Building XSQL Clients with Business Components for Java (BC4J)
Object Gallery
XSQL Element Wizard
Page Selector Wizard
XML Features in JDeveloper 3.2
Oracle XDK and Transviewer Beans Integration
Oracle XML Parser for Java
Oracle XSQL Servlet
XML Data Generator Web Bean
Mobile Application Development with Portal-To-Go and JDeveloper
Building XML Applications with JDeveloper
JDeveloper XML Example 1: BC4J Metadata
Procedure for Building Applications in JDeveloper 3.2
Using JDeveloper's XML Data Generator Web Bean
Using XSQL Servlet from JDeveloper
JDeveloper XSQL Example 2: Employee Data from Table emp: emp.xsql
JDeveloper XSQL Example 3: Employee Data with Stylesheet Added
Creating a Mobile Application in JDeveloper
1 Create the BC4J Application
2 Create JSP Pages Based on BC4J Application
3 Create XSLT Stylesheets According to the Devices Needed to Read The Data
Frequently Asked Questions (FAQs): Using JDeveloper to Build XML Applications
Constructing an XML Document in JSP
Using XMLData From BC4J
Running XML Parser for Java in JDeveloper 3.0
Moving Complex XML Documents to a Database

15 Using Internet File System (iFS) to Build XML Applications

Introduction to Internet File System (iFS)
Working with XML in iFS
Supply a Document Descriptor
Using the iFS Parsers
Standard iFS Parsers and Custom Parsers
Using iFS Standard Parsers
Parsing Options
Using iFS Custom Parsers
How iFS XML Parsing Works
Writing a Parser Application
Rendering XML in iFS
XML and Business Intelligence
Configuring iFS with XML Files

16 Building n-Tier Architectures for Media-Rich Management using XML: ArtesiaTech

Introduction to Building n-Tier Architectures
XML-Based, Multi-Tier Communication
Function Shipping: Separating Logical and Physical Tiers
Object-Oriented Messaging with XML
Should XML be Used for Messaging?
Using XML or IDL?
Message Processing with XML
Scripting With XML
Inter-Tier Communication
Transaction State Management for Web-Based Services
XML-Based Software Quality Assurance
XML-Based Data Dissemination
XML-Centric Digital Asset Management
Digital Asset Aggregation Facilitating End-User Personalization
Digital Asset Aggregation Addressing Bandwidth Implications
Summary

Part VI XDK for Java

17 Using XML Parser for Java

XML Parser for Java: Features
XSL Transformation (XSL-T) Processor
Namespace Support
Validating and Non-Validating Mode Support
Parsers Access XML Document's Content and Structure
DOM and SAX APIs
DOM: Tree-Based API
SAX: Event -Based API
Guidelines for Using DOM and SAX APIs
Running the XML Parser for Java Samples
XML Parser for Java - XML Sample 1: class.xml
XML Parser for Java - XML Example 2: Using DTD employee -- employee.xml
XML Parser for Java - XML Example 3: Using DTD family.dtd -- family.xml
XML Parser for Java - XSL Example 1: XSL (iden.xsl)
XML Parser for Java - DTD Example 1: (NSExample)
Using XML Parser for Java: DOMParser() Class
XML Parser for Java Example 1: Using the Parser and DOM API (DomSample.java)
Comments on DOMParser() Example 1
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)
Using XML Parser for Java: XSL-T Processor
XML Parser for Java Example 4: (XSLSample.java)
XML Parser for Java Example 5: Using the DOMAPI and XSL-T Processor
Comments on XSL-T Example 5
Using XML Parser for Java: SAXNamespace() Class
XML Parser for Java Example 6: (SAXNamespace.java)
XML Parser for Java: Command Line Interfaces
oraxml - Oracle XML parser
oraxsl - Oracle XSL processor
XML Extension Functions for XSL-T Processing
XSL-T Processor Extension Functions: Introduction
Static Versus Non-static Methods
Constructor Extension Function
Return Value Extension Function
XML Parser for Java XSL Example 3: Return Value Extension Function
Datatypes Extension Function
XML Parser for Java Example 4: Datatype Extension Function
Frequently Asked Questions (FAQs): XML Parser for Java
DTDs
Checking DTD Syntax: Suggestions for Editors
DTD File in DOCTYPE Must be Relative to XML Document Location
Validating an XML File Using External DTD
DTD Caching
Recognizing External DTDs
Loading external DTD's from a jar File
Can I Check the Correctness of an XML Document Using their DTD?
Parsing a DTD Object Separately from XML Document
Case-Sensitivity in Parser Validation against DTD?
Extracting Embedded XML From a CDATA Section
DOM and SAX APIs
Using the DOM API
How DOM Parser Works
Creating a Node With Value to be Set Later
Traversing the XML Tree
Extracting Elements from XML File
Does a DTD Validate the DOM Tree?
First Child Node Element Value
Creating DocType Node
XMLNode.selectNodes() Method
Using SAX API to Get the Data Value
SAXSample.java
Does DOMParser implement Parser interface
Creating an New Document Type Node Via DOM
Querying for First Child Node's Value of a Certain Tag
XML Document Generation From Data in Variables
Printing Data in the Element Tags: DOM API
Building XML Files from Hashtable Value Pairs
XML Parser for Java: wrong_document_err on Node.appendChild()
Creating Nodes: DOMException when Setting Node Value
Validation
DTD: Understanding DOCTYPE and Validating Parser
Can Multiple Threads Use Single XSLProcessor/Stylesheet?
Is it Safe to Use Document Clones in Multiple Threads?
Character Sets
Encoding iso-8859-1 in xmlparser
Parsing XML Stored in NCLOB With UTF-8 Encoding
NLS support within XML
UTF-16 Encoding with XML Parser for Java V2
Adding XML Document as a Child
Adding an XMLDocument as a Child to Another Element
Adding an XMLDocumentFragment as a Child to XMLDocument
Uninstalling Parsers
Removing XML Parser from the Database
XML Parser for Java: Installation
XMLPARSER Fails to Install
General XML Parser Related Questions
How the XML Parser Works
Converting XML Files to HTML Files
Validating Against XML Schema
Including Binary Data in an XML Document
What is XML Schema?
Oracle's Participation in Defining the XML/SQL Standard
XDK Version Numbers
Inserting <, >, >= and <= in XML Documents
Are Namespace and Schema Supported
Using JDK 1.1.x with XML Parser for Java v2
Sorting the Result on the Page
Is Oracle8i Needed to Run XML Parser for Java?
Dynamically Setting the Encoding in an XML File
Parsing a String
Displaying an XML Document
System.out.primtln() and Special Characters
Obtaining Ampersand from Character Data
Parsing XML from Data of Type String
Extracting Data from XML Document into a String
Disabling Output Escaping
Using the XML Parser for Java with Oracle 8.0.5
Delimiting Multiple XML Documents
XML and Entity-references: XML Parser for Java
Can I Break up and Store an XML Document without a DDL Insert?
Merging XML Documents
Getting the Value of a Tag
Granting JAVASYSPRIV to User
Including an External XML File in Another XML File: External Parsed Entities
OraXSL Parser
XSL-T Processor and XSL Stylesheets
HTML Error in XSL
Is <xsl:output method="html"/> Supported?
Netscape 4.0: Preventing XSL From Outputing <meta> Tag
XSL Error Messages
Generating HTML: "<" Character
HTML "<" Conversion Works in oraxsl but not XSLSample.java?
XSL-T Examples
XSL-T Features
Using XSL To Convert XML Document To Another Form
Information on XSL?
XSLProcessor and Multiple Outputs?
Good Books for XML/XSL
Version Number of XDK?
Including Binary Data in an XML Document
Converting XML to HTML
XML Developer Kits for HP/UX Platform

18 Using XML Java Class Generator

Accessing XML Java Class Generator
Using XML Class Generator for Java
XML Java Class Generator Examples
Example Input DTD
XML Java Class Generator DTD Example 1: Employee Data
XML Java Class Generator Example 1: Processing the DTD to Generate Java Classes
Classes
Application
XML Java Class Generator Sample Files in sample/
How to Run the XML Java Class Generator Samples in sample/
XML Java CLass Generator, DTD Example 1: DTD Input -- widl.dtd
XML Java CLass Generator, XML Example 1: XML Input -- widl.xml
XML Java CLass Generator, Java Example 1: SampleMain.java
XML Java CLass Generator, Java Example 2: TestWidl.java
XML Java CLass Generator, XML Example 2: DTD Input -- widl.out
Frequently Asked Questions (FAQs) : Class Generator for Java
Automatic Population
XML to Java Object Mapping
DTD Class Generator: Which Child Classes Work
Installing XML Class Generator
Role of the XML Class Generator for Java
Class Generator
Which DTD's are Supported?
Using the XML Class Generator Samples
Class Generator: Cannot Create Root Object More than Once
Class Generator:Creating XML Files from Scratch, Using the DOM API

19 Using XSQL Servlet

Accessing XSQL Servlet
What's Needed to Run XSQL Servlet
XSQL Servlet Features
Introducing Oracle XSQL Pages
Oracle XSQL Pages: Setup and Examples
Setting the CLASSPATH Correctly
Setting Up the Connection Definitions
XSQL Page Common Tags
Additional XSQL Page Example
Built-in XSQL Action Elements
Using the XSQLCommandLine Utility
XSQL Page Processor Usage
XSQL Usage Overview
XSQL Page Processor Architecture
XSQL Page Processor in Action
XSQL Servlet Examples in demo/
Setting Up the demo/ Data
Using XSQL Servlet
Requirements
Using XSQL Pages
Producing Dynamic XML Documents from SQL Queries with <xsql:query>
Customizing Your Query with XML-SQL Utility Query Attribute Options
Built-in Action Handler
How XSQL Page Processor Processes ActionHandler Actions
XSQL Action Handler Errors
Using JavaServer Pages (JSP) and XSQL Pages
Using <xsql:query> Tag Attributes
Using the XSQL Page Processor Programmatically
Customizing XSQL Action Handlers
Built-in XSQL Action Elements and Action Handler Classes
Using a Custom XSQL Action Handler in an XSQL Page
Defining Custom XSQL Action Element for your Handler
Using XSQLConfig.xml to Tune Your Environment
Modifying XSQL Configuration Settings
Limitations
HTTP Parameters with Multibyte Names
CURSOR() Function in SQL Statements
Frequently Asked Questions (FAQs) - XSQL Servlet
NoClassDefFoundError When Running XSQL Servlet Demos
Specifying a DTD While Transforming XSQL Output to a WML Document
XSQL: Using the CURSOR Operator for Nested Structure
XSQL Servlet Conditional Statements
Multiple Query in an .xsql File: Page Parameters
XSQL, URN, xsl:script
XSQL Servlet: Connecting to Any Database With JDBC Support
XSQL Demos: Using the Correct Version JDK
From XML To Table Creation?
XSQL Servlet: Access to JServ Process
Calling xmlgen via XSQL Servlet on Java Web Server
Supporting Other Databases
XSQL Servlet: Connecting to Remote Database
Apache JServ
Document Creation
XSQL with JRUN
XSQL on Oracle8i Lite
xsql:ora-uri tag
Multiple Parameters in the XSQL Servlet
XSQL Servlet and Oracle 7.3
Passing Parameters Between XSQL and XSL
Conditional Query
XSQL Servlet and INSERTs or UPDATEs
XSQL Servlet and Dynamic SQL
XSQL Servlet and Other Relational Databases
Out Variable Not Supported in <XSQL:DML>
Running XSQL Page Processor on Java Web Server?
SID and JDK Errors
Using Custom Action Elements: XSQLActionHandlerImpl
XSQL Servlet: Writing an Action Element (Handler) to Set a Browser Cookie
Installing XSQL Servlet on IIS with JRun
Writing an XSQL Action Handler to Acquire HTTP Request Parameters
Converting HTML Key Value Pairs to XML: <xsql:insert-request>
Running a Procedure from the .xsql File
XSQL File Launching from JDeveloper
Can I Load Multiple Forms to My Database Using XML?
Getting and Storing XML Documents in a Database: Testing Functionality

20 Using XML Transviewer Beans

Accessing Oracle XML Transviewer Beans
XDK for Java: XML Transviewer Bean Features
Database Connectivity
XML Transviewer Beans
Using the XML Transviewer Beans
Using DOMBuilder Bean (Async API)
Used for Asynchronous Parsing in the Background
DOMBuilder Bean Parses Many Files Fast
DOMBuilder Bean Usage
Using XSL Transformer Bean (oracle.xml.async API)
Many Files to Transform? Use XSL Transformer Bean
Need a responsive User Interface? Use XSL Transformer Bean
Data Changes
XSL Transformer Bean Usage
Using Treeviewer Bean (XMLTreeView() API)
Using XMLSourceView Bean (oracle.xml.srcviewer API)
XMLSourceView Bean Usage
Using XMLTransformPanel() Bean (oracle.xml.transviewer API)
XMLTransformPanel Bean Features
Transviewer Bean
Running the Transviewer Bean Samples Supplied
Installing the Transviewer Bean Samples
Setting Up Your Environment to Run the Samples
Running Makefile
Transviewer Bean Example 1: AsyncTransformSample.java
Transviewer Bean Example 2: ViewSample.java
Transviewer Bean Example 3: XMLTransformPanelSample.java

Part VII XDK for C

21 Using XML Parser for C

Accessing XML Parser for C
XML Parser for C Features
Specifications
Memory Allocation
Thread Safety
Data Types Index
Error Message Files
XML Parser for C Usage
XML Parser for C XSLT (DOM Interface) Usage
Default Behavior
DOM and SAX APIs
Using the SAX API
Using the DOM API
Invoking XML Parser for C
Command Line Usage
Writing C Code to Use Supplied APIs
Using the Sample Files Included with Your Software
Running the XML Parser for C Sample Programs
Building the Sample programs
Sample Programs
XML Parser for C Example 1: XML -- class.xml
XML Parser for C Example 2: XML -- cleo.xml
XML Parser for C Example 3: XSL -- iden.xsl
XML Parser for C Example 4: XML -- FullDOM.xml (DTD)
XML Parser for C Example 5: XML -- NSExample.xml
XML Parser for C Example 6: C -- DOMSample.c
XML Parser for C Example 7: C -- DOMSample.std
XML Parser for C Example 8: C -- SAXSample.c
XML Parser for C Example 9: C -- SAXSample.std
XML Parser for C Example 10: C -- DOMNamespace.c
XML Parser for C Example 11: C -- DOMNamespace.std
XML Parser for C Example 12: C -- SAXNamespace.c
XML Parser for C Example 13: C -- SAXNamespace.std
XML Parser for C Example 14: C -- FullDOM.c
XML Parser for C Example 15: C -- FullDOM.std
XML Parser for C Example 16: C -- XSLSample.c
XML Parser for C Example 17: C -- XSLSample.std

Part VIII XDK for C++

22 Using XML Parser for C++

Accessing XML Parser for C++
XML Parser for C++ Features
Specifications
Memory Allocation
Thread Safety
Data Types Index
Error Message Files
XML Parser for C++ Usage
XML Parser for C++ XSLT (DOM Interface) Usage
Default Behavior
DOM and SAX APIs
Using the SAX API
Using the DOM API
Invoking XML Parser for C++
Command Line Usage
Writing C++ Code to Use Supplied APIs
Using the Sample Files Included with Your Software
Running the XML Parser for C++ Sample Programs
Building the Sample programs
Sample Programs
XML Parser for C++ Example 1: XML -- class.xml
XML Parser for C++ Example 2: XML -- cleo.xml
XML Parser for C++ Example 3: XSL -- iden.xsl
XML Parser for C++ Example 4: XML -- FullDOM.xml (DTD)
XML Parser for C++ Example 5: XML -- NSExample.xml
XML Parser for C++ Example 6: C++ -- DOMSample.cpp
XML Parser for C++ Example 7: C++ -- DOMSample.std
XML Parser for C++ Example 8: C++ -- SAXSample.cpp
XML Parser for C++ Example 9: C++ -- SAXSample.std
XML Parser for C++ Example 10: C++ -- DOMNamespace.cpp
XML Parser for C++ Example 11: C++ -- DOMNamespace.std
XML Parser for C++ Example 12: C++ -- SAXNamespace.cpp
XML Parser for C++ Example 13: C++ -- SAXNamespace.std
XML Parser for C++ Example 14: C++ -- FullDOM.cpp
XML Parser for C++ Example 15: C++ -- FullDOM.std
XML Parser for C++ Example 16: C++ -- XSLSample.cpp
XML Parser for C++ Example 17: C++ -- XSLSample.std

23 Using XML C++ Class Generator

Accessing XML C++ Class Generator
Using XML C++ Class Generator
External DTD Parsing
Error Message Files
XML C++ Class Generator Usage
xmlcg Usage
Using the XML C++ Class Generator Examples in sample/
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

Part IX XDK for PL/SQL

24 Using XML Parser for PL/SQL

Accessing XML Parser for PL/SQL
What's Needed to Run XML Parser for PL/SQL
Using XML Parser for PL/SQL (DOM Interface)
XML Parser for PL/SQL: Default Behavior
Using the XML Parser for PL/SQL: XSL-T Processor (DOM Interface)
XML Parser for PL/SQL: XSLT Processor -- Default Behavior
Using XML Parser for PL/SQL Examples in sample/
Setting Up the Environment to Run the sample/ Sample Programs
Running domsample
Running xslsample
XML Parser for PL/SQL Example 1: XML -- family.xml
XML Parser for PL/SQL Example 2: DTD -- family.dtd
XML Parser for PL/SQL Example 3: XSL -- iden.xsl
XML Parser for PL/SQL Example 4: PL/SQL -- domsample.sql
XML Parser for PL/SQL Example 5: PL/SQL -- xslsample.sql
Frequently Asked Questions (FAQs): XML Parser for PL/SQL
Exception in Thread Parser Error
Encoding '8859_1' is not currently supported by the JavaVM
xmldom.GetNodeValue in PL/SQL
XDK for PL/SQL Toolkit
Parsing DTD contained in a CLOB (PL/SQL) XML
XML Parser for PL/SQL
Security: ORA-29532, Granting JavaSysPriv to User
Installing XML Parser for PL/SQL: JServer(JVM) Option
XML Parser for PL/SQL: domsample
XML in CLOBs
Out of memory errors in oracle.xml.parser
Is There a PL/SQL Parser Based on C?
Memory Requirements When Using the Parser for PL/SQL
JServer (JVM) , Is It Needed to Run XML Parser for PL/SQL?
Using the DOM API
Using the Sample
XML Parser for PL/SQL: Parsing DTD in a CLOB
Errors When Parsing a Document
PLXML: Parsing a Given URL?
Using XML Parser to Parse HTML?
Oracle 7.3.4: Moving Data to a Web Browser (PL/SQL)
Oracle 7.3.4 and XML
getNodeValue(): Getting the Value of DomNode
Retrieving all Children or Grandchilden of a Node

Glossary

A An XML Primer

What is XML?
W3C XML Recommendations
XML Features
How XML Differs From HTML
Presenting XML Using Stylesheets
eXtensible Stylesheet Language (XSL)
Cascading Style Sheets (CSS)
Extensibility and Document Type Definitions (DTD)
Well-Formed and Valid XML Documents
Why Use XML?
Additional XML Resources

B Comparing Oracle XML Parsers and Class Generators by Language

Comparing the Oracle XML Parsers
Comparing the Oracle XML Class Generators

C XDK for Java: Specifications and Cheat Sheets

XML Parser for Java Cheat Sheets
oraxsl Command Line Interface
Accessing XML Parser for Java
Installing XML Parser for Java, Version 2
XML Parser for Java, Version 2 Specifications
Requirements
Online Documentation
Release Specific Notes
Standards Conformance
Supported Character Set Encodings
Oracle XML Parser V1 and V2
NEW CLASS STRUCTURE
XML Parser for Java Release History
XDK for Java: XML Java Class Generator
Installing XML Java Class Generator
XML Java Class Generator: Windows NT Installation
XML Java Class Generator: UNIX Installation
XML Java Class Generator Cheat Sheet
XDK for Java: Transviewer Bean Cheat Sheet
XDK for Java: XSQL Servlet
Installing Oracle XSQL Servlet
Downloading and Installing XSQL Servlet
Windows NT: Starting the Web-to-go Server
Setting Up the Database Connection Definitions for Your Environment
UNIX: Setting Up Your Servlet Engine to Run XSQL Pages
XSQL Servlet Specifications
Character Set Support
XDK for Java: XSQL Servlet Cheat Sheets

D XDK for C: Specifications and Cheat Sheets

XML Parser for C Specifications
Validating and Non-Validating Mode Support
Example Code
Online Documentation
Release Specific Notes
Standards Conformance
Supported Character Set Encodings
Release Specific Notes
Standards Conformance
XML Parser for C Revision History
XML Parser for C: Parser Functions
XML Parser for C: DOM API Functions
XML Parser for C: Namespace API Functions
XML Parser for C: XSLT API Functions
XML Parser for C: SAX API Functions

E XDK for C++: Specifications and Cheat Sheet

XML Parser for C++ Specifications
Validating and Non-Validating Mode Support
Example Code
Online Documentation
Release Specific Notes
Standards Conformance
Supported Character Set Encodings
XML Parser for C++ Revision History
XML Parser for C++: XMLParser() API
XML Parser for C++: DOM API
XML Parser for C++: XSLT API
XML Parser for C++: SAX API
XML C++ Class Generator Specifications
Input to the XML C++ Class Generator
Output to XML C++ Class Generator
Standards Conformance
Directory Structure

F XDK for PL/SQL: Specifications and Cheat Sheets

XML Parser for PL/SQL
Oracle XML Parser Features
Namespace Support
Validating and Non-Validating Mode Support
Example Code
IXML Parser for PL/SQL Directory Structure
DOM and SAX APIs
XML Parser for PL/SQL Specifications
XML Parser for PL/SQL: Parser() API
XML Parser for PL/SQL: XSL-T Processor API
XML Parser for PL/SQL: W3C DOM API -- Types
XML Parser for PL/SQL: W3C DOM API -- Node Methods, Node Types, and
Node Methods, Node Types, and DOM Interface Types
Node Methods
DOM Node Types
DOMException Types
DOM Interface Types

G XML-SQL Utility (XSU) Specifications and Cheat Sheets

Installing XML-SQL Utility
Contents of the XSU Distribution
Installing XML-SQL Utility: Procedure
Requirements for Running XML-SQL Utility
XSU Requirements
Extract the XSU Files
Setting Up the Correct XSU Environment: Client Side
Setting Up the Correct XSU Environment: Server Side
XML-SQL Utility (XSU) for Java Cheat Sheets
XML-SQL Utility (XSU) for PL/SQL Cheat Sheets

Index


Go to next page
Oracle
Copyright © 1996-2000, Oracle Corporation.

All Rights Reserved.

Library

Solution Area

Index