XPath e XSLT 2.0 per .NET?

.NET 3.5 non supporta completamente XPATH 2.0 o XSLT 2.0, il che è semplicemente pessimo. Qualcuno sa se questi due saranno inclusi e supportati in tutte le versioni future di .NET?

Non penso che presto aggiungeranno il supporto per XPath 2.0 o XSLT 2.0.

Tuttavia, non dovresti sentirti male se questi non fanno parte del BCL, purché siano disponibili implementazioni di terze parti:

  • Saxon : XPath 3.1, XQuery 3.1, XSLT 3.0
  • XmlPrime : XPath 3.1, XQuery 3.1, XSLT 2.0
  • QueryMachine : XPath 2.0, XQuery 1.0
  • Leggero XPath2 per .NET : XPath 2.0
  • Exselt : XSLT 3.0

Microsoft è orientata al cliente. Se i clienti non lo vogliono, non ce la faranno.


18/11/2009: ho contattato il team XML qui e ho ricevuto questa risposta:

Mentre XML continua ad essere una parte fondamentale della nostra piattaforma in futuro, abbiamo deciso di non perseguire un’implementazione XSLT 2.0 in questo momento. Se esiste un compito XSLT specifico che stai cercando di raggiungere e che hanno difficoltà con XSLT 1.0, faccelo sapere e faremo del nostro meglio per aiutarti.


Questo elenco è ora mantenuto su github.com/maxtoroq/dotnet-xml

Vedi questo post sul blog

Ci sono diversi motivi per cui non stiamo implementando XSLT 2.0 e XPath 2.0

Occorrono molte risorse e risorse per implementare tutte e 3 le tecnologie (XQuery, XSLT 2.0 e XPath 2.0). Il nostro principio guida era che crediamo che la creazione di una proliferazione di tecnologie di query XML sia fonte di confusione per gli utenti finali. Preferiamo implementare un’altra lingua che spingiamo le persone a imparare piuttosto che supportare e spiegare altri tre linguaggi XML di query e trasformazione, oltre a XPath 1.0 e XSLT 1.0 già esistenti in .NET Framework. Avere clienti e persone di supporto devono affrontare la complessità di 3 sofisticati linguaggi di query XML, due dei quali sono simili ma si comportano in modo abbastanza diverso nel caso di XPath 2.0 e XQuery ci sembrava non essere così vantaggioso.

La mia comprensione è che molte risorse Microsoft XML sono state trasferite da XSLT 2.0 a LINQ a XML, che – a mio avviso – non riguardano affatto lo stesso spazio problema di XSLT.

LINQ to XSD avrebbe dovuto migliorare LINQ in XML (così come i vantaggi dello schema XML, la syntax è meno brutta), ma questo è stato open source da Microsoft su CodePlex qualche tempo fa e sembra non avere alcun supporto da parte della comunità.

Inoltre, è improbabile che Microsoft lancerebbe un nuovo processore XSLT 2.0 senza un editor XSLT 2.0 e un debugger integrato in Visual Studio, quindi sarebbe necessario un po ‘di tempo / sforzo per invertire la loro decisione di “non adozione”.

Così, invece, abbiamo Saxon.NET, che ha una reputazione di conformità agli standard impeccabile e offre eccellenti opzioni di estensibilità per .NET.

Microsoft non prevede di rilasciare il supporto per XPath / XSLT 2.0 in .NET.

XQSharp fornisce un’implementazione di terze parti di XPath 2.0, XSLT 2.0 e XQuery per .NET.

[modifica: XQSharp 2.0 beta (con XSLT 2.0) è stato rilasciato]

Non posso credere che non saranno a un certo punto dal momento che sono tecnologie W3C di base. Tuttavia non riesco a trovare alcun riferimento corrente a questi (solo informazioni postate molto tempo fa).

Per il prossimo futuro dovresti dare un’occhiata a Saxon che supporta le versioni Xpath / XSLT richieste.