TXFAEventBinding
Unit: HPDFXFAEventScript
Declaration
TXFAEventBinding= record
Name, ClassName: AnsiString;
ParentIndex: Integer;
Value, Presence, Access: AnsiString;
InstanceCount, InstanceGroup: Integer;
MinInstances, MaxInstances: Integer;
DefaultValue, DefaultPresence, DefaultAccess: AnsiString;
Repeated: Boolean;
Identity, ScriptSource, Locale, EventActivity: AnsiString;
Domain: TXFAEventBindingDomain;
DataIdentity: AnsiString;
DataBindingEnabled: Boolean;
Attributes, DefaultAttributes: TXFAEventAttributes;
PropertyPath: AnsiString;
PropertyOwnerIndex: Integer;
XML, DefaultXML: AnsiString;
DataBindingRef, DataContextIdentity: AnsiString;
DataBindingExplicit: Boolean;
end;
Behavior
描述一个虚拟事件宿主节点;每个实际的重复 subform occurrence 接收独立的绑定与子节点
ParentIndex 选择其父绑定,根为 -1;Value、Presence 和 Access 描述当前 occurrence 状态
InstanceGroup 标识由同一实例管理器管理的绑定,InstanceCount 和 occurrence 上下限描述管理器边界
模板默认值用于初始化新实例;Repeated 标识带 occur 声明的节点
TXFAWidgetRuntime 在引擎执行之前从模板和当前数据集上下文构建这些记录
Identity 是此 occurrence 的稳定宿主标识;ScriptSource 包含 variables 内声明的脚本对象的 JavaScript 源码
Identity 为空时使用唯一的绑定索引标识;当绑定顺序可能变化时,应提供稳定的显式标识,让保留的引用继续指向同一 occurrence
Locale 以 UTF-8 文本携带节点可选的 locale 属性;执行节点继承最近的非空祖先值,整条链为空时选择用户 locale
EventActivity 为执行中的绑定提供 xfa.event.name;TXFAWidgetRuntime 会设置事件活动及 calculate 或 validate 上下文名,留空的更低层绑定则使用 event
Domain 区分表单节点与原生 datasets、dataGroup 和 dataValue 节点;其默认值 xebdForm 兼容既有调用方
DataIdentity 引用另一个绑定的稳定标识,把表单字段或 subform 连接到其数据节点;此后字段与数据值的读取共享同一个实时值
DataBindingEnabled 允许在重复表单原型没有既有数据绑定时隐式创建数据节点;bind match=none 的运行时字段将其保持 False,且不暴露合成数据节点
数据域的 InstanceGroup 记录同名同级 occurrence,供原生虚拟目标发布使用;数据绑定不暴露表单实例管理器
Attributes 包含生效的当前属性;DefaultAttributes 包含用于新克隆属性节点的模板属性
属性域的 Name 保留实际的 name 属性,通常为空;其 ClassName 提供 SOM 组件,其父索引保留属性层级和本地同级 occurrence
PropertyPath 与 PropertyOwnerIndex 标识模板中不存在的表单专属属性;路径使用类 occurrence 组件,owner 索引在同一绑定数组中选定原生表单 occurrence
运行时的表单专属绑定暴露当前原生属性,而其 DefaultAttributes 使用 schema 默认值,因此克隆重复原型得到的是默认属性值,而不是继承另一个实例的覆盖
既有的已声明属性绑定请将 PropertyPath 留空;此时关联的 owner 索引不使用
对 exData 而言,XML 是当前序列化的 UTF-8 元素,DefaultXML 为新的重复实例提供模板内容
XML 为空的 exData 绑定从空的原生 exData 元素起步;表单专属的 DefaultXML 保持为空,让新 occurrence 不会继承另一实例导入的外来内容
XML 输入字符串计入事件上下文字节预算;saveXML 和 loadXML 使用经过验证的原生响应重放,并通过 xeakLoadXML 发布
数据域的 XML 携带运行时有界的浅层原生 XML 元数据:元素名、命名空间、值、属性、命名空间声明、有序的非文本内容和子节点位置;DefaultXML 对数据节点不使用
该元数据包含一个节点及其直接文本、注释和处理指令子节点,避免为每个数据绑定复制一份完整的后代子树
DataBindingRef 是去除首尾空白后的 dataRef 选择器;DataBindingExplicit 区分显式空 dataRef 与隐式字段名绑定
DataContextIdentity 独立于 DataIdentity 标识字段的实际原生数据作用域,后者标识其选定的叶子节点
这些字段让 XML 导入能立即针对新鲜 Data DOM 重新求值绑定,包括新近可用的目标以及后代、通配、类和索引选择
普通应用使用 TXFAWidgetRuntime 构建原生绑定;更低层调用方对标量数据节点可以省略 XML 元数据,并将新绑定字段保持默认值
Related APIs
Interactive Dynamic XFA Widget Runtime, FormCalc Functions 和 XFA Packet DOM