Lists Home |
Date Index |
David Carlisle wrote:
> All these answers are reasonable. From the beginning, Quilt and XQuery
> focussed on the ability to use the structure of XML as a way to query
> anything. When we designed Quilt, relational databases, native XML
> stores, and XML files were all vivid in our minds. Here's the abstrat
> from the XQuery spec:
>What seems strange to many people though is why the W3C docs don't
>describe (and possibly even define) Xquery as a cut down version of
>XSLT, with an ad-hoc syntax. That is, essentially, what it is isn't it?
In XQuery, I search in vain for rewrite rules (templates) and a
recursive processing model (apply-templates).
In XSLT, I search in vain for FLWOR expression.
One can program an XSLT processor in XQuery. One can program an XQuery
processor in XSLT. I don't think it is fun, but one can. They are not
cut-down versions of each other.
>It may be that restricting the features of XSLT allows the system to be
>more readily optimised for dataabse queries, and this is no doubt a
Optimisation yes, but I guess for programmers in the first place:
Optimise the number of symbols one has to key in to write a database query.
XSLT optimises the number of concepts the programmer needs to master to
perform template transformations.
>useful thing to do, but if that's what you are doing, why describe it as
>a completely new language?
There are even more natural languages out there, yet people keep on
speaking English, speaking other languages than English, and continuing
to learn foreign languages. (the comparison is maybe weak because people
do not reinvent Lojban and Esperanto each time they stab their toe on
some difficult aspect of grammar ;-)
XQuery has no relation to other W3C standards (i.e. cut-down version
etc). It does build on XPath, which is reasonable. I don't see XSLT
hackers migrating to XQuery, but maybe those who never really wanted to
use XSLT but feel "forced" to because it is a standard way of
Maybe your question should be "ok, why not add querying functionality to
XPath, so it is available in XSLT? Where to draw the line?" because
XPath is also a small querying language.