مرجع HotPDF
تحمّل TXFAPacketDOM إما stream XDP كاملًا أو مصفوفة حزم /XFA مرتبة في PDF، وتُظهر جذور الحزم واستعلامات مسار محدودة بالاسم المحلي، وتدعم تعديلات العنصر، والنص، وCDATA، والسمة، وإضافة الحزمة، وإزالتها، وإعادة تسميتها
حزم غير مُعدَّلة بلا فقدان
يحتفظ كل stream أو حزمة محمّلة ببايتاتها الأصلية وبصمة بنيوية؛ يُعيد التسلسل تلك البايتات بدقة عندما يكون DOM غير مُعدَّل، ويعيد تعديل مصفوفة الحزم كتابة الحزمة المتغيّرة فقط مع الحفاظ على بايتات كل شقيق غير متغيّر
المخرجات القانونية المُعدَّلة
تستخدم الأشجار المُعدَّلة XML بترميز UTF-8، وترتيبًا حتميًا لمساحة الأسماء والسمات، وأسماء عناصر مؤهَّلة، وتهريب كيانات XML، وتقسيم CDATA آمن لـ ]]> المضمَّنة، وعناصر فارغة ذاتية الإغلاق، وترتيب الحزم من المصفوفة المصدر
يمثّل الإخراج القانوني محتوى DOM لا التفاصيل المعجمية التافهة، لذا لا تُعاد التعليقات، وتعليمات المعالجة، والمسافة البادئة للمصدر، وإعلان XML الأصلي، وDOCTYPE المصدر بعد التعديل؛ تُوسَّع قيم الكيانات الداخلية كنص، وتبقى الكيانات الخارجية غير محلولة
المخرجات القانونية المُعدَّلة
var
DOM: TXFAPacketDOM;
Nodes: TArray<TXFANode>;
XDP: TBytes;
begin
DOM := TXFAPacketDOM.Create;
try
DOM.LoadXDPStream(SourceBytes);
Nodes := DOM.SelectNodes('datasets', '//customer/name');
if Length(Nodes) > 0 then
Nodes[0].SetText('Updated & verified', True);
XDP := DOM.SerializeXDPStream;
PDF.SetXFADocument(XDP);
finally
DOM.Free;
end;
end;
تُجري // الاستهلالية استعلام سليلة محدودًا، بينما تختار الأجزاء المفصولة بشرطة مائلة الأبناء المباشرين؛ يطابق * أي عنصر، ويختار لاحقة [N] (تبدأ من الصفر) مطابقة واحدة
المخرجات القانونية المُعدَّلة
تُعيد SerializePacketArray سجلات TXFAPacketData مرتبة؛ مرّر كل سجل إلى THotPDF.AddXFAPacket، أو استخدم SerializeXDPStream مع THotPDF.SetXFADocument للشكل ذي الـ stream الواحد
المخرجات القانونية المُعدَّلة
تحدّ TXFADOMLimits.Default إجمالي بايتات الإدخال والإخراج، وعدد الحزم، وعدد العقد، والعمق، والسمات لكل عقدة، وإجمالي بايتات السمات والنص، وMaxQueryResults؛ يفشل التحليل، والتحقق من التعديل، والاستعلام، والبصم، والتسلسل بـ EHPDFXFAError عند تجاوز أحد الحدود
انظر TXFAPacketDOM، TXFANode، وTXFADOMLimits