exData XML الأصلي في XFA
مضيف الأحداث العام ينشئ خصائص قيم exData الغائبة ويستورد أبناء XML أجنبية حقيقية إلى نسخ نماذجها الأصلية؛ ومحتوى draw بـ XHTML يصل إلى مستهلك النص الغني في PDF بعد استمرارية XDP الأصلية وإعادة تحميلها
استيراد وقراءة XML
const content = row.label.value.exData;
content.contentType = "text/html";
content.loadXML(
'<body xmlns="http://www.w3.org/1999/xhtml">' +
'<p><span style="font-size:18pt;color:#0000FF">Changed</span></p>' +
'</body>',
false,
true
);
const currentXML = content.saveXML();
const readableXML = content.saveXML("pretty");
loadXML(source, ignoreRoot=true, overwrite=false) تقبل سلسلة مستند XML مُشكَّلًا جيدًا وتعيد undefined؛ وignoreRoot تُلحق أبناء الجذر التجميعي، بينما false تُلحق الجذر نفسه
Overwrite تستبدل المحتوى القائم قبل الاستيراد؛ وافتراضيها false يُلحق المحتوى بترتيب المستند محفظًا الأبناء المستوردين سابقًا
saveXML() تعيد عنصر exData الحالي ومحتواه بوصفهما إعلان XML بترميز UTF-8 وسلسلة شظية؛ والكلمة الحرفية pretty الاختيارية تُزاحف محتوى العناصر فقط مع حفظ النص المختلط وفراغات CDATA
أسماء العناصر المستوردة وإعلانات namespaces والسمات المؤهلة بـ namespace وUnicode النصي ومراجع المحارف والنص المختلط وCDATA تبقى XML أصليًا؛ ولا يُخزَّن الـ markup بوصفه سلسلة rawValue خامًا
الإنشاء والافتراضيات
خصائص Value تسمح بابن exData واحد متنافيًا مع بقية خيارات القيمة؛ وقيمة draw وابن exData مفقودان يمكن إنشاؤهما واستيرادهما خلال الحدث نفسه
exData تقصّر افتراضيًا إلى maxLength=-1 وtransferEncoding=none، مع سمات contentType وhref وid وname وrid وuse وusehref فارغة
مضيف الأحداث لا يكشف واصل قيمة scalar على exData؛ استخدم loadXML وsaveXML لمحتوى XML الأجنبي
القراءات الفورية والهوية والمعاملات
عملية XML أصلية خالصة تتحقق من كل طلب وتسلسله قبل مواصلة تنفيذ السكربت؛ وXML المشوه يُلقي داخل السكربت ويمكن معالجته بـ try/catch دون تغيير المحتوى الحالي
إعادة تشغيل الاستجابات الحتمية تتشارك معاملة السكربت القائمة ولا تنفّذ أي أثر جانبي لـ UI أو ملفات أو شبكة أو نقل
استدعاءات saveXML اللاحقة ترى الاستيرادات الناجحة السابقة وسمات exData الحالية خلال الحدث نفسه؛ والمراجع المحفوظة تحل هوية العقدة الحالية في أحداث لاحقة
فقط النسخة المتكررة المُستهدفة تتلقى محتوى أصليًا، والنسخة الجديدة تهيأ من XML القالب بدلًا من نسخ تجاوز مستورد لنسخة قائمة
جذر مستورد فارغ مع overwrite=true يمسح المحتوى الفعلي ويبقى فارغًا بعد الاستمرارية وإعادة التحميل؛ وهو لا يرجع إلى محتوى القالب
أخطاء السكربت غير المعالجة وفشل النشر الأصلي يستعيدان بايتات XDP الأصلية الدقيقة، بما يشمل كتابات الحقول العادية السابقة وتحويلات XML
الميزانيات والاستهلاك المحفوظ
حدود السكربت تحدد سقوف بايتات XML إدخالًا ومخرجًا وعقد عناصر ونص أصلية وعمقًا وعمليات ووقتًا منقضيًا واستجابات إعادة تشغيل؛ وMaxValueChars للـ widget تحدد سقفًا أيضًا لقيمة XML المنشورة
جسر FPC يحفظ بايتات UTF-8 عبر استجابات XML وقيم أفعال عادية، بما يشمل المحارف المعلَّمة وUnicode التكميلي
محتوى draws بـ XHTML المحفوظ يستخدم سلوك الخط والحجم واللون وCSS المضمّن لدى مستهلك النص الغني القائم؛ وقراء PDF مستقلون يتحققون من نص أول نسخة وتنسيق الاستبدال ومحتوى نسخة جديدة ومسح صريح
أهداف تكامل XML المتبقية
هذا التسليم ينفّذ عمليات محتوى exData؛ وأساليب loadXML/saveXML لأصناف عقد أخرى والاستيراد البنيوي لـ Data DOM وتحويل عقد أجنبية عامة تبقى أهدافًا منفصلة
إعلانات DTD وكتالوجات كيانات مخصصة تبقى غير منفذة؛ والكيانات المعرفة مسبقًا ومراجع المحارف العشرية أو السداسية العشرية مدعومة
تعليقات داخل العناصر وتعليمات المعالجة تبقى أصليةً عبر الاستيراد والقراءات الفورية والحفظ وإعادة التحميل والتراجع؛ والـ markup خارج الجذر على مستوى المستند وجولات XML المعجمية الكاملة تبقيان أهدافًا منفصلة
حل href خارجيًا ونقل exData مرمَّزًا وفرض maxLength ومستهلكو وسائط أجنبية ومظاهر widgets غنية بـ Unicode تبقى أهداف تنفيذ منفصلة
المراجع وواجهات مرتبطة
دلالات الجذر والاستبدال في الاستيراد تتبعان واجهة Element من Adobe XFA; وأسماء XML والمراجع والفراغات تتبع XML 1.0
انظر TXFAEventBinding, TXFAEventActionKind, خصائص النص الغني وبيئة تشغيل XFA التفاعلية