Lists Home |
Date Index |
Ken North wrote:
> Developers wanted more, of course, such as being able to describe document
> structure and shred documents (map document content to columns). That's also
> been available for years with SQL platforms such as Microsoft SQL Server,
> Oracle, Sybase and DB2 (XML Extender).
Shredding is very useful for storing certain classes of data-centric
documents, especially when non-XML documents need to access that data.
In fact, I'd bet that shredding accounts for the vast majority of XML
use with relational databases.
However, shredding shouldn't be viewed as a substitute for native XML
data storage as it doesn't preserve sibling order, comments, processing
instructions, etc. and usually doesn't support mixed content. It also
requires design-time mapping of the XML schema to the relational schema
-- something that won't work with schemaless documents. So it shouldn't
be viewed as a substitute for native XML storage but as a complementary
> Even more desirable is implementing XML as an SQL type. This provides
> efficiencies for the SQL engine and query optimizer. Informix was the first to
> demonstrate that at XML conferences in 1999. Those demos showed the XML type
> gave significantly better performance than XML stored in a CLOB column.
> (IBM acquired Informix in 2001).
Interesting. Did the Informix technology ever get released?
> The SQL standard has evolved to reflect the realities of the marketplace by
> adding SQL/XML and an XML type. As for XQuery, we can expect support in the SQL
> standard and Java (JSR-222).
> Does anyone know of an effort to publish an XQuery API for other languages?
The XML:DB API is (was?) written in IDL, but (a) I don't know if anybody
ever implemented it in anything other than Java and (b) the XQuery
support is not yet finalized.
I'm sure that individual native XML databases have XQuery APIs in other
languages, but I'm not aware that any are trying to push them as standards.