原生 XFA 标量值属性

事件宿主通过属性访问或 getElement 创建真实的原生表单值容器和标量叶子;字段值属性、绑定数据值和 widget 读取共享同一当前值

标量创建

受支持的标量子节点是 boolean、date、dateTime、decimal、float、integer、text 和 time,只出现一个所选值类的一个 occurrence

const field = xfa.form.resolveNode("main.row[1].input");
const leaf = field.value.getElement("text", 0);
leaf.value = "updated";
field.dataNode.value = "from-data";
if (leaf.value !== "from-data") throw new Error("Value synchronization failed");

读取缺失的标量属性会物化其原生表单节点,并从字段当前生效值初始化其内容;重复访问返回同一实时属性对象

value 默认带常见原型属性、override=0 和空的 relevant 属性;受支持的标量类暴露常见原型属性和空 name

one-of 检查包含全部标准值选项,因此已有 image、exData 或图形值选项时无法再创建标量

即时与原生同步

标量叶子的 value 与 rawValue 访问器代理其所属字段;绑定的 dataValue.value 是其 rawValue 访问器的可写别名

字段、标量和数据写入在同一脚本内更新彼此的读取,包括共享同一绑定数据值的其他字段

原生发布更新数据集值和既有物化的标量表单叶子;交互式 widget 提交和计算结果也会为绑定字段同步物化值属性,包括 hidden 和 invisible 别名

类型化标量内容按提供的文本保留,包括规范的日期、时间和数字字符串;本阶段不引入自动数值强转或新的 picture 格式化

隐藏别名同步遵循实际的重复数据作用域并保留未物化属性

实例、标识与事务

在一个重复 occurrence 中创建和编辑值属性不影响其他 occurrence;脚本对象可以保留标量属性引用供后续事件使用

新的重复实例获得独立原生值节点;事务保存前,对新实例的数据写入更新其实际物化的标量叶子

引擎错误、原生值预算失败和冲突的值选项恢复精确的原生 XDP 字节,包括字段数据、物化值叶子和共享别名

原生同步扫描参与事件操作与耗时预算;工作量过大时拒绝事务并恢复其快照

保存的 PDF 输出

XFA AcroForm 转换消费持久化的标量值,用于原生字段值和生成外观;重复首实例值保持不变

聚焦的保存生产者在转换前重新打开原生 XDP,独立 pypdf 与 MuPDF 检查检查类型化表单叶子、数据集值、原生字段和实际可见外观文本

剩余集成目标

Native exData XML 支持缺失值创建、真实外来 XML 导入、即时脚本序列化和持久化富 draw 消费

Draw 与 caption 标量消费者支持创建的每实例值和显式空覆盖

图像与图形值创建支持原生 image、arc、line 和 rectangle 子节点及实际 draw 消费者

完整的标量格式验证、富 widget 外观和 Unicode 外观嵌入仍是独立实现目标

Related APIs

Native Data DOM, Native Field Defaults, Absent Property Creation 和 Interactive XFA Runtime