HPDFXFAResolveBoundDataNode
單元:HPDFXFA
宣告
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;
參數
| 參數 | 意義 |
|---|---|
| ADocument | 持有 dataset 與 template packets 的原生文件 |
| AFieldNode | 含有 bind 宣告或隱含名稱的 template 欄位 |
| ADataNode | 用於隱含與相容性相對綁定的目前原生 data occurrence |
| ACreate | 允許確定性的缺失路徑建立具有效 XML 名稱的原生自有元素 |
| ABindingHandled | 回報 resolver 已處理明確的 none 或 dataRef 綁定;已處理的綁定仍可能回傳 nil |
| RemainingOperations | 共用的操作額度,解析、命名空間檢查與走訪都會扣減;0 表示耗盡,負值表示停用此呼叫端額度 |
| Deadline | 在所提供 callback 時鐘域中的絕對期限,負值表示停用耗時檢查 |
| DeadlineCheck | 選填的同步物件方法;nil 時檢查 GetTickCount64 毫秒 |
行為
回傳節點屬於 ADocument,呼叫端不得釋放;隱含欄位名稱是字面 XML 名稱,包含點號
dataRef 查找支援 $data 與 $record 根、descendant 運算子、wildcard 與 class selector、明確 sibling 索引、[*] 與跳脫的 selector 字元;範例與邊界請見 原生 XFA Bind SOM
在提供的重複 occurrence 中找不到隱含值時,只停留在該 occurrence 本地,不會退回其他 occurrence
提供 ADataNode 時,相容性相對 dataRef 路徑同樣只停留在本地;相對參照的 record 與 root fallback 只在呼叫端沒有 occurrence context 時適用
唯讀查找不會配置 data 節點;建立只適用於確定性的具名路徑,語意不明的 wildcard、class 與 descendant 搜尋仍屬查找操作
未解析的後綴或例外會移除此 resolver 呼叫配置的中間節點;先前已存在的節點保持持有且不變
走訪有固定限制:每次路徑走訪最多 64 個 selector 區段、64 層元素與 200000 個計費步數,另計選填的呼叫端限制
操作或耗時預算耗盡時丟出 EHPDFXFAError;互動編輯與事件會還原所屬的原生交易快照