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
| Parametr | Význam |
|---|---|
| ADocument | Nativní dokument vlastnící packety datasetu i šablony |
| AFieldNode | Šablonové pole obsahující svou bind deklaraci či implicitní název |
| ADataNode | Aktuální nativní datový výskyt pro implicitní i kompatibilita relativní bindingy |
| ACreate | Dovolí deterministickým chybějícím cestám vytvořit vlastněné nativní elementy s platnými XML názvy |
| ABindingHandled | Reportuje explicitní binding none či dataRef zpracovaný resolverem; zpracovaný binding může pořád vrátit nil |
| RemainingOperations | Sdí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 |
| Deadline | Absolutní deadline v doméně hodin dodaného callbacku, či záporná pro vypnutí kontrol uplynulého času |
| DeadlineCheck | Volitelná 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