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 التفاعلية