TXFAFormStructure

HPDFXFAFormStructure يوفر تحضيرًا أصليًا وتعيين هويات لحالات النماذج المدعومة بالـ template

تستعير الـ class مستند TXFADocument الخاص بها، وتمتلك رسمها البياني البنيوي ومرشَّحها المنفصلين، ولا تحرر المستند المستعار أبدًا

constructor Create(Document: TXFADocument;
  const Limits: TXFADataStructureLimits;
  const OnTick: TXFADataStructureTick);
procedure BeginOperation(const OnTick: TXFADataStructureTick);
procedure EndOperation;
function PrepareUnboundModel: TXFANode;
function EnsureInstance(Definition, DataNode: TXFANode): TXFANode;
function PrepareMaterialization(Definition, Instance: TXFANode;
  out Aliases: TXFAFormStructureAliases): TXFANode;
function ReplaceInstance(Instance, Prepared: TXFANode): TXFANode;
procedure DiscardPrepared(Node: TXFANode);
property Graph: TXFADataStructure;

نطاق العملية

نادِ BeginOperation قبل العمل البنيوي وEndOperation داخل كتلة finally

الـ callback المقدَّم يُنادى على امتداد التنقل المحدود السقف والنسخ والفحص المسبق للرسم البياني، ويمكنه رفع استثناء لإلغاء العملية

Graph.DetachedRoots تكشف مجموعة الملكية الخاصة بالرسم البياني للمراقبة واستعادة snapshots منسَّقة، وعلى المستدعين عدم تحرير العقد التي ما تزال مملوكة لتلك المجموعة من تلقاء أنفسهم

التحضير وتبنّي

PrepareMaterialization تركِّب مرشَّح نموذج منفصلًا من تعريف template وحالة live اختيارية، عائدةً أزواج مصدر-إلى-مرشَّح في TXFAFormStructureAliases

TXFAFormStructureAlias.Source وTarget مرجعا عقدتان مستعاران لإعادة تعيين الهويات الخارجية قبل تحرير الحالة السابقة

ReplaceInstance تتبنّى المرشَّح المحضَّر وتعيد الحالة السابقة كعقدة منفصلة مملوكة للرسم البياني

أعِد توجيه المراجع التابعة قبل مناداة DiscardPrepared على الحالة السابقة المعادة

DiscardPrepared تحرر مرشَّحًا منفصلًا مملوكًا للرسم البياني نفسه ولا تزيل حالة live مرفقة

الحالات الابتدائية والمتناثرة

PrepareUnboundModel تعيد نموذج نموذج منفصلًا لدمج فارغ، محافطةً على محتوى template المؤلَّف وموسِّعةً occurrences الـ subform المدعومة إلى عقد native مستقلة

EnsureInstance تعيد عقدة نموذج live قائمة أو تبني مسار الحالة المتناثرة المطلوب لتعريف template وسياق بياناتها الحي

EnsureInstance قد تبدِّل عدة عقد حية، لذا فإن rollback العمليات المركبة من مسؤولية معاملة مستند المستدعي المحيطة

TXFAWidgetRuntime يوفر تلك المعاملة لأحداث script العامة، بما يشمل استعادة هويات المستند الأصلي والمنفصل

الدوال المساعدة

الدالةالغرض
HPDFXFAEmptyMergeCountتتحقق من إعلان occurrence وتعيد عدد الدمج الفارغ لها، مستخدمةً القيمة الابتدائية الصريحة أو الحد الأدنى
HPDFXFAIsMaterializedFormNodeتفحص علامة التجسيد المؤهلة بـ namespace ضمن ميزانية تنقل صريحة
HPDFXFAResolveMaterializedDefinitionتحلّ عقدة النموذج الفعالة لتعريف وسياق بيانات، مبيِّنةً هل النموذج المجسَّد هو المرجع
HPDFXFAResolveActualFormScopeتحلّ نطاق البيانات الحي لحالة نموذج مكررة فعلية دون تكرار إعلان template الخاص بها مرة أخرى

العلامة المحفوظة تستخدم urn:hotpdf:xfa:form-structure:1 ببادئة آمنة من التصادم، بينما تستخدم عقد النماذج الأصلية namespace نماذج XFA

على المستدعين الأصليين المستقلين الاحتفاظ بالمستند طوال عمر الـ class وتوفير rollback حول عمليات الرسم البياني المركبة عندما يجب أن يستعيد إلغاء أو فشل آخر خطواتٍ سابقةً نجحت