إنشاء شجرة نماذج XFA وتحريرها

TXFAWidgetRuntime يدعم إنشاء شجرة النماذج الحية واستنساخها وتحريرها بصفقة عبر JavaScript من خلال xfa.form ومجموعات العقد

لشجرة النماذج الحية هويات native مستقلة ويمكن حفظها كحزمة نماذج XDP دون تعديل template المؤلَّف

إنشاء حقل وإدراجه

var row = xfa.resolveNode("row[1]");
var field = xfa.form.createNode("field", "additional");
row.nodes.append(field);
field.w = "160pt";
field.h = "24pt";
field.ui.getElement("textEdit");
field.font.typeface = "DejaVu Sans";
field.rawValue = "Additional value";

createNode(className, name, namespaceURI) تعيد عقدة منفصلة، باسم فارغ وnamespace النموذج عند إغفال الوسائط الاختيارية

الفئات المقبولة تتضمن field وsubform وdraw وarea وexclGroup وفئات الخصائص التي يعترف بها مخطط خصائص الـ runtime

إنشاء عقدة لا يُدرجها في النموذج ولا ينشئ widget مرئيًا حتى تُرفق بخصائص UI والقيمة المطلوبتين

عمليات المجموعات والاستنساخ

العمليةالسلوك
parent.nodes.append(node)تنقل عقدة منفصلة أو مرفقة إلى نهاية مجموعة الأبناء الحية للأصل
parent.nodes.insert(node, before)تنقل العقدة مباشرةً قبل ابن قائم من الأصل نفسه
parent.nodes.remove(node)تفصل ابنًا مع الاحتفاظ بهويته scriptial لإعادة استخدامه لاحقًا
node.clone(true)تعيد استنساخًا عميقًا منفصلًا بهويات native وscript مستقلة
node.clone(false)تعيد استنساخًا سطحيًا منفصلًا بلا عقد أبناء ولا قيمة حقل منسوخة

ترتيب المجموعة وparent وبحث الخصائص وحل SOM المدعوم يعكسون التحريرات الناجحة فورًا داخل الحدث

المراجع المحتفظ بها من كائنات script تواصل عنونة عقدتها بعد تحرير مُودَع أو rollback حدث، بما يشمل الاستنساخات العميقة والسطحية المنفصلة

دورة أو ابن مرجعي من أصل مختلف أو عقدة data-model ممرَّرة إلى عملية نموذج ترفع استثناء قبل أن تُبدِّل تلك العملية غير الصالحة الشجرة

يستطيع جذر نموذج النماذج احتواء subforms وحقول منشأة حديثًا، لكن الجذر نفسه لا يمكن نقله أو استنساخه

النطاقات المتكررة والحالات الابتدائية

حالات النماذج الفعلية تحفظ هويات منفصلة حتى عندما تتساوى أسماؤها المؤلَّفة أو تختلف سياقات بياناتها أو لا توجد حزمة datasets

الدمج الفارغ يستخدم العدد الابتدائي الصريح occur.initial أو occur.min عند غياب initial، وغياب max يقابل min افتراضيًا

في الدمج الفارغ يُسمح بعدد ابتدائي خارج الحد الأدنى والأعلى، بما يشمل صفر نسخ ابتدائية

subforms المتداخلة وغير المسماة تحفظ مسارات occurrence الخاصة بها، وتجسيد هذه الحالات لا يخلق حزمة datasets اصطناعية

قواعد occurrence هذه تتبع XML Forms Architecture 3.3، الصفحات المطبوعة 339–345

الإيداع والتراجع والمخرجات

الحدث الناجح يطبِّق يوميته البنيوية ويعيد بناء widgets الأصلية ويجعل النموذج المحرَّر متاحًا لـ SaveToBytes وإنشاء PDF الأصلي التلقائي

استثناء script غير الملتقط أو فشل الإيداع الأصلي أو تجاوز ميزانية الحدث يستعيد المستند الأصلي وهوية widgets وحالة script المحتفظ بها، فيستطيع حدث لاحق إعادة المحاولة

ميزانيات العملية والعقد والعمق والبايتات وwidgets وزمن التنفيذ القائمة تنطبق أيضًا على التحضير البنيوي والإيداع

حالات النماذج المحفوظة يمكن إعادة تحميلها وتمريرها إلى HPDFXFAWriteHeadlessPDF لإنشاء حقول PDF حقيقية وتدفقات مظاهر ببايتات خطوط مقدَّمة

النطاق

هذه APIs تحرر نموذج النماذج الحي ومخطط خصائصه المدعوم

التحرير العام لـ xfa.template ومعالجة choice subform-set الكاملة ومخطط فئات XFA الكامل وتركيبات مُختارات الربط العشوائية تبقى قدرات منفصلة