HPDFXFAResolveFieldValueNode

Unit: HPDFXFA

Deklaration

function HPDFXFAResolveFieldValueNode(Document: TXFADocument;
  FieldNode, DataNode: TXFANode; CreateNode: Boolean= False;
  MaxNodes: Integer= 65536): TXFANode; overload;

function HPDFXFAResolveFieldValueNode(Document: TXFADocument;
  FieldNode, DataNode: TXFANode; CreateNode: Boolean;
  MaxNodes: Integer; var RemainingOperations: Integer; Deadline: Int64;
  DeadlineCheck: TXFABindingDeadlineCheck = nil): TXFANode; overload;

Parameter

ParameterBedeutung
DocumentDas native XFA-Dokument, dem die field-, data- und form-Packets gehören
FieldNodeDas Template-Feld, dessen effektiver Wert angefordert wird
DataNodeDer datasets-Vorkommenkontext; wiederholte Felder brauchen ihren eigenen Vorkommenkontext
CreateNodeFalse löst lesbare Daten, einen Formularwert oder den Template-Default auf; True liefert einen schreibbaren Instanzwert
MaxNodesDie an die native Formularinstanz-Erzeugung übergebene Vorkommensgrenze

Verhalten

Ein bestehender gebundener datasets-Knoten gewinnt selbst bei leerem Inhalt; ein fehlender Knoten fällt auf den entsprechenden nativen Formularwert und dann auf das erste value-Kind im Template-Feld zurück

Eine schreibgeschützte Suche erzeugt keinen datasets- oder Formularknoten und liefert nil, wenn keine dieser Wertquellen existiert

Bei CreateNode True erzeugt oder liefert die normale Datenbindung den schreibbaren datasets-Knoten; ein ungebundenes Feld oder ein Dokument ohne schreibbare datasets nutzt stattdessen einen separaten nativen Formularwert

Ein neu erzeugter datasets-Knoten kann anfangs leer sein; der Aufrufer liefert den committeten Wert, statt über einen zuvor zurückgelieferten Template-Default zuzuweisen

Der zurückgelieferte Knoten gehört zu Document und darf vom Aufrufer nicht freigegeben werden; die schreibgeschützte Suche kann einen geteilten Template-Knoten liefern, daher hole einen schreibbaren Knoten mit CreateNode True, bevor du seinen Inhalt änderst

Null-Document oder -FieldNode liefert nil; übermäßige native Formularvorkommen-Indizes oder Vorfahrentiefe werfen EHPDFXFAError über den Formular-Resolver

Consumer

Die Budget-Überladung teilt die Operations-Zuteilung und Deadline des Aufrufers mit der nativen Binding-Auflösung; null RemainingOperations ist erschöpft, negativ deaktiviert die Aufrufer-Zuteilung, und eine negative Deadline deaktiviert Ablaufzeitprüfungen

DeadlineCheck kann die Clock-Domain des Aufrufers liefern; nil nutzt GetTickCount64-Millisekunden, während die interaktive Runtime ihre konfigurierte monotone Deadline-Prüfung liefert

Binding-Scans behalten feste Segment-, Traversierungstiefen- und angerechnete-Schritt-Limits; Budgetfehler werfen EHPDFXFAError, und interaktive Transaktionen stellen ihren nativen Snapshot wieder her

Siehe HPDFXFAResolveBoundDataNode und TXFABindingDeadlineCheck für die Binding-Budget- und Callback-Contracts

Die interaktive Runtime und die XFA-AcroForm-Konvertierung teilen sich diesen Resolver und halten fehlende Defaults, explizit leere Daten und wiederholte Vorkommenswerte konsistent

Interaktive Bearbeitungen und Berechnungen holen sich vor dem Commit einen schreibbaren Instanzknoten neu und bewahren den Template-Default für andere Instanzen

Verwandte APIs

Native XFA-Feld-Defaults, HPDFXFAResolveFormInstanceNode und Interaktive Dynamic-XFA-Widget-Runtime