XPath 3

XPath 3 هو أحدث إصدار من لغة مسار XML ، وهي لغة استعلام لاختيار العقد في مستندات XML . وهو يحل محل XPath 1.0 و XPath 2.0 .

أصبح XPath 3.0 توصية من W3C في 8 أبريل 2014، بينما أصبح XPath 3.1 توصية من W3C في 21 مارس 2017.

الميزات الجديدة في XPath 3.0

بالمقارنة مع XPath 2.0 ، يضيف XPath 3.0 الميزات الجديدة التالية:

تعبيرات الدوال المضمنة
يمكن إنشاء الدوال المجهولة في سياق تعبير . على سبيل المثال، يُنشئ التعبير دالة تُعيد حاصل ضرب وسيطيها. ويُنشئ التعبير سلسلة من الدوال، تُعيد كل منها عقدة مختلفة من مجموعة.function($aasxs:double,$basxs:double)asxs:double{$a*$b}collection()/(let$a:=.returnfunction(){$a})
استدعاءات الدوال الديناميكية
يمكن استدعاء قيم الدوال دون الإشارة إليها بالاسم. على سبيل المثال، يسترجع العنصر الثاني من التسلسل ، ويستدعيه كدالة، مع تمرير السلسلة كوسيط.$f[2]("Hi there")$f"Hi there"
أنواع النقابات
يمكن استخدام أنواع الاتحاد ، كما هو محدد في مخطط XML ، في تحويلات الأنواع وتوقيعات أنواع الدوال .
القيم الحرفية لمساحة الاسم
يمكن الإشارة إلى مساحات أسماء XML باستخدام نصوص URI بين قوسين معقوفين. على سبيل المثال، يمكن توسيع الاسم المؤهل إلى ، مما يؤدي إلى تضمين URI مساحة الاسم داخل البادئة.math:piQ{http://www.w3.org/2005/xpath-functions/math}pi
عامل دمج السلاسل
يمكن استخدام ||المعامل الجديد لدمج السلاسل النصية : $a || $bوهو مكافئ لـ .fn:concat($a,$b)
مشغل الخرائط
يقوم المعامل الجديد !بعملية ربط بسيطة: يُقيّم كل عنصر في التسلسل ، ثم يُدمج العناصر الناتجة. وهذا يُشابه معامل المسار ، لكن هذا المعامل لا يُجري عملية حذف العناصر المكررة ولا يُرتب نتائج البحث.E1 ! E2E2E1/!

الميزات الجديدة في XPath 3.1

يُضيف XPath 3.1 بشكل أساسي دعمًا لأنواع بيانات المصفوفات والخرائط ( المصفوفات الترابطية ). تهدف هذه الأنواع ووظائفها المرتبطة بها إلى تسهيل التعامل مع بيانات JSON .

ومن الابتكارات الأخرى عامل السهم =>لتسلسل الدوال. على سبيل المثال، تعبير XPath 2.0

يحتوي على ( أحرف كبيرة ( سلسلة فرعية قبل ( $ في ، ' ' ))، 'X' )

يمكن الآن كتابتها

$ in = > substring-before ( ' ' ) = > upper-case () = > contains ( 'X' )

مراجع