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;交互编辑与事件会还原所在原生事务快照