TXFAFormStructure
HPDFXFAFormStructure levert native voorbereiding en identity-mapping voor template-gebaseerde formulier-instances
De klasse leent diens TXFADocument, is eigenaar van diens structurele graaf en gedetachte candidates, en geeft het geleende document nooit vrij
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
Raad BeginOperation aan vóór structureel werk en EndOperation in een finally-blok
De meegeleverde callback wordt aangeroepen gedurende begrensde traversal, kopiëren en graaf-preflight, en mag een exception raisen om de operatie te annuleren
Graph.DetachedRoots legt de owning-collectie van de graaf bloot voor observatie en gecoördineerd snapshot-herstel, en aanroepers mogen nodes die nog door die collectie worden vastgehouden niet zelfstandig vrijgeven
Preparatie en adoptie
PrepareMaterialization stelt een gedetachte formulier-candidate samen vanuit een template-definitie en een optionele bestaande instance, en geeft bron-naar-candidate-paren terug in TXFAFormStructureAliases
TXFAFormStructureAlias.Source en Target zijn geleende node-referenties voor het remappen van externe identiteiten vóór het vrijgeven van de vorige instance
ReplaceInstance adopteert de voorbereide candidate en geeft de vorige instance terug als een gedetachte graaf-owned node
Herricht afhankelijke referenties vóór het aanroepen van DiscardPrepared op de teruggegeven vorige instance
DiscardPrepared geeft een gedetachte candidate vrij die door dezelfde graaf wordt vastgehouden en verwijdert geen gekoppelde live instance
Initiële en sparse instances
PrepareUnboundModel geeft een gedetacht formulier-model terug voor een lege merge, met behoud van authored template-content en uitklapping van ondersteunde subform-occurrences naar onafhankelijke native nodes
EnsureInstance geeft een bestaande live formulier-node terug of construeert het vereiste sparse-instance-pad voor een template-definitie en diens live data-context
EnsureInstance kan meerdere live nodes muteren, dus rollback van samengestelde operaties hoort bij de omvattende documenttransactie van de aanroeper
TXFAWidgetRuntime levert die transactie voor publieke script-events, inclusief native document- en gedetachte identity-herstel
Helper-functies
| Functie | Doel |
|---|---|
HPDFXFAEmptyMergeCount | Valideert een occur-declaratie en geeft diens empty-merge-aantal terug, met expliciete initial of het minimum |
HPDFXFAIsMaterializedFormNode | Checkt de namespace-gekwalificeerde materialisatie-marker onder een expliciet traversal-budget |
HPDFXFAResolveMaterializedDefinition | Lost het effectieve formulier-node op voor een definitie en data-context, en rapporteert of het gematerialiseerde model autoritatief is |
HPDFXFAResolveActualFormScope | Lost de live data-scope van een echte herhaalde formulier-instance op zonder de template-declaratie opnieuw te herhalen |
De opgeslagen marker gebruikt urn:hotpdf:xfa:form-structure:1 met een collision-veilig prefix, terwijl native formulier-nodes de XFA-form-namespace gebruiken
Standalone native aanroepers moeten het document vasthouden voor de klassa-levensduur en rollback bieden rond samengestelde graafoperaties wanneer annulering of een andere fout eerdere geslaagde stappen moet herstellen