HPDFXFAResolveBoundDataNode

Unit: HPDFXFA

Declarations

function HPDFXFAResolveBoundDataNode(ADocument: TXFADocument;
  AFieldNode, ADataNode: TXFANode; ACreate: Boolean;
  out ABindingHandled: Boolean): TXFANode; overload;

function HPDFXFAResolveBoundDataNode(ADocument: TXFADocument;
  AFieldNode, ADataNode: TXFANode; ACreate: Boolean;
  out ABindingHandled: Boolean; var RemainingOperations: Integer;
  Deadline: Int64; DeadlineCheck: TXFABindingDeadlineCheck = nil): TXFANode; overload;

Parameters

ParameterMeaning
ADocumentThe native document owning the dataset and template packets
AFieldNodeThe template field containing its bind declaration or implicit name
ADataNodeThe current native data occurrence for implicit and compatibility relative bindings
ACreateAllows deterministic missing paths to create owned native elements with valid XML names
ABindingHandledReports an explicit none or dataRef binding handled by the resolver; a handled binding can still return nil
RemainingOperationsShared operation allowance, decremented for parsing, namespace checks and traversal; zero is exhausted and negative disables this caller allowance
DeadlineAbsolute deadline in the supplied callback's clock domain, or negative to disable elapsed-time checks
DeadlineCheckOptional synchronous object method; nil checks GetTickCount64 milliseconds

Behavior

The returned node belongs to ADocument and must not be freed by the caller; implicit field names are literal XML names, including dots

DataRef lookup supports $data and $record roots, descendant operators, wildcard and class selectors, explicit sibling indices, [*] and escaped selector characters; see Native XFA Bind SOM for examples and boundaries

A missing implicit value in a supplied repeated occurrence stays local to that occurrence; it does not fall back to another occurrence

A compatibility relative dataRef path also stays local when ADataNode is supplied; record and root fallback for relative references applies only when the caller has no occurrence context

Read-only lookup does not allocate data nodes; creation applies to deterministic named paths, while ambiguous wildcard, class and descendant searches remain lookup operations

An unresolved suffix or exception removes intermediate nodes allocated by this resolver call; previously existing nodes remain owned and unchanged

Traversal uses fixed limits of 64 selector segments, 64 element levels and 200000 charged steps per path traversal, in addition to the optional caller limits

Exhausted operation or elapsed-time budgets raise EHPDFXFAError; interactive edits and events restore their enclosing native transaction snapshot

Related APIs