إكسفورمز
XForms هو تنسيق XML يُستخدم لجمع المدخلات من نماذج الويب . صُمم XForms ليكون الجيل التالي من نماذج HTML / XHTML ، ولكنه عام بما يكفي لاستخدامه بشكل مستقل أو مع لغات عرض أخرى غير XHTML لوصف واجهة المستخدم ومجموعة من مهام معالجة البيانات الشائعة.
تم نشر XForms 1.0 (الإصدار الثالث) في 29 أكتوبر 2007. أصبحت مواصفات XForms الأصلية توصية رسمية من W3C في 14 أكتوبر 2003، بينما وصل XForms 1.1، الذي قدم عددًا من التحسينات، إلى نفس الحالة في 20 أكتوبر 2009.
الاختلافات عن نماذج الويب
على عكس نماذج الويب الأصلية (المُعرّفة بلغة HTML)، استخدم مُطوّرو XForms منهجية نموذج-عرض-متحكم (MVC). يتألف النموذج من نموذج واحد أو أكثر من نماذج XForms التي تصف بيانات النموذج، والقيود المفروضة على تلك البيانات، وعمليات الإرسال. أما العرض فيصف عناصر التحكم الظاهرة في النموذج، وكيفية تجميعها، والبيانات المرتبطة بها. ويمكن استخدام CSS لوصف مظهر النموذج.
يمكن أن يكون مستند XForms بسيطًا مثل نموذج ويب (بتحديد عنصر الإرسال فقط في قسم النموذج، ووضع عناصر التحكم في قسم النص)، لكن XForms يتضمن العديد من الميزات المتقدمة. على سبيل المثال، يمكن طلب بيانات جديدة واستخدامها لتحديث النموذج أثناء تشغيله، تمامًا كما هو الحال مع XMLHttpRequest / AJAX ولكن بدون برمجة. يستطيع مُنشئ النموذج التحقق من صحة بيانات المستخدم باستخدام أنواع بيانات XML Schema ، واشتراط بيانات معينة، وتعطيل عناصر التحكم في الإدخال أو تغيير أقسام النموذج حسب الظروف، وفرض علاقات محددة بين البيانات، وإدخال مصفوفات بيانات متغيرة الطول، وإخراج قيم محسوبة مستمدة من بيانات النموذج، وملء الحقول مسبقًا باستخدام مستند XML، والاستجابة للإجراءات في الوقت الفعلي (بدلاً من وقت الإرسال)، وتعديل نمط كل عنصر تحكم حسب الجهاز الذي يُعرض عليه (متصفح سطح المكتب مقابل الهاتف المحمول مقابل النص فقط، إلخ). غالبًا لا حاجة إلى أي برمجة باستخدام لغات مثل JavaScript. ومع ذلك، يتضمن XForms نموذج أحداث وإجراءات لتنفيذ سلوكيات نموذج أكثر تعقيدًا. [ 1 ] يتم تحديد الإجراءات ومعالجة الأحداث باستخدام لهجة XForms XML بدلاً من لغات البرمجة النصية الأكثر شيوعًا مثل JavaScript.
على غرار نماذج الويب، يمكن لـ XForms استخدام بروتوكولات إرسال متنوعة غير XML ( مثل multipart/form-data و application/x-www-form-urlencoded )، ولكن من ميزاتها الجديدة إمكانية إرسال البيانات إلى الخادم بتنسيق XML. كما يمكن استخدام مستندات XML لتعبئة البيانات مسبقًا في النموذج. ولأن XML معيار، تتوفر العديد من الأدوات التي يمكنها تحليل البيانات وتعديلها عند الإرسال. وتوجد أدوات مماثلة للنماذج القديمة أيضًا. XForms هي نفسها لهجة XML، وبالتالي يمكنها إنشاء مستندات XML أخرى أو أن تُنشأ منها باستخدام XSLT . وباستخدام التحويلات، يمكن إنشاء XForms تلقائيًا من مخططات XML ، كما يمكن تحويلها إلى نماذج XHTML.
دعم البرامج
حتى وقت كتابة هذا التقرير، لا يدعم أي متصفح ويب شائع الاستخدام تقنية XForms بشكل أصلي. ومع ذلك، توجد العديد من إضافات المتصفح، وامتدادات جانب العميل، وحلول الخادم/العميل. فيما يلي قائمة ببعض التطبيقات:
- كانت إضافة XForms لمتصفح Firefox جزءًا من مشروع Mozilla. [ 2 ] لم يكتمل دعم XForms 1.0 SE، ولكنه يغطي معظم المواصفات باستثناء ملحوظ يتعلق بالتكرار القائم على السمات المستخدم في جداول HTML. كانت الإضافة متاحة لكل من Firefox 2 وFirefox 3، ولكنها لم تُحدَّث لدعم Firefox 4 والإصدارات الأحدث. في يوليو 2011، كتب المطور الرئيسي أن دعم XForms لن يُحدَّث بعد الآن. [ 3 ] تم إيقاف دعم XForms نهائيًا في Firefox 19. [ 4 ]
- يدعم برنامج IBM Lotus Forms تطوير ونشر نماذج XML خالصة مبنية على XForms. تتوفر نسخ تجريبية قابلة للتنزيل لبيئة تصميم مرئية مبنية على Eclipse، بالإضافة إلى عارض من جانب العميل يمكنه تشغيل نماذج XForms في متصفح الويب وكتطبيق سطح مكتب مستقل.
- يدعم كل من OpenOffice.org الإصدار 2.0 والإصدارات الأحدث و LibreOffice خاصية XForms. [ 5 ] [ 6 ]
مقارنة تقنيات التنفيذ
تعتمد نماذج FormFaces وAJAXForms وXSLTForms وbetterFORM وChiba وOrbeon وSmartsite Forms على تقنية Ajax. ويختلف مقدار المعالجة من جانب الخادم ومن جانب العميل بين هذه التطبيقات. فعلى سبيل المثال، توفر نماذج Ubiquity XForms وFormFaces وXSLTForms معالجة كاملة من جانب العميل لنموذج XForms وتحديثات نموذج البيانات عبر معالجة Ajax خالصة وفقًا لمعيار XForms. أما النماذج الأخرى فتستخدم معالجة Java/.NET XForms من جانب الخادم، حيث يتم تحويل الترميز إلى ترميز Ajax قبل إرسال المحتوى إلى المتصفح. وتعمل كلتا التقنيتين على مختلف المتصفحات. ويختلف كل تطبيق اختلافًا كبيرًا فيما يتعلق بالتبعيات، وقابلية التوسع، والأداء، والترخيص، والنضج، وحركة مرور الشبكة، وإمكانية العمل دون اتصال بالإنترنت، والتوافق بين المتصفحات. لذا، ينبغي على مهندسي الأنظمة تقييم هذه القيود في ضوء احتياجاتهم لتحديد المخاطر والأهداف المحتملة.
يمكن أن يكون للمكونات الإضافية مثل FormsPlayer وغيرها من التقنيات من جانب العميل بعض الفوائد أيضًا: لأنها تدمج نفسها في المتصفح، فإنها ستعمل مع بنى الخوادم الحالية، ويمكن أن تكون أكثر استجابة، وتتطلب عددًا أقل من عمليات جلب البيانات من الخادم.
يكمن الفرق بين حلول جانب الخادم وحلول المكونات الإضافية للعميل في مكان صيانة البرنامج؛ فإما أن يقوم كل عميل بتثبيت المكون الإضافي المطلوب، أو أن تتغير بنية الخادم لتتوافق مع تقنية لغة محرك ترميز XForms. من الناحية النظرية، من الممكن الجمع بين هذين الحلين، على سبيل المثال، اختبار المتصفح بحثًا عن تطبيق XForms من جانب العميل وتقديم XForms الأصلي في هذه الحالة، واللجوء إلى حل الخادم في الحالات الأخرى.
توفر Ubiquity XForms وFormFaces وXSLTForms حلاً "بدون برامج" على كلٍ من العميل والخادم: فلا حاجة لتثبيت أي برامج جديدة على العميل، ويمكن استخدام هذا الحل مع أي بنية خادم. هذا ممكن لأن FormFaces وUbiquity XForms مكتوبتان بالكامل بلغة Ajax، بينما XSLTForms مكتوبة بلغة XSLT وAjax. لكن في المقابل، مقارنةً بالحلول الأخرى، يتم تنزيل كمية أكبر من التعليمات البرمجية مبدئيًا إلى العميل (مع إمكانية تخزين التعليمات البرمجية مؤقتًا على العميل)، كما أن FormFaces لا تدعم حاليًا التحقق من صحة مخطط XML. علاوة على ذلك، فإن عمليات إرسال XForms التي تستخدم خاصية استبدال "الكل" لن تؤدي عادةً إلى استبدال الصفحات بشكل كامل، وبالتالي ستؤثر على وظيفة زر الرجوع.
بنية تطبيق XRX
نظرًا لأن XForms يُسهّل تحرير بيانات XML المعقدة، فإنه يوفر العديد من المزايا لاستخدامه مع قواعد بيانات XML الأصلية التي تعتمد بشكل متكرر على واجهات REST . يُعرف الجمع بين ثلاث تقنيات (XForms على جانب العميل، وواجهات REST، و XQuery على جانب الخادم) باسم تطوير تطبيقات XRX . يتميز XRX ببنيته البسيطة التي تستخدم XML على كلٍ من جانب العميل وفي قاعدة البيانات، وتتجنب التحويلات إلى هياكل بيانات كائنية أو علائقية. انظر " XRX: بسيط، أنيق، ثوري ".
XForms للأجهزة المحمولة
فوائد
يوفر تطبيق XForms مزايا محددة عند استخدامه على الأجهزة المحمولة:
- تتطلب واجهات المستخدم التي تستخدم XForms عددًا أقل من الرحلات ذهابًا وإيابًا مع الخادم، وبهذا المعنى فهي أكثر اكتفاءً ذاتيًا من واجهات المستخدم التي تستخدم نماذج HTML 4.
- تتفاوت إمكانيات الأجهزة المحمولة بشكل كبير؛ ولذلك، يُعدّ حجم العمل المطلوب لإنشاء واجهات مستخدم مختلفة للأجهزة المختلفة مصدر قلق بالغ في عالم الأجهزة المحمولة. صُممت XForms من الصفر لتتيح وصف النماذج بشكل مستقل عن الجهاز، مما يقلل من حجم العمل المطلوب لاستهداف أجهزة متعددة.
- يُقلل XForms من الحاجة إلى جافا سكريبت، وهو أمرٌ بالغ الأهمية نظرًا لاختلاف دعم جافا سكريبت بشكلٍ كبير على الأجهزة المحمولة وعدم إمكانية الاعتماد عليه بشكلٍ كامل. كما يسمح هذا للأنظمة التي تم تعطيل جافا سكريبت عليها لأسباب أمنية بمواصلة العمل بسلاسة تامة.
التطبيقات
ODK
ODK [ 7 ] عبارة عن منصة مفتوحة المصدر لجمع البيانات المتنقلة تستخدم مجموعة فرعية من W3C XForms 1.0 تسمى ODK XForms. [ 8 ] يوفر ODK مكتبات معالجة ODK XForms في Java ( JavaRosa ) وJavaScript ( enketo-core ).
إكسفوليت
Xfolite هو عميل XForms خفيف الوزن وغير نشط لمنصة J2ME. تم تطويره في الأصل في مركز أبحاث نوكيا، ويتضمن تطبيقًا لـ DOM وXPath 1.0، بالإضافة إلى محرك XForms يُنفذ مواصفات XForms 1.1 بشكل شبه كامل. تم إصدار Xfolite كبرنامج تجريبي (بيتا)، ولا يُعتبر جاهزًا للاستخدام في بيئات الإنتاج. مع ذلك، فهو يحتوي على محرك XForms متطور مصمم للعمل مع مختلف تطبيقات واجهة المستخدم. مع ذلك، فإن مخططات XML وCSS خارج نطاق المشروع. Xfolite مفتوح المصدر ومرخص بموجب رخصة LGPL، ولكنه غير قيد التطوير النشط.
انظر أيضاً
مراجع
- ↑ بيمبرتون، ستيفن (يونيو 2014). "بيانات XML الحية" . XML لندن 2014 : 96-102 . doi : 10.14337/XMLLondon14.Pemberton01 . ISBN 978-0-9926471-1-7.
- ↑ موزيلا: مشروع موزيلا إكس فورمز - تنزيل . تاريخ الوصول: 12-03-2013.
- ↑ فيليب فاغنر: مستقبل موزيلا إكس فورمز، مؤرشف بتاريخ 17 سبتمبر 2011 في أرشيف الإنترنت (Wayback Machine) ، 13 يوليو 2011
- ↑ شبكة مطوري موزيلا (MDN): تم أرشفة XForms بتاريخ 2013-03-02 في Wayback Machine . تم الاطلاع عليه بتاريخ 2013-03-12.
- ↑ أباتشي أوبن أوفيس:تم الاطلاع عليه بتاريخ 24-05-2020.
- ↑ مؤسسة المستندات: مستندات نماذج XML (XForms) . تم الاطلاع بتاريخ 12-03-2013.
- ^ "ODK – جمع البيانات في أي مكان" . getodk.org .
- ↑ "مواصفات ODK XForms" .
- XForms 1.1 - توصية W3C بتاريخ 20 أكتوبر 2009 .
- رامان، تي في (2004). إكس فورمز: نماذج ويب مدعومة بلغة XML . بوسطن: أديسون-ويسلي . ISBN 0-321-15499-1.
- دوبينكو، ميكا (2003). أساسيات إكس فورمز . سيباستوبول، كاليفورنيا؛ فارنهام: أورايلي وشركاؤه . رقم ISBN 0-596-00369-2أُرشف من المصدر الأصلي بتاريخ 15 سبتمبر 2008. تم الاطلاع عليه بتاريخ 24 أبريل 2005 .
روابط خارجية
- موارد XForms في W3C
- مجموعة مستخدمي XForms
- الأسئلة الشائعة حول XForms 1.0
- كان XForms 1.1 توصية من اتحاد شبكة الويب العالمية (W3C) في 20 أكتوبر 2009
- مسودة عمل XForms 2.0
- XForms 2.0: وحدة تعبيرات XPath
- مقدمة سريعة عن XForms لمطوري HTML بقلم ستيفن بيمبرتون
- دليل مرجعي سريع لـ XForms 1.1
- تطبيقات XForms
- مجموعة العمل المعنية بالنماذج (ذات أهمية تاريخية)
- كان XForms 1.0 (الإصدار الثالث) توصية من اتحاد شبكة الويب العالمية (W3C) في 29 أكتوبر 2007
- XSLTForms
- سمارت سايت إكس فورمس
- معايير اتحاد شبكة الويب العالمية
- المعايير القائمة على لغة XML
- لغات ترميز واجهة المستخدم
