.NET 3.5 doesn't completely support XPATH 2.0 or XSLT 2.0, which is just too bad. Does anyone know if these two will be included and fully supported in any future .NET versions?
相关问题
- Generic Generics in Managed C++
- How to Debug/Register a Permanent WMI Event Which
- 'System.Threading.ThreadAbortException' in
- Bulk update SQL Server C#
- Should I use static function in c# where many call
See this blog post
I don't think they'll add support for XPath 2.0 or XSLT 2.0 any time soon.
However, you shouldn't feel bad if these are not part of the BCL, as long as you have 3rd party implementations available:
Microsoft is customer oriented. If customers don't want it, they won't make it.
2009-11-18: I contacted the XML team here and got this response:
This list is now maintained at github.com/maxtoroq/dotnet-xml
My understanding is that many Microsoft XML resources were diverted from XSLT 2.0 onto LINQ to XML, which - in my view - doesn't address the same problem-space as XSLT at all.
LINQ to XSD was supposed to enhance LINQ to XML (as well as XML Schema benefits, the syntax is less ugly), but this was open-sourced by Microsoft onto CodePlex some time ago and appears to have no community support.
Also, its unlikely that Microsoft would launch a new XSLT 2.0 processor without an XSLT 2.0 editor and debugger integrated into Visual Studio, so quite a bit of effort/time would be required to reverse their 'non-adoption' decision.
So instead we have Saxon.NET, which has an unimpeachable standards compliance reputation and provides excellent extensibility options for .NET.
Microsoft have no plans to release support for XPath/XSLT 2.0 in .NET.
XQSharp provides a 3rd party implementation of XPath 2.0, XSLT 2.0 and XQuery for .NET.
[edit: XQSharp 2.0 beta (with XSLT 2.0) has been released]
I can't believe they won't be at some stage since they're core W3C technologies. However I can't find any current reference to these (only info posted a long time ago).
For the near future you should take a look at Saxon which supports the Xpath/XSLT versions you require.