Native Data DOM XML
الوحدة: HPDFXFARuntime
الأساليب
dataNode.loadXML(xml, ignoreRoot = true, overwrite = false);
const compact = dataNode.saveXML();
const readable = dataNode.saveXML("pretty");
هذه الأساليب النصية متاحة على عقد datasets وdataGroup وdataValue في أحداث TXFAWidgetRuntime
saveXML تعيد XML بترميز UTF-8 مع إعلان والعقدة المنتقاة بوصفها عنصر مستند؛ والوسيط pretty الاختياري يضيف إزاحة لمحتوى العناصر فقط
loadXML تقبل مستند XML واحدًا مُشكَّلًا جيدًا؛ وignoreRoot تستورد أبناءه في العقدة المنتقاة، بينما False تستورد عنصر مستند المصدر بوصفه ابنًا
overwrite تزيل محتوى الهدف القائم قبل الاستيراد؛ وافتراضيها False يُلحق المحتوى ويحفظ هويات الأبناء القائمة
العقدة المنتقاة تحفظ هويتها وسماتها؛ وسمات الأبناء المستوردين وخرائط namespaces لديهم محفوظة
الرسم البياني الفوري والارتباطات
const record = xfa.datasets.data.main;
record.loadXML("<main><amount>42</amount></main>", true, true);
const amount = record.amount;
amount.value = "43";
if (this.parent.amount.rawValue !== "43") throw new Error("Missing binding update");
التحليل الأصلي الناجح يثبت فورًا الأبناء المستوردين في الرسم البياني الحالي للسكربت؛ والخصائص العادية ومحددات SOM تحل تلك العقد الطازجة قبل نشر الحدث
خلايا البيانات تزامن مع aliases الحقول المرتبطة في الاتجاهين، بما يشمل الحقول الخفية وأهداف الربط المزودة حديثًا ومحددات dataRef القائمة للdescendant وwildcard وclass والفهارس العددية
استيرادات scalar إلى مجموعة تحدّث صنف بيانات الهدف وتكشف عناصرها الأبناء المستوردة؛ وdataValue أُفرغ لها قيمة سلسلة فارغة
استيراد عنصر بيانات جديد لا يخصص أوراق بيانات ملتبسة غير مرتبطة لارتباطات غير محلولة
الهوية والنطاقات المتكررة
Overwrite تُبطل handles الأبناء القديمة وتنشر هويات أبناء طازجة؛ وكائن سكربت يمكنه حفظ handle بيانات مستوردة طازجة واستخدامها في أحداث لاحقة
الإلحاق يحفظ handles القائمة؛ والاستيراد داخل صف متكرر يغيّر نطاق البيانات الأصلي وحقول تلك الصفحة المرتبطة
استيرادات XML تعمل أيضًا داخل نسخة أنشأها addInstance خلال الحدث نفسه
استبدال محتوى datasets يحدّث $data و$record إلى الجذرين الأصليين الجديدين ويعيد تأسيس هويات النماذج وكائنات السكربت الناجية كي تبقى حالة الوحدة المعجمية موصولة بنطاق نموذجها
المحتوى والاستمرارية
الاستيرادات الأصلية وXDP المحفوظ يحفظان النص العادي وCDATA والتعليقات وتعليمات المعالجة بالترتيب
التعليقات وتعليمات المعالجة تبقيان خارج انتقاء عناصر Data DOM العادية ولا تصيران نص حقول مرئيًا
العقد المستوردة تحفظ URI namespace الخاصة بها حتى تحت ancestor افتراضي مختلف لـ namespace، بما يشمل namespace الافتراضي الفارغ الصريح لعناصر بلا namespace
سمات عادة أجنبية محتوية بادئات تحفظ أسماءها الموسّعة، وأسماء Unicode المحلية والنص المعلَّم والمحارف التكميلية تنجو من الحفظ وإعادة التحميل الأصلية
saveXML للقراءة فقط لا تجسد خصائص نماذج ولا تغيّر بايتات XDP المحفوظة
التحقق والتراجع
محلل XML الأصلي يفحص التشكيل الجيد وصلاحية namespace والسمات ومحارف XML وموضع الإعلان وصياغة الكيانات قبل تحويل الرسم البياني
الإدخال المشوه يمكن التقاطه في JavaScript؛ والرسم البياني الأصلي والسكربتي السابقان يبقيان متاحين، ويمكن لتحويل صالح لاحق أن يُرسَل
حدث فاشل يستعيد بايتات المستند وقيم widgets والرسم البياني المستورد والهويات والحالة المعجمية لكائنات السكربت، بما يشمل الفشل بعد تطبيق استيراد XML الأصلي فعلًا
كل جلسة JavaScript أصلية تحفظ وحدة DLL الفعلية لديها أثناء إعادة بناء المحركات لإعادة تشغيل الاستجابات؛ والمحركات وcontexts والسجلات تبقى مستقلة، ومرجع الوحدة يُحرر بعد تفكيك المحرك الأصلي النهائي
تحليل XML وتسلسله يفرضان ميزانيات العمليات والعمق والعقد والبايتات والوقت المنقضي مع الموعد النهائي الأصلي للحدث لديه runtime وحدود محارف القيم
الاستيرادات لا تحل كيانات خارجية ولا تُجري أفعال ملفات أو شبكة أو UI؛ وإعلانات DTD يرفضها هذا المحلل
النطاق الحالي
هذا التكامل لبيئة تشغيل الأحداث يستهدف حاليًا Windows Win32 وWin64؛ وتكامل runtime على Linux المحمول يبقى معلّقًا
هذا التكامل يزوّد استيراد وتسلسل XML أصليين مع إعادة تقييم الربط الحالية؛ وcreateNode مستقلة وتحويل سمات بيانات اعتباطيًا وإعادة تربّع وتنقل نافذة سجلات ومسندات ربط وسياسة ربط عامة تبقى أهداف نموذج كائنات منفصلة
واجهات مرتبطة
Data DOM الأصلي, SOM الربط الأصلي, TXFAEventBinding, TXFAEventAction وبيئة تشغيل XFA التفاعلية