Data DOM الأصلي في XFA
التنفيذ العام مع EnableJavaScript يكشف شجرة datasets الأصلية للمستند عبر مسارات الحل xfa.datasets و$data و$record وواصفات FormCalc
عقد البيانات تستخدم هويات أصلية ثابتة ونفس محلل SOM الحي كعقد النماذج؛ وهي تدعم الأسماء ومحددات الأصناف وانتقاء النسخ وتجوال الوالدين والمسندات وحل مستوى العقدة
الجذور والأصناف
| الكائن أو المسار | المعنى |
|---|---|
xfa.datasets | عقدة packet الـ datasets، أو null عند غيابها |
xfa.datasets.data و$data | جذر البيانات تحت packet الـ datasets |
$record | جذر السجل الأول تحت data في نموذج المعالجة غير السجلية الحالي |
dataGroup | عنصر بيانات يحتوي عناصر أبناء، بما يشمل مجموعة فارغة معلنة صراحةً |
dataValue | عنصر بيانات يحمل قيمة |
formNode.dataNode | العقدة المرتبطة بحقل النموذج أو subform، أو null عند غياب ربط بيانات |
سمة dataNode في namespace بيانات XFA يمكنها انتقاء صنف مجموعة أو قيمة صراحةً؛ وبادئات namespace تُحل بدلًا من اشتراط هجاءة بادئة معينة
القراءات والكتابات
dataValue تكشف value بوصفها alias قابلة للكتابة لـ rawValue؛ وكلتا الواصفتين تحدّثان خلية البيانات المرتبطة نفسها والعقدة الأصلية للبيانات
const value = xfa.resolveNode("$record.row[1].cell");
value.rawValue = "25";
target.rawValue = xfa.resolveNode("main.row[1].cell").rawValue;
$record.row[1].cell = 25
target = row[1].cell
var p = Ref($record.row[1].cell)
p = 30
كتابات الحقل المرتبط تحدّث قيمة البيانات المقابلة فورًا، وكتابات قيمة البيانات تحدّث قراءات الحقل المرتبط فورًا داخل السكربت نفسه؛ والنشر الأصلي يكتب عقدة البيانات الفعلية
خصائص قيم scalar المتجسدة تزامن محتوى نموذجها الأصلي بعد كتابات الحقول أو البيانات، بما يشمل aliases البيانات المشتركة ونشر بيانات النسخ المتكررة الجديدة
عناصر البيانات بلا حقل نموذج مرتبط تبقى قابلة للوصول والكتابة؛ والمعاملات الناجحة تحفظ تغييراتها في XDP المحفوظ
حقول النماذج مع bind بقيمة match=none تحفظ افتراضيات القالب وتخزن التعديلات في قيمة Form DOM لنسختها الخاصة؛ فهي تكشف لا عقدة بيانات اصطناعية ولا تعدّل نسخ الأشقاء
قيم البيانات تتشارك ميزانيات Unicode وحجم القيمة والتنفيذ مع مضيف أحداث النماذج؛ وعقد المجموعات تزوّد وصولًا بنيويًا لا قيمة raw قابلة للكتابة
النسخ المتكررة والمراجع المحفوظة
إدخال ونقل وإزالة نسخ النماذج تحدّث Data DOM الحي المقابل خلال السكربت نفسه؛ والصفوف ذات الربط الضمني الجديدة تكشف افتراضيات القالب عبر عقد بياناتها قبل النشر
نموذج أولي بلا نسخ يمكنه إنشاء مجموعة بياناته وقيمه الأولى؛ والنشر الأصلي يزوّد هويات حقيقية للعقد الجديدة، فيتيح لكائنات السكربت حفظ handles بيانات عبر أحداث لاحقة
مراجع البيانات المحفوظة تتبع النقل بالهوية؛ واستخدام مرجع بعد إزالة مجموعته يفشل الحدث، وتراجع runtime يستعيد ترتيب النسخ الأصلي والقيم وعدّادات كائنات السكربت
مديرو النسخ المحفوظون بكائنات سكربت يحلون النطاق الحالي، بما يشمل مديرين كان عدد نسخهما الأولي صفرًا
محتوى XML الأصلي
عقد datasets وdataGroup وdataValue تكشف loadXML وsaveXML بتحليل أصلي وتحديثات رسم بياني في السكربت نفسه ونشرًا transactional
استيرادات XML تحفظ التعليقات وتعليمات المعالجة وCDATA وnamespaces الموسّعة وأسماء Unicode مع إبقاء العقد غير النصية خارج انتقاء أبناء Data DOM العادي وقيم الحقول المرئية
القيم المستوردة تزامن فورًا قراءات الحقول المرتبطة، بما يشمل حقولًا يختار dataRef القائم لديها لاحقة مختلفة أو هدفًا غير محلول سابقًا صار متاحًا الآن
المعاملات والمستدعون الأدنى مستوى
TXFAWidgetRuntime تبني ارتباطات نطاق البيانات وتربط حقول النماذج بقيم بيانات أصلية وتطبق كتابات البيانات وارتباطات الهوية الجديدة وتستعيد حالة XDP الدقيقة بعد فشل المحرك أو النشر الأصلي
مستدعو الأحداث الأدنى مستوى يستخدمون TXFAEventBindingDomain وحقلي DataIdentity وDataBindingEnabled في TXFAEventBinding لتزويد علاقات كائنات مكافئة
فعل xeakBindDataIdentity يربط handle بيانات افتراضيًا جديدًا بهويته في البيانات الأصلية المنشورة؛ وعلى تطبيقات المستوى الأدنى تطبيق تحويلات البيانات المعادة وارتباطات الهوية transactionally
تغطية نموذج الكائنات المتبقية
تنقل نافذة السجلات والإنشاء المستقل للعقد وإعادة تربّعها وسمات بيانات اعتباطية وتحرير كامل لعقد خصائص القالب تبقى أهداف تكامل منفصلة
انعكاس النسخ يتبع سلوك مدير نسخ الربط الضمني القائم؛ وتحويلات نسخ الربط الصريح الإضافية تتطلب تكامل ربط إضافيًا
واجهات مرتبطة
مسارات SOM الحية, مراجع FormCalc, HPDFXFAExecuteJavaScriptEvent وبيئة تشغيل XFA التفاعلية