OK, so how do we store XML?

Daily Newsletters

Sign up to ZDNet UK's daily newsletter.

SQL vs. XQuery The W3C XML Query Working Group has proposed two flexible query languages for extracting data from XML documents: XML Path Language (XPath) and XQuery. XPath addresses parts of an XML document using a compact, non-XML syntax. XPath is a lightweight query language that was actually designed to be embedded in a host language, such as XQuery. It is easy to learn but not substantive enough to replace SQL. XQuery is designed to retrieve and interpret XML data from any source, whether it is a database or a document. It meets the XML Query Working Group requirements for both human-readable query syntax and XML-based query syntax. Queries are meant to be concise and easily understood. In fact, some have proposed that XQuery become a replacement for SQL. Although it is substantive enough to do the job, it isn't very easy to learn. XQuery differs significantly from SQL in that it is a procedural language -- SQL is a declarative language. (Not sure what that means? In SQL, you carefully state the result you want, in a procedural language you spell out a series of steps to derive a result. Here's a longer explanation) A nonprogrammer can learn SQL. It involves simple declarative commands for what you want to happen; commands are executed and results are returned to you. Using XQuery involves procedural programming in which you define the linear sequence of actions required to generate the results you want. It requires a certain facility with programming logic. Despite its limitations when dealing with XML, SQL has been heavily invested in by the industry as the standard for searching databases. Some believe that SQL can be adapted to work with XML and so retain its hierarchical properties. In addition, widespread adoption of an XML-based query language like XQuery would require significant retraining throughout the IT community. So perhaps adopting an alternative query language isn't an ideal solution. The logical alternative is to choose a different type of database that can better handle XML using standard SQL. Native XML databases A better solution for storing, retrieving, and processing persistent XML documents is a native XML database (NXD), which understands the structure of XML documents and so preserves their data hierarchy and meaning. As defined by the XML:DB Initiative, an NXD defines a model for an XML document and stores and retrieves that document according to that model. The fundamental unit of storage for an NXD is an XML document, the equivalent of a row in a table for a relational database. Because an NXD can be built upon any underlying storage model -- relational, hierarchical, or object-oriented -- an NXD is flexible and scalable. NXDs work best with hierarchical data, whereas RDBMSs work best with tabular data. However, database researchers are working on tiered solutions that deliver the best of both worlds. NXDs are specifically designed for persistent storage of XML documents. One example is the Apache Xindice project, an open-source native XML database. The schema-independent model used by Xindice allows you to insert and retrieve data as XML and works well for complex XML documents that would be difficult to map to an RDBMS, let alone retrieve in an understandable way. NXDs and tiered solutions A typical three-tier Web application might have a presentation tier in HTML for the user interface; a middle tier housing the business logic; and a data tier with relational, XML, and/or object-oriented databases. These tiers interact with each other through well-defined APIs. In this scenario, the middle tier can be programmed for seamless integration with both RDBMSs and NXDs and so capitalise on the strengths of each. This would be a powerful solution in almost any application where users are retrieving information from various systems. In the content management space, for example, a search engine written to query hierarchical information embedded in an XML database could also query relational information in an RDBMS. Though we can't yet claim that NXDs will one day replace traditional relational databases, there's no denying that natively understanding XML documents gives the NXDs a distinct advantage in an XML world.
For a weekly round-up of the enterprise IT news, sign up for the Enterprise newsletter. Tell us what you think in the Enterprise Mailroom.

Post your comment

In order to post a comment you need to be registered and logged in.

You can also log in with Facebook. Log in or create your ZDNet UK account below

  • Login

Will not be displayed with your comment

By signing up for this service, you indicate that you agree to our Terms and Conditions and have read and understood our Privacy Policy. Questions about membership? Find the answers in the Community FAQ

Get ZDNet UK's daily newsletter

Enter your email address to sign up

ZDNet UK Live

Thomas Gellhaus

I also installed the KDE version; I also will probably try out razorqt since I really haven't had a chance to before. I'm looking forward to the...

1 hour ago by Thomas Gellhaus via Facebook on Mageia 2 Released
francisabigail

Acquiring when reinvention/cannibalization is too challenging for a large organization can be an excellent strategy- still, so many mergers stumble...

4 hours ago by francisabigail on Ariba buy parks SAP on Oracle's cloud turf
apexwm

All of the feedback regarding using a touch monitor for a desktop PC is right on. Several months ago, we installed a "demo" multitouch all-in-one...

9 hours ago by apexwm on Windows 8 could speed multi-monitor uptake
191706

anyone wanting to triple boot *their* own Mac

10 hours ago by 191706 on xTreme Triple Booting: Linux, Mac & Windows
SoapyTablet

Cont.. Biggest Bugbear: Win7's stop-animate-go approach to work, you develop a staggered (not in the above alchohol sense of the word) approach to...

10 hours ago by SoapyTablet on Windows 8 could speed multi-monitor uptake
SoapyTablet

Ah the joys of Windows 8 Consumer Preview... If Windows 7 was 'Vista with Lipstick', whats Windows 8? Vista with Lipstick, the morning after?...

10 hours ago by SoapyTablet on Windows 8 could speed multi-monitor uptake
daveveej

Though the metro look is quite cool on the windows mobile platform I think that think that microsoft ARE MESSING THINGS UP because what has they...

11 hours ago by daveveej on Windows 8 could speed multi-monitor uptake
Custonian

I agree, we have a few touch screen monitors in work but as Windows7 and the applications we use are not touch screen friendly (the size of the...

11 hours ago by Custonian on Windows 8 could speed multi-monitor uptake
archerthom

I find it amusing that Microsoft added the mouse, which was deemed awkward, but people were forced to use it so it stuck, and now they're saying,...

14 hours ago by archerthom on Windows 8 could speed multi-monitor uptake
BrownieBoy

Agree with other comments. Nobody's going to start reaching out to start tapping their desktop monitors with their fingers. Their arms would tire...

22 hours ago by BrownieBoy on Windows 8 could speed multi-monitor uptake
Random_Error

The only way a touch monitor would be any good is if it were horizontal on the desk, with a virtual keyboard so you could do away with that as well...

1 day ago by Random_Error on Windows 8 could speed multi-monitor uptake
JBDragon

This is just dumb! Forget that I think Windows 8 will bomb, but really, people are going to go out and buy touch Monitors now??? Just pretend...

1 day ago by JBDragon on Windows 8 could speed multi-monitor uptake
Jake Rayson

@Andy Bolstridge > Unfortunately, we need the majority to work 9-5 And therein lies the lie. I work very hard indeed for my idleness, early starts...

1 day ago by Jake Rayson on The Idle Self-employed
Burn-IT

What happens when one hosting platform "acquires data" from another? If I forced the first one to remove it, who is responsible for chasing the...

1 day ago by Burn-IT on Google picks holes in EU's 'right to be forgotten'
JohnTalich

iSpring Pro is a nice tool, that allows PowerPoint to SCORM conversion. They also have free tool, that also generates SCORM compliant courses.

2 days ago by JohnTalich on How To Convert PowerPoint To SCORM Compliant Course
aaron.sloman

I think the answer to the question requires a deeper analysis of where the income can come from who else is now competing for it, who else will be...

2 days ago by aaron.sloman on The three big questions about Facebook's IPO
Brent Pieczynski

Your correctness about Government websites not being compliant with their own websites is correct. Most criticism of other people takes so many...

2 days ago by Brent Pieczynski on Privacy watchdog to chase big companies over cookie law
Kelvyn Taylor

802.11ac does promise some tricks to improve range & reliability, but not sure how these will work in practice until I get real products to play...

2 days ago by Kelvyn Taylor via Facebook on Next-generation 802.11ac routers
mrudang009

My wife and I love our new Kindle Fire. It's lightweight, easy to use and has a great interface. The first thing I recommend anyone with a new...

2 days ago by mrudang009 on Waterstones to sell Kindles with in-store offers
mrudang009

It basically unlocks all the Android marketplace apps and unlocks the device. I am one very happy Kindle owner!

2 days ago by mrudang009 on Waterstones to sell Kindles with in-store offers