[xquery-talk] difference between xml database processor (xquery) and dom

Jonathan Robie jonathan.robie at datadirect.com
Fri May 19 17:26:37 PDT 2006

fatma helmy wrote:
> dear all
> is there a difference between handling xml file using
> xquery processor such as saxon for example and
> handling xml using dom api from inside a programming
> language?
> in other words what does xquery as a native database
> for xml offer ? does it build special indexes to
> enhance handling xml file, does it save memory usage

Hi Fatma,

You are really asking a question about *implementations* of XQuery, 
rather than XQuery per se. The XQuery language defines no indexes and 
specifies no architecture, and implementations are quite different from 
each other.

If you want a native database for XML, you might want to consider 
software such as Marklogic, Tamino, etc., and these offer indexing on 
XML documents, including full-text indexing.

If you want to query XML in memory using Saxon, that lets you work at a 
much higher level than the DOM, and will probably give you faster code 
due to the lighter weight object model that Saxon uses and the 
optimizations in the processor.

If you want to query relational data as though it were XML, you can use 
either an implementation from your database vendor, or one that works 
with multiple databases, such as ours (DataDirect XQuery) or BEA's.

This is all very general - but so was your question. Feel free to ask 
more specific questions so we can zero in on what you want to know.


Read my Blog: http://blogs.datadirect.com/jonathan_robie/
Learn XQuery: http://media.datadirect.com/download/docs/ddxquery/tutorial_query.html
Learn XQJ (the JDBC for XQuery): http://www.datadirect.com/developer/xquery/topics/xqj_tutorial/
Get DataDirect XQuery: http://www.datadirect.com/products/xquery/

More information about the talk mailing list