TXFAFormStructure

HPDFXFAFormStructure dostarcza natywnego przygotowania i mapowania tożsamości dla instancji formularza opartych na szablonie

Klasa pożycza swój TXFADocument, posiada swój graf strukturalny i odłączone kandydatów i nigdy nie zwalnia pożyczonego dokumentu

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;

Operation scope

Wywołuj BeginOperation przed pracą strukturalną i EndOperation w bloku finally

Dostarczony callback jest wywoływany w całym ograniczonym traversalu, kopiowaniu i preflighcie grafu i może rzucać wyjątek, aby anulować operację

Graph.DetachedRoots odsłania posiadaną przez graf kolekcję do obserwacji i skoordynowanego przywracania snapshotów, a wywołujący nie mogą niezależnie zwalniać węzłów wciąż posiadanych przez tę kolekcję

Preparation and adoption

PrepareMaterialization komponuje odłączonego kandydata formularza z definicji szablonu i opcjonalnego istniejącego wystąpienia, zwracając pary źródło-kandydat w TXFAFormStructureAliases

TXFAFormStructureAlias.Source i Target to pożyczone referencje węzłów do remapowania zewnętrznych tożsamości przed zwolnieniem poprzedniego wystąpienia

ReplaceInstance adoptuje przygotowanego kandydata i zwraca poprzednie wystąpienie jako odłączony węzeł posiadany przez graf

Przestaw zależne referencje przed wywołaniem DiscardPrepared na zwróconym poprzednim wystąpieniu

DiscardPrepared zwalnia odłączonego kandydata posiadanego przez ten sam graf i nie usuwa dołączonej żywej instancji

Initial and sparse instances

PrepareUnboundModel zwraca odłączony model formularza dla pustego scalenia, zachowując autorską zawartość szablonu i rozwijając obsługiwane wystąpienia subform w niezależne węzły natywne

EnsureInstance zwraca istniejący żywy węzeł formularza albo konstruuje wymaganą ścieżkę rzadkiej instancji dla definicji szablonu i jej żywego kontekstu danych

EnsureInstance może mutować kilka żywych węzłów, więc rollback operacji złożonej należy do otaczającej transakcji dokumentu wywołującego

TXFAWidgetRuntime dostarcza tę transakcję dla publicznych zdarzeń skryptowych, łącznie z natywnym przywracaniem dokumentu i odłączonych tożsamości

Helper functions

FunkcjaCel
HPDFXFAEmptyMergeCountWaliduje deklarację wystąpień i zwraca jej liczbę scalenia pustego, używając jawnego initial albo minimum
HPDFXFAIsMaterializedFormNodeSprawdza kwalifikowany przestrzenią nazw marker materializacji w jawnym budżecie traversalu
HPDFXFAResolveMaterializedDefinitionRozpoznaje efektywny węzeł formularza dla definicji i kontekstu danych, raportując, czy zmaterializowany model jest autorytatywny
HPDFXFAResolveActualFormScopeRozpoznaje żywy scope danych rzeczywistego powtarzalnego wystąpienia formularza bez ponownego powtarzania jego deklaracji szablonu

Zapisany marker używa urn:hotpdf:xfa:form-structure:1 z prefiksem bezpiecznym dla kolizji, podczas gdy natywne węzły formularza używają przestrzeni nazw formularza XFA

Samodzielni natywni wywołujący muszą zachować dokument na czas życia klasy i dostarczyć rollback wokół złożonych operacji grafu, gdy anulowanie albo inna awaria musi przywrócić wcześniejsze udane kroki