HPDFXFAResolveBoundDataNode

Unit: HPDFXFA

Deklarace

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;

Parametry

ParametrVýznam
ADocumentNativní dokument vlastnící packety datasetu i šablony
AFieldNodeŠablonové pole obsahující svou bind deklaraci či implicitní název
ADataNodeAktuální nativní datový výskyt pro implicitní i kompatibilita relativní bindingy
ACreateDovolí deterministickým chybějícím cestám vytvořit vlastněné nativní elementy s platnými XML názvy
ABindingHandledReportuje explicitní binding none či dataRef zpracovaný resolverem; zpracovaný binding může pořád vrátit nil
RemainingOperationsSdílený příspěvek operací, odečítaný za parsování, kontroly namespace i traversal; nula znamená vyčerpané a záporná vypne tento příspěvek volajícího
DeadlineAbsolutní deadline v doméně hodin dodaného callbacku, či záporná pro vypnutí kontrol uplynulého času
DeadlineCheckVolitelná synchronní metoda objektu; nil kontroluje milisekundy GetTickCount64

Chování

Vrácený uzel patří ADocument a volající ho nesmí uvolnit; implicitní názvy polí jsou literální XML názvy, tedy i s tečkami

Vyhledávání dataRef podporuje kořeny $data a $record, operátory potomků, wildcard i selektory tříd, explicitní sourozenecké indexy, [*] i escapované znaky selektorů; příklady a hranice popisuje Native XFA Bind SOM

Chybějící implicitní hodnota v dodaném opakovaném výskytu zůstává lokální pro ten výskyt; nepadá na jiný výskyt

Kompatibilita relativní dataRef cesta taky zůstává lokální, když je dodán ADataNode; fallback na záznam a kořen u relativních referencí platí jen tehdy, když volající nemá kontext výskytu

Read-only vyhledávání nealokuje datové uzly; tvorba platí pro deterministické pojmenované cesty, zatímco dvojsmyslné hledání wildcard, tříd i potomků zůstávají vyhledávacími operacemi

Nerozřešená přípona či výjimka odstraní mezilehlé uzly alokované tímto voláním resolveru; dřív existující uzly zůstávají vlastněné a beze změny

Traversal používá pevné limity 64 segmentů selektoru, 64 úrovní elementů a 200000 účtovaných kroků na průchod cestou, vedle volitelných limitů volajícího

Vyčerpané rozpočty operací či uplynulého času vyhodí EHPDFXFAError; interaktivní editace i události obnoví snapshot své obklopující nativní transakce

Související API