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 包的原生文档
AFieldNode包含 bind 声明或隐式名称的模板字段
ADataNode用于隐式与兼容相对绑定的当前原生数据实例
ACreate允许确定性缺失路径创建带合法 XML 名称的原生元素
ABindingHandled报告 resolver 已处理显式 none 或 dataRef 绑定;已处理的绑定仍可能返回 nil
RemainingOperations共享操作额度,解析、命名空间检查与遍历都会扣减;0 表示耗尽,负数禁用该调用方额度
Deadline给定 Callback 时钟域中的绝对截止时间,负数禁用耗时检查
DeadlineCheck可选的同步对象方法;nil 时检查 GetTickCount64 毫秒

行为

返回节点归 ADocument 所有,调用方不得释放;隐式字段名是字面 XML 名称,包括点号

DataRef 查找支持 $data 与 $record 根、后代运算符、通配符与 class 选择器、显式兄弟下标、[*] 与转义选择器字符;示例与边界参见 原生 XFA Bind SOM

给定重复实例中缺失的隐式值只作用于该实例,不会回退到其他实例

提供 ADataNode 时,兼容相对 dataRef 路径同样只作用于本地;相对引用的 record 与 root 回退仅在调用方没有实例上下文时适用

只读查找不分配数据节点;创建只适用于确定性命名路径,有歧义的通配符、class 与后代搜索仍是查找操作

后缀未解析或发生异常会移除本次 resolver 调用分配的中间节点;既有节点保持归属与内容不变

除可选调用方限制外,每次路径遍历还有固定限制:64 个选择器段、64 层元素与 200000 个计费步

操作或耗时预算耗尽会抛出 EHPDFXFAError;交互编辑与事件会还原所在原生事务快照

相关 API