原生 XFA Bind SOM

交互式运行时针对真实的原生数据集节点解析 bind dataRef 路径;直接编辑、脚本 rawValue 赋值与已物化的隐藏表单值消费的都是同一个选定数据值

选择器

表达式选中内容
$data..Detail.Price[1]匹配的后代 Detail 下面的第二个 Price
$data.main.*.Detail[1].Price[1]通过请求的后缀细化通配符分支
$data.main.*[1].Detail.Price[1]把通配符限制到其显式的第二个兄弟匹配
$data.main.#dataGroup[1].Detail.Price[1]在兄弟索引之前使用原生 Data DOM 分组分类
$data..Detail[*].Price[1]允许每个匹配的 Detail 实例参与后缀查找
$data.main.Price\.Tax选中字面名称为 Price.Tax 的 XML 元素

存在时,带命名空间限定的 xfa:dataNode 属性控制 dataGroup 与 dataValue 的分类;否则由实际的元素子节点区分 group 与 value

注释、处理指令和普通文本节点不作为数据元素参与

隐式字段名绑定把点号视为 XML 名称的一部分;显式选择器路径用反斜杠转义选择器中的字面字符

事务与原生持久化

编辑成功会更新选定的数据集叶节点和既有别名,包括 value 属性已物化的隐藏字段;未选中的兄弟节点和重复出现实例保留原值

校验失败、操作额度耗尽或截止时间到期都会按字节精确还原原生数据集与表单包;运行时配置的单调时钟同样约束绑定遍历

SaveToBytes 持久化真实的原生 XML,而不是仅事件视图;重新打开保存的 XDP 会再次消费选定数据值

创建与剩余覆盖范围

确定性的命名路径可以创建缺失的 index-zero 元素;后缀解析失败或遍历中断会移除该查找已做的分配

通配符、后代、class 与 [*] 路径只选择既有节点,不会分配有歧义的缺失分支

XFA dataRef 规范使用完全限定的 Data DOM 路径;既有的相对绑定路径仍作为兼容特性保留,在提供的实例上下文内解析

相对路径在给定实例中未命中时不会搜索其他记录;未解析的间接绑定可以改用该实例独立的原生表单值,而不会分配有歧义的数据集路径

相对 [+n] 和 [-n] 下标属于非限定脚本引用,不会被当作完全限定的绑定下标接受

属性选择器、通用谓词、全部节点类结构 XML 操作、全局绑定分配策略以及基于 picture 的规范化值校验仍是独立的覆盖目标

相关 API