XPath और XSLT 2.0 .NET के लिए? [बन्द है]


91

.NET 3.5 पूरी तरह से XPATH 2.0 या XSLT 2.0 का समर्थन नहीं करता है, जो अभी बहुत खराब है। क्या किसी को पता है कि क्या इन दोनों को शामिल किया जाएगा और भविष्य में किसी भी .NET संस्करणों में पूरी तरह से समर्थन किया जाएगा?


codeproject.com/Articles/24766/… जावा सैक्सन लाइब्रेरी XSL 2.0 और XQuery 1.0 को लागू करता है। IKVM और GNU क्लासपाथ का उपयोग करके, आप .NET में इस लाइब्रेरी तक पहुँच प्राप्त कर सकते हैं। हालाँकि Saxon का उपयोग करने के लिए इंटरफेस .NET में उपयोग होने वाले लोगों के लिए बहुत अलग हैं। इस आलेख पृष्ठ से आप इंटरफ़ेस एडेप्टर डाउनलोड कर सकते हैं जो सैक्सन इंटरफ़ेस और .NET XslCompiledsransform के बीच की खाई को पाटने में मदद करते हैं। यह बदल जाता है। यह .NET XSL 1.0 से सेक्सन XSL 2.0 के उपयोग से पोर्ट कोड को बहुत आसान बना देता है।
gl123123

3
आप इस सुविधा का अनुरोध पोस्ट कर सकते हैं UserVoice माइक्रोसॉफ्ट द्वारा
Binoj एंटनी

जवाबों:


131

मुझे नहीं लगता कि वे जल्द ही किसी भी समय XPath 2.0 या XSLT 2.0 के लिए समर्थन जोड़ देंगे।

हालाँकि, आपको बुरा नहीं लगना चाहिए यदि ये BCL का हिस्सा नहीं हैं, जब तक कि आपके पास तृतीय पक्ष कार्यान्वयन उपलब्ध है:

Microsoft ग्राहक उन्मुख है। यदि ग्राहक इसे नहीं चाहते हैं, तो वे इसे नहीं बनाएंगे।


2009-11-18: मैंने यहां XML टीम से संपर्क किया और उसे यह प्रतिक्रिया मिली:

जबकि XML हमारे प्लेटफ़ॉर्म का एक महत्वपूर्ण हिस्सा बना हुआ है, हमने इस समय XSLT 2.0 के कार्यान्वयन को आगे नहीं बढ़ाने का फैसला किया है। यदि कोई विशिष्ट XSLT कार्य है जिसे आप पूरा करने की कोशिश कर रहे हैं और XSLT 1.0 के साथ कठिनाई हो रही है, तो कृपया हमें बताएं और हम आपकी मदद करने की पूरी कोशिश करेंगे।


यह सूची अब github.com/maxtoroq/dotnet-xml पर बनाए रखी गई है


22
उन्होंने शुरू में कार्यान्वयन का वादा किया था - यही कारण है कि केवल कुछ कार्यान्वयन हैं क्योंकि जब माइक्रोसॉफ्ट जैसी बड़ी कंपनी कहती है कि हम इसे करेंगे और हम इसे विंडोज के हिस्से के रूप में सभी को दे देंगे, इसे प्रोग्राम करने का कोई कारण नहीं है। लेकिन तब MS ने XML टीम में कई प्रमुख लोगों को खो दिया और तब से 2.0 का समर्थन मृत है।
कोडरिपर

6
यह उत्तर कुछ हद तक परिचित लगता है - मैंने कुछ साल पहले इसी तरह का प्रश्न पूछा था और उसी उत्तर को मिला। शर्म - XSLT 2.0 भाषा की उपयोगिता के लिए एक महत्वपूर्ण सुधार की तरह दिखता है।
ईमोन नेरबोन 18

.NET के लिए लाइटवेट XPath2 अब github.com/StefH/XPath2.Net पर है
rakensi

1
@ आलियाउर इसके लिए मतदान नहीं करने वाले लोग और भी अधिक हैं। यह केवल यह साबित करता है कि XSLT को पसंद करने वाले लोग कितने भावुक हैं। स्कूलों में सिखाई गई कई चीजें शायद ही कभी वास्तविक दुनिया में उपयोग की जाती हैं।
मैक्स टोरो

1
FYI करें: .नेट कोर फ़ीचर अनुरोध: github.com/dotnet/corefx/issues/2295 XPath / XSLT v2 & 3 के लिए समर्थन।
जॉनब्लेवन

23

इस ब्लॉग पोस्ट को देखें

XSLT 2.0 और XPath 2.0 को लागू नहीं करने के कई कारण हैं

सभी 3 प्रौद्योगिकियों (XQuery, XSLT 2.0 और XPath 2.0) को लागू करने के लिए बहुत प्रयास और संसाधन लगते हैं। हमारा मार्गदर्शक सिद्धांत यह था कि हम मानते हैं कि XML क्वेरी प्रौद्योगिकियों का प्रसार बनाने के लिए उपयोगकर्ताओं को समाप्त करने के लिए भ्रामक है। हम इसके बजाय एक और भाषा लागू करेंगे, जिसे हम सीखने के लिए लोगों को धक्का देते हैं, जिसमें XPath 1.0 और XSLT 1.0 के अलावा तीन और XML क्वेरी और ट्रांसफ़ॉर्मेशन भाषाओं का समर्थन और व्याख्या करना है, जो पहले से ही .NET फ्रेमवर्क में मौजूद हैं। हमारे ग्राहकों और लोगों का समर्थन करने के लिए 3 परिष्कृत XML क्वेरी भाषाओं की जटिलता से निपटना है, जिनमें से दो समान दिखती हैं, लेकिन XPath 2.0 के मामले में काफी अलग तरह से व्यवहार करती हैं और XQuery हमें लगता है कि उतना फायदेमंद नहीं है।


12
यह 5 साल पहले के ब्लॉग से है, जिसका शीर्षक है "क्यों आप XSLT 2.0 या XPath 2.0 को .NET फ्रेमवर्क के अगले संस्करण में नहीं देखेंगे" (मेरा जोर)
ब्रायन एग्न्यू

1
धन्यवाद! ध्यान नहीं दिया! एक नए स्पष्टीकरण की उम्मीद करते हुए, इस जवाब को फिर से अस्वीकार कर दिया। (हालांकि यह एक अच्छा स्पष्टीकरण है, इसलिए +1 रहता है।)
दस ब्रिंक

3
उस ने कहा, .NET में XSLT के साथ काम करते समय दो बातें ध्यान में रखने योग्य हैं: 1) यह exslt का समर्थन करता है: नोड-सेट (), जो XSLT 2.0 के बड़े लाभों में से एक को कवर करता है, और 2) msxsl: स्क्रिप्ट आपको बताती है एक्स्टेंसिव एपीआई के साथ मैकिंग के बिना, सी # / वीबी / जेस्क्रिप्ट.नेट का उपयोग करके सीधे अपने एक्सएसएलटी के भीतर मनमाने ढंग से जटिल कार्यों को परिभाषित करें। चूंकि नोड प्रतिनिधित्व के लिए XslCompiledTransformउपयोग करता है XPathNavigator, और बाद के पूरी तरह से XDM को लागू करता है, आप वास्तव में उस के शीर्ष पर कस्टम कार्यों के रूप में सभी XPath2 कार्यक्षमता (ऑपरेटरों की तरह ) <<और लागू कर सकते हैं >>
पावेल मिनाएव

1
यह विषय पर अंतिम संचार नहीं है। जैसे: blogs.msdn.com/xmlteam/archive/2007/01/29/xslt-2-0.aspx
कांटा

10
2013, कोई बदलाव नहीं :(
इवगेनी नाबोकोव

13

मेरी समझ यह है कि कई Microsoft XML संसाधनों को XSLT 2.0 से LINQ पर XML में डायवर्ट कर दिया गया था, जो मेरे विचार में - XSLT जैसी ही समस्या-स्थान को संबोधित नहीं करता है।

LINQ to XSD को LINQ को XML (और साथ ही XML स्कीमा के लाभ को बढ़ाने के लिए माना जाता था, सिंटैक्स कम बदसूरत है), लेकिन यह कुछ समय पहले Microsoft द्वारा CodePlex पर खुला-खट्टा था और इसमें कोई समुदाय समर्थन नहीं प्रतीत होता है।

इसके अलावा, इसकी संभावना नहीं है कि Microsoft एक XSLT 2.0 संपादक के बिना एक नया XSLT 2.0 प्रोसेसर लॉन्च करेगा और डीबगर विजुअल स्टूडियो में एकीकृत होगा, इसलिए उनके 'गैर-गोद लेने' के फैसले को उलटने के लिए काफी प्रयास / समय की आवश्यकता होगी।

इसलिए इसके बजाय हमारे पास Saxon.NET है, जिसमें एक अप्रतिबंधित मानक अनुपालन प्रतिष्ठा है और .NET के लिए उत्कृष्ट एक्स्टेंसिबिलिटी विकल्प प्रदान करता है।


3

Microsoft की .NET में XPath / XSLT 2.0 के लिए समर्थन जारी करने की कोई योजना नहीं है।

XQSharp .NET के लिए XPath 2.0, XSLT 2.0 और XQuery का तृतीय पक्ष कार्यान्वयन प्रदान करता है।

[संपादित करें: XQSharp 2.0 बीटा (XSLT 2.0 के साथ) जारी किया गया है]


@ ओलिवर-हालम: क्या यह पूर्वानुमान अभी भी मान्य है? क्या आप ट्रैक पर हैं?
दिमित्रे नोवाचेव

@ ओलिवर-हॉलम: क्या XQSharp-XSLT 2.0 Saxon.NET से तेज होगा?
दिमित्रे नोवात्चेव

@ दिमित्रे-नोवात्चेव - मजेदार आप अब पूछते हैं; हमारे पास अगले कुछ घंटों में हमारे XSLT कार्यान्वयन का एक बीटा संस्करण होना चाहिए! गति के लिए हम मानते हैं कि हमारा प्रदर्शन सैक्सोन जितना अच्छा है, हालांकि हम पक्षपाती हैं इसलिए हम एक स्वतंत्र राय पसंद करेंगे!
ओलिवर हैलम

1
XQSharp को अब XMLPrime
माइक गेल

2

मुझे विश्वास नहीं हो रहा है कि वे कोर W3C प्रौद्योगिकियों के बाद से किसी स्तर पर नहीं होंगे। हालाँकि मुझे इन पर कोई वर्तमान संदर्भ नहीं मिल सकता है (केवल जानकारी एक लंबे समय से पहले पोस्ट की गई है)।

निकट भविष्य के लिए आपको सैक्सन पर एक नज़र डालनी चाहिए जो आपको आवश्यक Xpath / XSLT संस्करणों का समर्थन करता है।


मैं इसके बजाय AltovaXML का उपयोग करेगा: altova.com/altovaxml.html यह मुफ़्त है और COM के माध्यम से जावा, .NET और WIN32 का समर्थन करता है। यह सिर्फ इतना है कि मुझे उम्मीद है कि .NET नेटिव का समर्थन करेगा।
दस ब्रिंक

1
अल्टोवाएक्सएमएल एपीआई बेकार है, साथ ही यह मूल कोड है, जबकि सेक्सन को प्रबंधित किया जाता है।
मैक्स टोरो

1
अल्तोवा बड़ी समस्या यह है कि वे सही ढंग से सफेद स्थान को लागू करने से इनकार करते हैं केवल पाठ नोड्स संरक्षण।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.