|Oracle8i Application Developer's Guide - XML
Release 3 (8.1.7)
Part Number A86030-01
Introduction to Oracle XML, 12 of 27
There are several options available for storing XML data:
Oracle8i supports the storage of `large objects' or LOBs as `character LOBs' (CLOB), `binary LOBs' (BLOB), or externally stored `binary files' (BFILE). LOBs are used to store "Authored or Native XML" documents.
CLOBs, which can store large character data, can be useful for storing unstructured XML documents. Although more useful for multi-media data, BFILEs which are external file references can also be used. In this case the XML is stored and managed outside the RDBMS, but can be used in queries on the server. The metadata for the document can be stored in object-relational tables in the server for fast indexing and access.
Oracle8i allows the creation of interMedia text indexes on these LOB columns, in addition to URLs that point to external documents. This text cartridge leverages the extensibility mechanism and provides full text indexing of these documents. Oracle8i has extended this mechanism to work on XML data as well.
The text cartridge can recognize XML tags, and section and sub-section text searching have been extended to support searching within an XML element content. The result is that queries can be posed on unstructured data and restricted to certain sections or elements within a document.
A natural way to store XML is as object-relational instances. The object-relational type system can fully capture and express the nesting and list semantics of XML. Complex XML documents can be stored as object-relational instances and indexed efficiently. With the extensibility infrastructure, new types of indices, such as path indices, can be created for faster searching through XML documents.