Thursday, August 27, 2009

Where is Microsoft's XSLT 2?

In January 2007 you found this announcement in the Microsoft XML Team Blog

"We are pleased to note that XSLT 2.0 and XPath 2.0 are now W3C Recommendations. Microsoft contributed thousands of person-hours to the W3C efforts that developed these standards and is committed assist with the further development of XML standards at W3C.
Neither are yet implemented over standalone documents in our libraries, mainly because we have a policy of not implementing W3C specifications in the core System.Xml and MSXML libraries until they are official Recommendations. "

As XSLT 2 is still not found in any library published by Microsoft, given their policies XSLT 2 is 2.5 years overdue.

Even worse. I think no one has ever heard of XSLT 2 by Microsoft again. Just lately Microsoft has released the MSXML 6 ServicePack 3. Still nothing about XSLT 2.

XSLT 1 is simply insufficient. Without the non XSLT 1 function node-set() you cannot even sum up two related fields like here.

<xsl:value-of select="sum(./nominal * ./prices)"/><!-- Not working in XSLT 1 -->

What about alternatives? There is for example Saxon that is both available for .Net and Java. But unfortunately Saxxon is still working as an interpreter. This eliminates this choice for high performance XSLT transformations, e.g. if you need to deserialize the result of the transformation into objects.

So for high performance scenarios there is still no available XSLT 2 processor on the market for .Net which is, after Microsoft contributed thousands of hours to the standard, quite awkward in my eyes.

I think it is definitely time for Microsoft to bring XSLT 2 to the masses, including a high performance XSLTCompiledtransform2 library for .Net.

In order to raise the pressure, please write the Microsoft XML team why you need XSLT 2.

On 23.09.2009 is asked through their team blog the following....


I recently found out that IBM published a public beta regarding XSLT 2. Intel is obviously working on XSLT 2 as well.

What is the status of XSLT 2 at Microsoft?


The answer to my question comes a week later...


While XML continues to be a key part of our platform going forward, we have decided not to pursue an XSLT 2.0 implementation at this time. If there is a specific XSLT task you’re trying to accomplish and are having difficulty with XSLT 1.0, please let us know and we’ll do our best to help.