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;互動編輯與事件會還原所屬的原生交易快照

相關 API