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:
