O'Reilly logo

Building Oracle XML Applications by Steve Muench

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 12. Storing XML Datagrams

As we’ll see in this chapter, XML datagrams of any shape and size can be stored in the database via straightforward techniques using Oracle’s XML SQL Utility. Once stored, any or all of the data can be retrieved and delivered on request using XSQL pages and XSLT transformations. This means that XML can be the lingua franca for data exchange outside the database without sacrificing any flexibility, scalability, or performance for data retrieval, processing and management inside the database.

As we’ve seen in previous chapters, XML datagrams are documents with a rigid, predictable structure, typically comprised of nested elements and attributes, as Example 12.1 shows.

Example 12-1. Credit Card Authorization Datagram

<?xml version="1.0"?>
<!DOCTYPE AuthorizationRequest SYSTEM "creditcardauth.dtd">
<AuthorizationRequest>
  <CardNumber>4678223355451001</CardNumber>
  <Expiration>10/2001</Expiration>
  <Amount Currency="ITL">118000</Amount>
  <MerchantId>84592342</MerchantId>
  <Date>27-12-1999 11:27:04</Date>
</AuthorizationRequest>

In contrast to the rigid structure of XML datagrams, XML documents that represent the written word in some form—technical manuals, contracts, legal proceedings, screenplays, news articles, and others—often contain text mixed with embedded markup tags. Often, a datagram will contain a fragment of this mixed text and markup as an embedded structure, like the <Description> of the <Book> in Example 12.2.

Example 12-2. Datagram with a Mixed ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required