.NET 3.5 tidak sepenuhnya mendukung XPATH 2.0 atau XSLT 2.0, yang terlalu buruk. Adakah yang tahu jika keduanya akan disertakan dan didukung penuh dalam versi .NET mendatang?
.NET 3.5 tidak sepenuhnya mendukung XPATH 2.0 atau XSLT 2.0, yang terlalu buruk. Adakah yang tahu jika keduanya akan disertakan dan didukung penuh dalam versi .NET mendatang?
Jawaban:
Saya tidak berpikir mereka akan menambahkan dukungan untuk XPath 2.0 atau XSLT 2.0 dalam waktu dekat.
Namun, Anda tidak akan merasa sedih jika ini bukan bagian dari BCL, selama Anda memiliki penerapan pihak ketiga yang tersedia:
Microsoft berorientasi pada pelanggan. Jika pelanggan tidak menginginkannya, mereka tidak akan berhasil.
2009-11-18: Saya menghubungi tim XML di sini dan mendapat tanggapan ini:
Meskipun XML terus menjadi bagian penting dari platform kami di masa mendatang, kami telah memutuskan untuk tidak mengejar penerapan XSLT 2.0 saat ini. Jika ada tugas XSLT tertentu yang Anda coba selesaikan dan mengalami kesulitan dengan XSLT 1.0, beri tahu kami dan kami akan melakukan yang terbaik untuk membantu.
Daftar ini sekarang disimpan di github.com/maxtoroq/dotnet-xml
Lihat postingan blog ini
Ada beberapa alasan mengapa kami tidak menerapkan XSLT 2.0 dan XPath 2.0
Dibutuhkan banyak usaha dan sumber daya untuk menerapkan semua 3 teknologi (XQuery, XSLT 2.0 & XPath 2.0). Prinsip panduan kami adalah bahwa kami yakin membuat perkembangan teknologi kueri XML akan membingungkan pengguna akhir. Kami lebih suka menerapkan satu bahasa lagi yang kami dorong agar orang belajar daripada harus mendukung dan menjelaskan tiga bahasa kueri dan transformasi XML lagi, selain XPath 1.0 & XSLT 1.0 yang sudah ada di .NET Framework. Memiliki pelanggan dan orang-orang pendukung kami harus berurusan dengan kompleksitas dari 3 bahasa kueri XML yang canggih, dua di antaranya terlihat serupa tetapi berperilaku sangat berbeda dalam kasus XPath 2.0 dan XQuery bagi kami tampaknya tidak terlalu menguntungkan.
XslCompiledTransform
digunakan XPathNavigator
untuk representasi node, dan yang terakhir mengimplementasikan XDM sepenuhnya, Anda sebenarnya dapat mengimplementasikan semua fungsionalitas XPath2 (seperti operator <<
dan >>
) sebagai fungsi kustom di atasnya.
Pemahaman saya adalah bahwa banyak sumber daya Microsoft XML dialihkan dari XSLT 2.0 ke LINQ ke XML, yang - dalam pandangan saya - tidak membahas ruang masalah yang sama dengan XSLT sama sekali.
LINQ ke XSD seharusnya meningkatkan LINQ ke XML (serta manfaat Skema XML, sintaksnya tidak terlalu jelek), tetapi ini bersumber terbuka oleh Microsoft ke CodePlex beberapa waktu lalu dan tampaknya tidak memiliki dukungan komunitas.
Selain itu, kecil kemungkinannya Microsoft akan meluncurkan prosesor XSLT 2.0 baru tanpa editor dan debugger XSLT 2.0 yang terintegrasi ke dalam Visual Studio, sehingga diperlukan sedikit usaha / waktu untuk membalikkan keputusan 'non-adopsi' mereka. [Pembaruan] Sekarang ada ekstensi XSLT 3.0 untuk Microsoft VSCode (dikelola sendiri) yang terintegrasi dengan prosesor XSLT 3.0 Saxon.
Jadi sebagai gantinya kami memiliki Saxon.NET, yang memiliki reputasi kepatuhan standar yang tidak dapat disangkal dan menyediakan opsi ekstensibilitas yang sangat baik untuk .NET.
Microsoft tidak berencana merilis dukungan untuk XPath / XSLT 2.0 di .NET.
XQSharp menyediakan implementasi pihak ketiga XPath 2.0, XSLT 2.0 dan XQuery untuk .NET.
[sunting: XQSharp 2.0 beta (dengan XSLT 2.0) telah dirilis]
Saya tidak percaya mereka tidak akan berada pada tahap tertentu karena mereka adalah teknologi inti W3C. Namun saya tidak dapat menemukan referensi terkini untuk ini (hanya info yang diposting lama sekali).
Dalam waktu dekat Anda harus melihat Saxon yang mendukung versi Xpath / XSLT yang Anda butuhkan.