
Oracle Database 10g XML & SQL: Design, Build, & Manage XML Applications in Java, C, C++, & PL/SQL / Edition 1
by Mark Scardina, Ben Chang, Jinyu WangView All Available Formats & Editions
ISBN-10: 0072229527
ISBN-13: 9780072229523
Pub. Date: 06/28/2004
Publisher: McGraw-Hill Professional Publishing
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 Foruma community of 20,000+ XML component
Overview
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 Foruma community of 20,000+ XML component users.
Product Details
- ISBN-13:
- 9780072229523
- Publisher:
- McGraw-Hill Professional Publishing
- Publication date:
- 06/28/2004
- Series:
- Oracle Press Series
- Pages:
- 600
- Product dimensions:
- 7.50(w) x 9.20(h) x 1.14(d)
Table of Contents
Introduction | xix | |
Part I | Oracle and the XML Standards | |
1 | Introducing XML | 3 |
What Is an XML Document? | 4 | |
Well-Formed XML Documents | 7 | |
Valid XML Documents | 8 | |
XML Namespaces | 9 | |
XML and the Database | 11 | |
Database Schema and XML Documents | 11 | |
Summary | 14 | |
2 | Accessing XML with DOM, SAX, JAXB, and StAX | 15 |
Parsing and Binding an XML Document | 16 | |
Accessing XML Using the DOM | 17 | |
Accessing XML with SAX | 28 | |
Accessing XML with Java Binding | 42 | |
Accessing XML with StAX | 45 | |
Best Practices | 47 | |
3 | Transforming XML with XSLT and XPath | 49 |
Programmatic Invocation of the XSLT Processor | 51 | |
Navigating XML with XPath | 54 | |
Introducing XSLT Stylesheets | 55 | |
XSL Templates | 56 | |
The XSLT Process Model | 56 | |
Introducing XSLT 2.0 | 57 | |
The Oracle XSLT Extensions | 59 | |
The XSLT Virtual Machine | 60 | |
XSLT and the Database | 61 | |
Best Practices | 61 | |
4 | Validating XML with DTDs and XML Schemas | 63 |
Introducing the DTD | 64 | |
Validating XML Against DTDs | 66 | |
Introducing the XML Schema Language | 66 | |
Simple and Complex Datatypes | 68 | |
Validating XML with XML Schemas (XSDs) | 73 | |
XML Document Models and the Database | 75 | |
Best Practices | 79 | |
5 | XML Operations with XQuery | 83 |
Introducing XQuery | 84 | |
The Oracle XQuery Engine | 89 | |
Querying XML Documents | 91 | |
XQuery and the Oracle Database | 92 | |
Best Practices | 93 | |
6 | XML Messaging and RPC with SOAP | 95 |
Introducing SOAP | 96 | |
Using SOAP and the Oracle XDK | 99 | |
Using SOAP and the Oracle Database | 100 | |
Best Practices | 104 | |
7 | Putting It All Together with XML Pipeline, JSPs, and XSQL | 105 |
Introducing the XML Pipeline Processor | 106 | |
Processing XML with JSPs and XML Beans | 108 | |
Introducing the XSQL Page Publishing Framework | 116 | |
Best Practices | 125 | |
Part II | Oracle XML Management for DBAs | |
8 | Getting Started with the Oracle XML Database | 129 |
A Brief History of XML Support in Oracle Database | 130 | |
Setting Up the Oracle XML Database | 132 | |
What Is the Oracle XML Database? | 140 | |
XML Database and Standards | 148 | |
Designing the XML Database | 149 | |
Summary | 156 | |
9 | Storing XML Data | 157 |
Storing XML Documents in CLOB XML Types | 158 | |
Storing XML Documents in XML Schema-based XML Types | 159 | |
Storing XML Documents in Relational Tables | 176 | |
Using External Tables | 184 | |
Schema Evolution | 185 | |
Best Practices | 186 | |
Summary | 188 | |
10 | Generating and Retrieving XML | 189 |
Generating XML from SQL Data with SQL XML Functions | 190 | |
Generating XML from SQL Data with DBM XMLGEN | 199 | |
Retrieving Using XML Type and SQL/XML Functions | 206 | |
Generating XML Schemas | 209 | |
Creating XML Type Views | 211 | |
Processing XML | 212 | |
Best Practices | 216 | |
Summary | 218 | |
11 | Searching XML Data | 219 |
XPath-Based Searches | 220 | |
Full Text Search | 230 | |
Best Practices | 239 | |
Summary | 240 | |
12 | Managing the Oracle XML Database | 241 |
Installed Oracle XML DB Components | 242 | |
Configuring the Oracle XML DB | 244 | |
Security Management | 248 | |
Summary | 251 | |
Part III | Oracle XML for Java Developers | |
13 | Getting Started with Oracle XML and Java | 255 |
The Oracle XDK Java Libraries | 256 | |
The JDK Environment | 258 | |
Using the XDK with Oracle JDeveloper | 260 | |
Summary | 266 | |
14 | Building an XML-Powered Web Site | 267 |
An XML-Enabled FAQ Web Site | 268 | |
Designing the Framework | 268 | |
Creating the FAQ Database | 269 | |
Connecting the FAQ Web Site to the XML Database | 274 | |
Adding Pagination to the FAQ Listing | 277 | |
Displaying the FAQ and Answers | 280 | |
Creating a Glossary | 283 | |
Searching the FAQs | 287 | |
Summary | 288 | |
15 | Creating a Portal Site with XML and Web Services | 289 |
Designing the Framework | 290 | |
Designing the Static and Dynamic Areas | 293 | |
Adding the Portal Functionality | 301 | |
Creating an Administration Page | 307 | |
Summary | 311 | |
16 | Developing an XML Gateway Application with SOAP and AQ | 313 |
Designing the Framework | 314 | |
Creating the Framework | 317 | |
Creating the XML Messaging Gateway | 323 | |
Extending the Application's Functionality | 341 | |
Summary | 342 | |
17 | Developing XML-Based Reusable Components | 343 |
Designing the Framework | 344 | |
Simple Pipeline Examples | 345 | |
Building the Pipeline Application | 352 | |
Running the Pipeline Application | 360 | |
Summary | 362 | |
Part IV | Oracle XML for C Developers | |
18 | Getting Started with Oracle XML and C | 365 |
The Oracle XDK C Libraries | 366 | |
Setting Up Your C XML Development Environment | 367 | |
Summary | 374 | |
19 | Building an XML-Managed Application | 375 |
Designing the Framework | 376 | |
The XML Media Files | 377 | |
Creating an XML Configuration File | 378 | |
Creating the XSL Stylesheets | 383 | |
Creating the publishcat Application | 386 | |
Summary | 391 | |
20 | Build an XML Database OCI Application | 393 |
Designing the Framework | 394 | |
Setting Up the OCI Application Environment | 395 | |
The Update Application | 397 | |
Initializing the OCI Application | 398 | |
Retrieving a DOM of the Record List via OCI | 401 | |
Performing Unified DOM Operations | 406 | |
Running the xmlupdate Application | 407 | |
Summary | 408 | |
21 | Create an XML-Configured High-Performance Transformation Engine | 409 |
Designing the Framework | 410 | |
Compiling Stylesheets with xslcompile | 411 | |
Running the XSLT Virtual Machine with xsbtransform | 414 | |
Summary | 418 | |
Part V | Oracle XML for C++ Developers | |
22 | Getting Started with Oracle XML and C++ | 421 |
The Oracle XDK C++ Libraries | 422 | |
Setting Up Your C++ XML Development Environment | 423 | |
Summary | 431 | |
23 | Build an XML Database OCI C++ Application | 433 |
Designing the Framework | 434 | |
Setting Up the C++ OCI XML Application Environment | 435 | |
Creating the C++ OCI Helper Class | 437 | |
Initializing the C++ Database XML Application | 438 | |
Handling OCI Errors | 439 | |
Connecting to the Database | 440 | |
Disconnecting from the Database and Cleaning Up | 441 | |
Creating the C++ Query Application | 443 | |
Selecting into an XML Type | 444 | |
Initializing the XDK for XML Type XOB Access | 446 | |
Querying an XML Type with the C++ XDK APIs | 447 | |
Running the Application | 449 | |
Summary | 450 | |
24 | Building an XML Data-Retrieval Application | 451 |
Designing the Framework | 452 | |
Building the cppextract Application | 452 | |
Running the cppextract Application | 459 | |
Extending the Framework | 460 | |
Summary | 462 | |
Part VI | Oracle XML for PL/SQL Developers | |
25 | Getting Started with Oracle XML and PL/SQL | 465 |
Setting Up the Environment | 466 | |
PL/SQL XML Processing Techniques | 466 | |
Setting Up Oracle JVM | 480 | |
Summary | 480 | |
26 | Building PL/SQL Web Services | 481 |
Building and Publishing the First Database Web Service | 482 | |
Consuming a Web Service Within the Oracle Database | 492 | |
Extending the Application | 497 | |
Summary | 499 | |
27 | Extending PL/SQL XML Functionality with Java | 501 |
Creating the Java Stored Procedure to Process XML | 502 | |
Running the Java Stored Procedure | 504 | |
Simplifying Deployment of Java Stored Procedures Using Oracle JDeveloper 10g | 505 | |
Processing XML in the Oracle JVM | 507 | |
Developing Your Own Java Stored Procedures | 515 | |
Summary | 517 | |
28 | Putting It All Together | 519 |
The Oracle XML Platform | 520 | |
XML Processing Tier Decisions | 521 | |
Database Design Decisions for XML | 522 | |
Java, C, C++, and PL/SQL Decisions | 524 | |
Extending the Oracle XML Platform | 527 | |
A | XML Standards Bodies and Open Specifications | 529 |
Introducing the W3C Specifications | 530 | |
W3C XML Specification | 530 | |
W3C DOM Specification | 531 | |
SAX Specification | 531 | |
W3C Namespace Specifications | 532 | |
W3C XML Schema Specification | 532 | |
W3C XML Query Specification | 532 | |
W3C XSLT and XPath Specification | 533 | |
W3C XML Pipeline Definition Language Specification | 533 | |
W3C XML Protocol | 533 | |
Java Community Process Specifications | 534 | |
Sun JAXB Specification | 534 | |
Sun JAXP Specification | 534 | |
Sun StAX Specification | 534 | |
ISO SQL/XML Specification | 534 | |
Oracle Technical Resources | 535 | |
Other Helpful Resources | 535 | |
Glossary | 537 | |
Index | 549 |
Customer Reviews
Average Review: