بنية Data DOM الأصلية في XFA
أحداث JavaScript يمكنها إنشاء عناصر Data DOM الأصلية واستنساخها وإعادة تسميتها وإرفاقها وإعادة ترتيبها وفصلها، بقراءات سكربت فورية واستمرارية أصلية على مستوى المعاملة
const record = xfa.record;
const value = xfa.datasets.createNode("dataValue");
value.name = "amount";
value.value = "42";
record.nodes.append(value);
const retained = value.clone(false);
record.nodes.remove(value);
record.nodes.insert(value, record.nodes.item(0));
العمليات المدعومة
xfa.datasets.createNode(className, name = "", namespace = "") تنشئ dataGroup أو dataValue غير مرفق؛ والأسماء المؤهلة تتطلب URI namespace غير فارغ
node.clone(recursive = true) تنشئ نسخة Data DOM غير مرفقة بهويات جديدة؛ وfalse تستثني العقد الأبناء مع حفظ metadata العنصر وقيمته الخاصة
node.name قابلة للكتابة لعناصر Data DOM وتحفظ namespace وترتيب الأشقاء والأحفاد وaliases المحفوظة؛ والبناء غير المسنّى يجب أن يتلقى اسمًا محليًا صالحًا قبل الإرفاق
node.nodes.length وitem(index) وnamedItem(name) تقرأ أبناء العناصر المرتبين الأحياء؛ وitem وnamedItem تعيدان null عندما لا يطابق أي ابن
nodes.append(node) وnodes.insert(node, before) تنقلان الكائن نفسه إلى أبناء المالك؛ وinsert(node, null) تُلحق
nodes.remove(node) تفصل ابنًا مباشرًا مع إبقاء كائنه وشجرته الفرعية متاحين للـ aliases المحفوظة وإعادة الإرفاق اللاحقة
xfa.record تعيد السجل الأول الحالي تحت جذر بيانات Data DOM وتحدَّث بعد التعديلات البنيوية
الهوية وXML والارتباطات
كائن سكربت يمكنه حفظ عقدة أو ابن أو مجموعة مالك الأبناء عبر الأحداث؛ وaliases الحية تحل نفس الكائنات الأصلية بعد الإرفاق والفصل وإعادة التسمية والتراجع
loadXML وsaveXML تعملان على عناصر حديثة الإنشاء ومنقولة، بما يشمل أحفادًا استُوردوا ثم نُقلوا خلال الحدث نفسه
الهويات الأصلية الثابتة تمنع aliases الأحفاد المستوردة من حل ابن مختلف بصمت بعد التغييرات الموضعية
namespaces سمات موروثة وإعادة ضبط namespace افتراضي فارغ صريحة وتعليقات وتعليمات معالجة وCDATA وقيم Unicode تنجو من الاستنساخ والنقل والحفظ وإعادة التحميل
ارتباطات النموذج تُنعش بعد التغييرات البنيوية، والقيم المكتوبة عبر عقد بيانات مرفقة حديثًا تصل إلى نسخة النموذج المتكررة المقابلة دون تغيير نسخة أخرى
المعاملات والحدود
الأصناف غير الصالحة وأسماء XML ومراجع الأشقاء والحلقات والعقد الأجنبية تفشل قبل أن يغيّر ذلك الفعل المنفرد الرسم البياني الحي للسكربت
خطأ سكربت غير ملتقط أو فشل تطبيق أصلي أو إلغاء أو سقف عمليات أو حد وقت منقضٍ يستعيد الحدث كاملًا، بما يشمل العقد المرفقة والمنفصلة وقيم الارتباطات والـ aliases المحفوظة وحالة كائن السكربت المعجمية وحالة السجل؛ ثم يمكن لبيئة التشغيل نفسها إعادة المحاولة
العقد البنيوية والأشجار المنفصلة تتشارك سقوف العقد الأصلية والعمق والبايتات بترميز UTF-8؛ والموعد النهائي الأصلي لمعاملة السكربت يسري على JavaScript والتغييرات الأصلية معًا
استهلاك PDF
احفظ بيئة التشغيل إلى XDP ومرّر تلك البايتات إلى HPDFXFAWriteHeadlessPDF لإنشاء حقول ومظاهر PDF أصلية فعلية من ارتباطات البيانات المتغيّرة
TXFAHeadlessPDFOptions.Editable = False تنشئ حقولًا أصلية للقراءة فقط بمظاهر؛ وضبط ذلك لا يسطّحها
التغطية الحالية
هذه الواجهة البنيوية تغطي Data DOM؛ وإنشاء واستنساخ عقد القالب/النموذج العامة وبرمجة أصناف العقد الكاملة تبقى عمل تنفيذ منفصلًا
مجموعات عقد الاستعلام المستقلة · واجهة الرسم البياني البنيوي الأصلي · بيئة تشغيل widgets XFA
مجموعات عقد الاستعلام المستقلة · API الرسم البياني البنيوي الأصلي · زمن تشغيل widgets الـ XFA