.NET 3.5 ไม่รองรับ XPATH 2.0 หรือ XSLT 2.0 อย่างสมบูรณ์ซึ่งแย่เกินไป มีใครรู้บ้างว่าสองสิ่งนี้จะรวมและรองรับอย่างเต็มที่ใน. NET เวอร์ชันใด ๆ ในอนาคตหรือไม่?
.NET 3.5 ไม่รองรับ XPATH 2.0 หรือ XSLT 2.0 อย่างสมบูรณ์ซึ่งแย่เกินไป มีใครรู้บ้างว่าสองสิ่งนี้จะรวมและรองรับอย่างเต็มที่ใน. NET เวอร์ชันใด ๆ ในอนาคตหรือไม่?
คำตอบ:
ฉันไม่คิดว่าพวกเขาจะเพิ่มการรองรับ 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
ดูโพสต์บล็อกนี้
มีสาเหตุหลายประการที่ทำให้เราไม่ใช้ XSLT 2.0 และ XPath 2.0
ต้องใช้ความพยายามและทรัพยากรอย่างมากในการนำเทคโนโลยีทั้ง 3 มาใช้ (XQuery, XSLT 2.0 และ XPath 2.0) หลักการแนวทางของเราคือเราเชื่อว่าการสร้างเทคโนโลยีคิวรี XML ที่แพร่หลายทำให้ผู้ใช้ปลายทางสับสน เราอยากจะใช้อีกหนึ่งภาษาที่เราผลักดันให้ผู้คนเรียนรู้มากกว่าที่จะต้องสนับสนุนและอธิบายการสืบค้น XML และภาษาการแปลงอีกสามภาษานอกเหนือจาก XPath 1.0 และ XSLT 1.0 ซึ่งมีอยู่แล้วใน. NET Framework การมีลูกค้าและผู้ให้การสนับสนุนของเราต้องรับมือกับความซับซ้อนของภาษาแบบสอบถาม XML ที่ซับซ้อน 3 ภาษาซึ่งสองภาษามีลักษณะคล้ายกัน แต่ทำงานแตกต่างกันมากในกรณีของ XPath 2.0 และ XQuery ดูเหมือนว่าเราจะไม่เป็นประโยชน์
XslCompiledTransform
ใช้XPathNavigator
สำหรับการแสดงโหนดและส่วนหลังใช้ XDM อย่างสมบูรณ์คุณสามารถใช้ฟังก์ชัน XPath2 ทั้งหมด (เช่นตัวดำเนินการ<<
และ>>
) เป็นฟังก์ชันที่กำหนดเองได้
ความเข้าใจของฉันคือทรัพยากร Microsoft XML จำนวนมากถูกเปลี่ยนจาก XSLT 2.0 ไปยัง LINQ เป็น XML ซึ่งในมุมมองของฉัน - ไม่ได้ระบุพื้นที่ปัญหาเดียวกันกับ XSLT เลย
LINQ เป็น XSD ควรจะปรับปรุง LINQ เป็น XML (เช่นเดียวกับประโยชน์ของ XML Schema ไวยากรณ์นั้นน่าเกลียดน้อยกว่า) แต่ Microsoft เปิดแหล่งที่มาใน CodePlex เมื่อไม่นานมานี้และดูเหมือนจะไม่มีการสนับสนุนจากชุมชน
นอกจากนี้ไม่น่าเป็นไปได้ที่ Microsoft จะเปิดตัวโปรเซสเซอร์ XSLT 2.0 ใหม่โดยไม่มีตัวแก้ไข XSLT 2.0 และตัวแก้ไขข้อบกพร่องที่รวมอยู่ใน Visual Studio ดังนั้นจึงต้องใช้ความพยายาม / เวลาเล็กน้อยในการยกเลิกการตัดสินใจ 'ไม่นำไปใช้' [อัปเดต] ตอนนี้มีส่วนขยาย XSLT 3.0 สำหรับ Microsoft VSCode (จัดการโดยตัวเอง)ที่ทำงานร่วมกับโปรเซสเซอร์ 3.0 XSLT ของ Saxon
ดังนั้นเราจึงมี Saxon.NET ซึ่งมีชื่อเสียงด้านการปฏิบัติตามมาตรฐานที่ไม่สามารถเข้าถึงได้และมีตัวเลือกการขยายที่ยอดเยี่ยมสำหรับ. NET
Microsoft ไม่มีแผนที่จะปล่อยการสนับสนุน XPath / XSLT 2.0 ใน. NET
XQSharpให้การใช้งานบุคคลที่สามของ XPath 2.0, XSLT 2.0 และ XQuery สำหรับ. NET
[แก้ไข: XQSharp 2.0 เบต้า (พร้อม XSLT 2.0) ได้รับการเผยแพร่แล้ว]
ฉันไม่อยากเชื่อเลยว่าพวกเขาจะไม่อยู่ในขั้นตอนใดเนื่องจากเป็นเทคโนโลยี W3C หลัก อย่างไรก็ตามฉันไม่พบข้อมูลอ้างอิงในปัจจุบันเกี่ยวกับสิ่งเหล่านี้ (เฉพาะข้อมูลที่โพสต์ไว้นานแล้ว)
ในอนาคตอันใกล้นี้คุณควรดูที่Saxonซึ่งรองรับ Xpath / XSLT เวอร์ชันที่คุณต้องการ