.NET 3.5, XPATH 2.0 veya XSLT 2.0'ı tamamen desteklemiyor ki bu çok kötü. Bu iki yer ve edilecek olmadığını biliyor mu tam olarak desteklenen ileride NET sürümlerinde?
.NET 3.5, XPATH 2.0 veya XSLT 2.0'ı tamamen desteklemiyor ki bu çok kötü. Bu iki yer ve edilecek olmadığını biliyor mu tam olarak desteklenen ileride NET sürümlerinde?
Yanıtlar:
Yakın zamanda XPath 2.0 veya XSLT 2.0 için destek ekleyeceklerini sanmıyorum.
Ancak, 3. taraf uygulamalarınız olduğu sürece bunlar BCL'nin parçası değilse kendinizi kötü hissetmemelisiniz:
Microsoft müşteri odaklıdır. Müşteriler istemezse, başaramayacaklar.
2009-11-18: XML ekibiyle buradan iletişime geçtim ve şu yanıtı aldım:
XML ileriye dönük platformumuzun önemli bir parçası olmaya devam ederken, şu anda XSLT 2.0 uygulamasını takip etmemeye karar verdik. Başarmaya çalıştığınız belirli bir XSLT görevi varsa ve XSLT 1.0'da zorluk yaşıyorsanız, lütfen bize bildirin, size yardımcı olmak için elimizden geleni yapacağız.
Bu liste artık github.com/maxtoroq/dotnet-xml adresinde tutulmaktadır.
Bu blog gönderisine bakın
XSLT 2.0 ve XPath 2.0'ı uygulamamamızın birkaç nedeni var
3 teknolojinin tümünü (XQuery, XSLT 2.0 ve XPath 2.0) uygulamak çok çaba ve kaynak gerektirir. Temel ilkemiz, XML sorgu teknolojilerinin yaygınlaşmasının son kullanıcılar için kafa karıştırıcı olduğuna inanmamızdı. Halihazırda .NET Framework'te mevcut olan XPath 1.0 ve XSLT 1.0'a ek olarak, üç XML sorgusu ve dönüştürme dilini desteklemek ve açıklamak yerine, insanları öğrenmeye zorladığımız bir dil daha uygulamayı tercih ediyoruz. Müşterilerimize ve destek çalışanlarımıza sahip olmak, ikisi benzer görünen ancak XPath 2.0 ve XQuery durumunda oldukça farklı davranan 3 karmaşık XML sorgu dilinin karmaşıklığıyla başa çıkmak zorunda.
XslCompiledTransform
kullanımlar XPathNavigator
düğüm temsil için ve ikincisi tam uygular XDM, aslında bütün XPath2 (operatörler gibi işlevleri uygulayabilirsiniz <<
ve >>
bunun üzerine özel işlevler gibi).
Anladığım kadarıyla, birçok Microsoft XML kaynağı XSLT 2.0'dan LINQ'ya, XML'e yönlendirildi, ki bu benim görüşüme göre - XSLT ile aynı problem alanını ele almıyor.
LINQ to XSD'nin LINQ to XML'i geliştirmesi gerekiyordu (XML Şeması yararlarının yanı sıra, sözdizimi daha az çirkin), ancak bu, bir süre önce Microsoft tarafından CodePlex'e açık kaynaklıydı ve topluluk desteğine sahip olmadığı görülüyor.
Ayrıca, Microsoft'un bir XSLT 2.0 editörü ve Visual Studio'ya entegre hata ayıklayıcı olmadan yeni bir XSLT 2.0 işlemcisi başlatması pek olası değildir, bu nedenle 'benimsememe' kararını tersine çevirmek için epeyce çaba / zaman gerekir. [Güncelleme] Artık Saxon'un 3.0 XSLT işlemcisiyle entegre olan Microsoft VSCode için (kendim yönetiyor) bir XSLT 3.0 uzantısı var.
Bunun yerine, kusursuz bir standartlara uyumluluk itibarına sahip olan ve .NET için mükemmel genişletilebilirlik seçenekleri sunan Saxon.NET'e sahibiz.
Microsoft'un .NET'te XPath / XSLT 2.0 desteği yayınlama planı yoktur.
XQSharp , .NET için XPath 2.0, XSLT 2.0 ve XQuery'nin 3. taraf uygulamasını sağlar.
[düzenleme: XQSharp 2.0 beta (XSLT 2.0 ile) yayınlandı]
Temel W3C teknolojileri oldukları için bir aşamada olmayacaklarına inanamıyorum. Ancak bunlarla ilgili güncel bir referans bulamıyorum (yalnızca uzun süre önce gönderilen bilgiler).
Yakın gelecekte yapabilmek için en bir göz atmalısınız Saxon size gereken XPath / XSLT sürümlerini desteklemektedir.