Prakash, Prakash Yamuna, Yamuna wrote:
> Perhaps XQuery has not taken off because it was designed primarily as
> query language for an XML database? If we look back at the
> justifications for XQuery - optimization stands out as primary reason.
> Given such a pre-requisite it seems like XML databases have to take off
> before XQuery can.
Or at least databases that use XML. XQuery is being implemented by most
of the major relational database vendors, but these implementations are
not yet available. And it's being implemented by most of the XML
databases, but these are a smaller market.
You are absolutely correct. When I mentioned XML database - I didn't have a native XML database in mind.
> Of course whether XQuery turns out to be the winner or some variant of
> SQL is an open question.
Actually, H2 is actively working to add XQuery to SQL/XML, so the SQL
variant that will be part of the standard will include XQuery. Some
might consider that a measure of success.
Good to know;
Frankly whether XQuery succeeds or not is a moot point - if it doesn't something else will - but the lessons learnt from the XQuery effort will definitely be useful.
The key point - I think is that there is a niche "A Query language for XML databases (native XML databases or XML over relational/object databases)".
This will take off once XML databases take off - which should happen in a few years as the big database vendors start adding support.
One cannot use XSLT - for a variety of reasons - but the big #2 in my mind are:
[Note: most of these are not my own - unfortunately I am unable to find the relevant sources to attribute the relevant points]:
1) the query compilation and optimization has been well researched for SQL and the vendors would like to leverage their investments in supporting XQuery.
2) Not much research exists in using template based/rule based query languages (atleast as far as I know - please feel free to share the links if people are aware of such work). Perhaps the database community has tunnel vision and does not want to look outside the established way of doing things - but even if it does #1 will override.