[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: XQuery: is FLWR a <xsl:foreach/> ?
- From: Jonathan Robie <Jonathan.Robie@SoftwareAG-USA.com>
- To: Charles Reitzel <creitzel@mediaone.net>, xml-dev@lists.xml.org
- Date: Thu, 01 Mar 2001 10:20:08 -0500
At 01:00 AM 2/26/2001 -0500, Charles Reitzel wrote:
>On Sat, 24 Feb 2001 Jonathan Robie wrote:
> >If you want us to use XSLT syntax directly in favor of our FLWR
> >expressions, I need to know the answers to questions like these:
> >
> >1. What are the equivalences that can be exploited for query optimization?
> >2. What are the typing rules for the possible <xsl:foreach/> constructs?
> >3. How are the various possible <xsl:foreach/> constructs translated into
> >SQL? (fill in your favorite environment in place of SQL)
> >
> >Do you know of any good work in these areas? Please don't ask me to do it
> >myself, or ask for proof that it can not be done. If we want a solution in
> >a reasonable amount of time, we should build on work that exists.
>
>These are tasks the XML Query WG can and should perform, perhaps in
>conjunction with the XSLT WG. I expect the equivalences will be of a
>similar nature, typically XPath rewriting.
I am not at all sure that the Query WG can optimize all of XSLT, and I'm
quite confident that we can't do so and still get the language to market in
a reasonable time frame.
The people who are working on optimizability of XQuery generally believe
that it is more optimizable than XSLT in general. When I heard assertions
on this list that all of XSLT is as optimizable as XQuery, I gave a
reference to a good general paper on query optimization, and gave an
example of the kinds of rewriting rules that I think may be used in
optimizing XQuery.
There is a subset of XSL that is easily supported by the XML Query algebra,
including roughly:
- xsl:element
- xsl:attribute
- literal result elements
- xsl:for-each
- xsl:if
- xsl:choose/xsl:when
I am not an expert on query optimization, and there are others who are much
better at the Query Algebra than I am, but I do not see how we could use
the Query Algebra for templates or some other parts of XSLT. I also do not
know how to do many traditional forms of query optimization on them.
I want us to keep XQuery simple and optimizable for large repositories.
That means relying on what we think we can figure out how to optimize
fairly soon. The XML Query Algebra team, which is enormously talented, has
been working very hard for over a year and they are not done with the
subset that I think we should support in Level 1.
Jonathan