Michael Rys

Musings on XML, XQuery and more...

<December 2008>
SuMoTuWeThFrSa
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910


Navigation

Papers

SQL Server XML Whitepapers

Weblogging Links

MS Bloggers

Recommended Books

Other Blogs

Recommended Links

Presentations (Upcoming)

Presentations (Recent)

Subscriptions

News


Upcoming Presentations


TechEd 2007, Orlando, June 4 to June 8, 2007


Books I co-authored



www.flickr.com
This is a Flickr badge showing public photos from Michael Rys. Make your own badge here.
eXTReMe Tracker

Post Categories

Article Categories



XQuery 1.0, XSLT 2.0 and XPath 2.0: The blogging continues

Boy oh boy!

Mark Fussell sure earns the dinstinction of having posted one of the most controversial blog entries in a while on the topic of XQuery and XSLT.

As the Microsoft representative to the W3C XQuery Working Group and the Program Manager for the SQL Server Engine support of XQuery, let me join the fray.

Some good comments have been made in return to Mark's post, although some seem to have misunderstood Mark's point and some seem to clearly go off the deep-end. We are not killing XSLT 2.0 for some evil purpose, we just chose to not implement it for now. If enough other implementations will be done (I know Mike Kay is busy working on one), it will survive if it provides benefits. Both Dare and Arpan (welcome back to the world of Blogs, btw), have already given good clarifications here and here, that I would like to summarize here:

  1. We love XSLT for its template-based processing model that allows data-driven data transforms. But for most of these scenarios, XSLT 1.0 with EXSLT seem to address our customer needs (if not, I am sure Arpan and Mark want to hear from you) and XSLT 2.0 seems to provide little in addition (ok, the grouping and the extended function library can be useful).
  2. XQuery 1.0 is providing a language that addresses a different use case of formulating declarative queries over large amounts of XML in databases and caches. For this, XSLT is harder to program and manage and optimize in our opinion.

XPath 2.0 adds little value in itself if you have XQuery 1.0. The main differences are: no constructors, more axes (which I think should be available in a full-fledged XQuery implementation at some time anyway, except for the namespace axis), and XPath 1.0 backwards-compatibility mode. Heck, it even has a subset of the FLWOR expression (no let, no order by).

Regarding XPath 2.0, let me address some potential misunderstandings in Dare's posting (I confirmed this with him in person): When he referred to XPath 2.0, he meant XPath 2.0 with XPath 1.0 backwards-compatibility turned on. Also, he simplified the typing relationship. XQuery can be dynamically or statically typed and strong/weak typing is primarily a property of an individual type as XQuery and XPath both provide weakly and strongly typed data types (I will write another blog entry later this week that will go deeper into the XQuery and XPath type system).

Finally, the question about our (currently defunct) XQuery demo site. As Arpan explains, the demo code was not maintained anymore, so we decided to take it down since there are now two partial XQuery implementations available in (somewhat restricted) beta. I have argued that we provide at least a page at http://xqueryservices.com that provides the information about where to sign up for the .Net Framework beta. But so far, we did not get to it.

Your feedback is indeed appreciated. But you need to understand that the larger the software component gets, the more dependencies both in the code and in the organization itself needs to be managed. This overhead makes it much more difficult to whip up a complete implementation of something like XQuery and/or XSLT 2.0. Having a single person do everything in a small, well-defined component is actually in the short-term and often mid-term more efficient.

posted on Thursday, May 13, 2004 8:23 PM by mrys


# re: Why You Won't See XSLT 2.0 or XPath 2.0 in the Next Version of the .NET Framework @ Friday, May 14, 2004 2:39 PM

mrys

# Take Outs for 14 May 2004 @ Friday, May 14, 2004 11:29 PM

Take Outs for 14 May 2004

mrys

# Take Outs for 14 May 2004 @ Friday, May 14, 2004 11:32 PM

Take Outs for 14 May 2004

mrys

# re: Why You Won't See XSLT 2.0 or XPath 2.0 in the Next Version of the .NET Framework @ Monday, May 17, 2004 6:14 PM

mrys

# XQuery 1.0 or XSLT 2.0? @ Wednesday, May 19, 2004 4:55 AM

I’ve seen a number of recent blogs about XPath 2.0, XSLT 2.0, XQuery 1.0, and their relation to each other. My 2¢.

mrys




Powered by Dot Net Junkies, by Telligent Systems