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 ...