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
| Funkcja | Cel |
|---|---|
HPDFXFAEmptyMergeCount | Waliduje deklarację wystąpień i zwraca jej liczbę scalenia pustego, używając jawnego initial albo minimum |
HPDFXFAIsMaterializedFormNode | Sprawdza kwalifikowany przestrzenią nazw marker materializacji w jawnym budżecie traversalu |
HPDFXFAResolveMaterializedDefinition | Rozpoznaje efektywny węzeł formularza dla definicji i kontekstu danych, raportując, czy zmaterializowany model jest autorytatywny |
HPDFXFAResolveActualFormScope | Rozpoznaje ż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