.NET 3.5 unterstützt XPATH 2.0 oder XSLT 2.0 nicht vollständig, was einfach zu schade ist. Weiß jemand, ob diese beiden in zukünftigen .NET-Versionen enthalten und vollständig unterstützt werden ?
.NET 3.5 unterstützt XPATH 2.0 oder XSLT 2.0 nicht vollständig, was einfach zu schade ist. Weiß jemand, ob diese beiden in zukünftigen .NET-Versionen enthalten und vollständig unterstützt werden ?
Antworten:
Ich glaube nicht, dass sie in Kürze Unterstützung für XPath 2.0 oder XSLT 2.0 hinzufügen werden.
Sie sollten sich jedoch nicht schlecht fühlen, wenn diese nicht Teil der BCL sind, solange Sie Implementierungen von Drittanbietern zur Verfügung haben:
Microsoft ist kundenorientiert. Wenn Kunden es nicht wollen, schaffen sie es nicht.
18.11.2009: Ich habe das XML-Team hier kontaktiert und folgende Antwort erhalten:
Während XML auch in Zukunft ein wichtiger Bestandteil unserer Plattform ist, haben wir uns entschieden, derzeit keine XSLT 2.0-Implementierung durchzuführen. Wenn Sie eine bestimmte XSLT-Aufgabe ausführen möchten und Probleme mit XSLT 1.0 haben, teilen Sie uns dies bitte mit, und wir werden unser Bestes tun, um Ihnen zu helfen.
Diese Liste wird jetzt unter github.com/maxtoroq/dotnet-xml gepflegt
Siehe diesen Blog-Beitrag
Es gibt mehrere Gründe, warum wir XSLT 2.0 und XPath 2.0 nicht implementieren
Die Implementierung aller drei Technologien (XQuery, XSLT 2.0 und XPath 2.0) erfordert viel Aufwand und Ressourcen. Unser Leitprinzip war, dass wir glauben, dass die Schaffung einer Verbreitung von XML-Abfragetechnologien für Endbenutzer verwirrend ist. Wir möchten lieber eine weitere Sprache implementieren, die wir lernen möchten, als drei weitere XML-Abfrage- und Transformationssprachen zu unterstützen und zu erklären, zusätzlich zu XPath 1.0 und XSLT 1.0, die bereits in .NET Framework vorhanden sind. Unsere Kunden und Support-Mitarbeiter müssen sich mit der Komplexität von drei hoch entwickelten XML-Abfragesprachen auseinandersetzen, von denen zwei ähnlich aussehen, sich aber im Fall von XPath 2.0 und XQuery ganz anders verhalten. Dies schien uns nicht so vorteilhaft zu sein.
XslCompiledTransform
Verwendung XPathNavigator
für die Knotendarstellung und letztere XDM vollständig implementiert, können Sie darüber hinaus alle XPath2-Funktionen (wie Operatoren <<
und >>
) als benutzerdefinierte Funktionen implementieren .
Nach meinem Verständnis wurden viele Microsoft XML-Ressourcen von XSLT 2.0 auf LINQ nach XML umgeleitet, was meiner Ansicht nach überhaupt nicht den gleichen Problembereich wie XSLT betrifft.
LINQ to XSD sollte LINQ to XML verbessern (neben den Vorteilen des XML-Schemas ist die Syntax weniger hässlich), wurde jedoch vor einiger Zeit von Microsoft auf CodePlex als Open-Source-Version bereitgestellt und scheint keine Community-Unterstützung zu haben.
Es ist auch unwahrscheinlich, dass Microsoft einen neuen XSLT 2.0-Prozessor ohne einen in Visual Studio integrierten XSLT 2.0-Editor und -Debugger startet. Daher wäre ein beträchtlicher Aufwand erforderlich, um die Entscheidung über die Nichtübernahme rückgängig zu machen.
Stattdessen haben wir Saxon.NET, das einen unanfechtbaren Ruf in Bezug auf die Einhaltung von Standards hat und hervorragende Erweiterungsoptionen für .NET bietet.
Microsoft hat nicht vor, die Unterstützung für XPath / XSLT 2.0 in .NET freizugeben.
XQSharp bietet eine Drittanbieterimplementierung von XPath 2.0, XSLT 2.0 und XQuery für .NET.
[Bearbeiten: XQSharp 2.0 Beta (mit XSLT 2.0) wurde veröffentlicht]
Ich kann nicht glauben, dass sie irgendwann nicht mehr da sein werden, da es sich um W3C-Kerntechnologien handelt. Ich kann jedoch keinen aktuellen Verweis darauf finden (nur Informationen, die vor langer Zeit veröffentlicht wurden).
Für die nahe Zukunft sollten Sie sich Saxon ansehen, das die von Ihnen benötigten Xpath / XSLT-Versionen unterstützt.