XFA Live Child Collections

أحداث JavaScript وFormCalc يمكنها فحص عقد الأبناء الحالية لعقدة نموذج أو خاصية عبر خاصية nodes للقراءة فقط لديها

const field = xfa.resolveNode("row[1].amount");
const children = field.font.nodes;
const snapshot = children.clone();
field.font.fill.color.value = "192,48,96";
const fill = children.item(0);

قراءة الأبناء الحاليين

العضوالسلوك
lengthعدد عقد الأبناء الحالي
item(index)الابن الحالي عند ذلك الفهرس ذي الأساس الصفري، أو null لفهرس سالب أو غير صحيح أو خارج النطاق
namedItem(name)أول ابن حالي بذلك الاسم النصي، أو null عندما لا يطابق أي ابن
nodes[index]نفس العقدة الحالية item(index)
for...ofقراءة عقد الأبناء بترتيبها الحالي
clone()إنشاء قائمة استعلام مستقلة تشير إلى الأبناء الحاليين

المجموعة تحل مالكها عبر الرسم البياني الحالي للحدث عند كل قراءة، بما يشمل مجموعة محفوظة بكائن سكربت عبر الأحداث

المجموعات القائمة تعكس إضافات وإزالات النسخ المتكررة وإنشاء الخصائص الضمني؛ والنسخ المتكررة المنفصلة تحفظ أبناء خصائص وقيمًا منفصلة

مجموعة محفوظة أُزيل مالكها تثير خطأ بدلًا من التوجيه إلى نسخة ناجية أو بديلة

وصول FormCalc

FormCalc يتعرف nodes بوصفها خاصية مجموعة أبناء على عقد النماذج والخصائص وData DOM

if (xfa.record.nodes.length >= 2) then
  xfa.record.nodes.item(1).nodes.namedItem("amount").rawValue = "Updated"
endif

سلاسل الأعضاء المباشرة length وitem(index) وnamedItem(name) وclone() تستخدم العقد الأصلية الحالية وحدود المجموعات نفسها كـ JavaScript

مجموعات أبناء النماذج والخصائص وData DOM تدعم قراءات nodes[index] المباشرة في JavaScript وFormCalc معًا

فهارس المجموعات ذات أساس صفري؛ وfor...of تبقى صياغة JavaScript

الكتابات عبر مرجع مجموعة في FormCalc تحدّث قيمة البيانات المرتبطة الفعلية وتحفظ عزل النسخ المتكررة؛ والقيم المُرسَلة تنجو من حفظ XDP وإعادة تحميل runtime وتوليد مظاهر PDF الأصلية

فهارس Data DOM العددية

const rows = xfa.record.nodes;
rows[1].nodes[0].rawValue = "Updated";

مفاتيح الأعداد الصحيحة غير السالبة المقننة مثل "0" و"1" تحل ابن Data DOM الحالي وتعيد null خارج المجموعة؛ والمفاتيح غير المقننة مثل "01" و"-0" و"1.0" لا توكّز مدخلات عددية

‏index in nodes في JavaScript تفحص عدد الأبناء الحالي، والإسناد أو الحذف أو إعادة التعريف المباشر لمدخل عددي مقنّن يثير TypeError

قيود المدخلات العددية نفسها تسري داخل دالة كائن سكربت تحفظ المجموعة بحالة معجمية، وكذلك عندما يقرأ حدث آخر مجموعة تعيدها تلك الدالة

استخدم أساليب Data DOM البنيوية القائمة لإعادة ترتيب الأبناء أو إزالتهم؛ والمجموعة المحفوظة بكائن سكربت تقرأ الرسم البياني الحالي للحدث بعد كل تعديل مُرسَل وبعد التراجع

الاستنساخ المستقل

قائمة أبناء مستنسخة تستخدم التخزين المستقل الموصوف في مجموعات عقد استعلام XFA؛ وأساليبها append وinsert وremove تغيّر ذلك التخزين المستقل

كتابة عقدة مشار إليها بأي من القائمتين تغيّر العقدة الأصلية الفعلية، والقيم المُرسَلة وتجاوزات الخصائص تستمر عبر XDP محفوظ وتوليد مظاهر PDF الأصلية

مجموعات أبناء Data DOM تزوّد أيضًا clone() بتخزين مدخلات مستقل؛ وأساليبها البنيوية append وinsert وremove القائمة تواصل تحويل شجرة البيانات الأصلية

المعاملات والحدود

كائنات المجموعات الحية والاستنساخات المستقلة تتشارك حدود تخصيص مجموعات الحدث وفحوص العمليات والموعد النهائي للمعاملة

خطأ حدث غير ملتقط أو فشل ميزانية يستعيد القيم الأصلية والنسخ المتكررة وحالة السكربت المحفوظة والتخزين المستقل للقوائم وحالة السجل معًا

مجموعات النماذج والخصائص الحية للقراءة فقط؛ والإسناد أو الحذف أو إعادة تعريف خاصية أو تغييرات النموذج الأولي أو منع الامتدادات المباشرة تثير خطأ

مجموعات Data DOM ترفض الكتابة والحذف وإعادة تعريف المدخلات العددية المقننة مع حفظ أساليبها البنيوية المسنّاة القائمة وسلوك خصائصها غير العددية العادي

التغطية

هذه الواجهة تكشف مجموعات أبناء النماذج والخصائص الحالية واستنساخات قوائم الأبناء المستقلة

إنشاء عقد القالب/النموذج العام والاستنساخ التكراري للعقد وإدخال وإزالة أشجار الأبناء وارتباطات أصناف عقد إضافية تبقى عملًا منفصلًا

بنية Data DOM الأصلية في XFA · بيئة تشغيل widgets XFA