XSLTForms/Javascript
警告!! 此文档是根据 Javascript 源代码中嵌入的注释自动生成的。
XSLTForms Javascript 部分在浏览器执行由 XSLT 转换之后激活。 "init()" 函数由 XSLT 转换根据 XForms 文档创建,并以 "xforms.init()" 作为最后一个函数调用,由 "body" 元素关联的 "onload" 事件调用。许多 Javascript 对象和函数可以由开发人员直接调用以满足特定目的,考虑到误用可能会影响 XSLTForms 的全局行为。
document.getElementById() 的快捷方式
如果我们还想包含 JQuery 函数,这将如何工作?应该使用不同的函数吗?
用于浏览器兼容性的核心类
- isOpera、isIE 和 isMozilla 方法:返回浏览器家族
- hasClass 方法:测试元素是否具有 CSS 类
- loadProperties 方法:AJAX 方法,用于获取 I18N 属性
- constructURI 方法:根据当前位置构造 URI
- createElement 方法:创建 DOM 元素,并可选地添加类、将其附加到其父元素并用文本内容填充它
- getWindowSize 方法:获取各种浏览器的窗口大小
- openRequest 方法:打开 XMLHttpRequest
调试控制台管理
- write 方法:向调试控制台添加文本
- clear 方法:清除调试控制台
对话框面板管理
- show 方法:显示对话框面板
- hide 方法:隐藏对话框面板
- knownSelect 方法:确定对话框管理是否已知选择控件(IE6 解决方案)
- showSelects 方法:显示/隐藏对话框面板下的选择控件(IE6 解决方案)
事件管理
国际化管理
- get 方法:获取当前语言的属性值
- parse 方法:根据模式和当前语言解析数据
- format 方法:根据模式和当前语言格式化数据
- parseDate 方法:用于解析日期的直接方法
- formatDate 方法:用于格式化日期的直接方法
- formatNumber 方法:用于格式化数字的直接方法
- parseNumber 方法:用于解析数字的直接方法
- forEach 函数:用相同参数向对象集合调用相同方法的便捷方式
- assert 函数:条件调试控制台消息添加
- inArray 函数:测试数组中是否存在值
- zeros 函数:左或右零填充
- getValue 函数:获取节点值
- setValue 函数:设置节点的值
- run 函数:执行操作(由生成的 Javascript 指令调用)
- getId 函数:获取事件所涉及的 xf 元素的 ID(FF2 兼容性问题)
- show 函数:显示/隐藏元素(由生成的 Javascript 指令调用,通常用于提示或输入错误)
- trim 方法:String 类的左右修剪方法
- copyArray 函数:将源数组中的每个元素复制到目标数组
XForms 管理的全局类
- init 方法:从生成的 init() 函数调用,该函数在 onload 事件中调用
- close 方法:执行所有关闭操作
- openAction 方法:简单地清除调试控制台
- closeAction 方法:在所有操作完成后调用 closeChanges() 方法
- closeChanges 方法:重建或重新计算更改后的内容
- error 方法:XForms 错误管理
- refresh 方法:XForms 刷新管理
- build 方法:XForms 构建管理
- addChange 方法:构建受更改影响的元素堆栈
- dispose 方法:处置元素
- blur 方法:焦点移出管理
XForms 绑定管理
- 构造函数:解析 "xpath"、"model" 和 "bind" 属性
- evaluate 方法:评估绑定
重复结构的 ID 管理器
每个模型组件都存储为由 XSLT 转换创建的 Javascript 对象。XFCoreElement 是所有其他类的父类。
每个模型组件类的父类
- init 方法:在 "head" 元素下创建一个 "span" 元素来存储此对象
- dispose 方法:清除此对象的属性
- 构造函数:专门获取关联的模式
- addInstance 方法:向此模型添加实例
- addBind 方法:向此模型添加绑定
- dispose 方法:清除此对象的属性
- getInstance 方法:通过其 ID 获取此模型的实例
- getInstanceDocument 方法:通过实例 ID 获取此模型实例的文档
- findInstance 方法:在此模型中查找节点对应的实例
- construct 方法:构造步骤转发到实例,并分派相应的 XForms 事件
- reset 方法:重置操作转发到实例,并将此模型标记为已重建
- rebuild 方法:刷新操作转发到实例,并分派 "xforms-recalculate" 事件
- recalculate 方法:重新计算操作转发到实例,并分派 "xforms-revalidate" 事件
- revalidate 方法:重新验证操作转发到实例,并分派 "xforms-refresh" 事件
- refresh 方法:无操作
- addChange 方法:根据当前步骤将此模型堆叠为已更改
- setRebuilded 方法:根据当前步骤存储已重建状态
实例类
- 构造函数:存储此实例的属性,并将其附加到模型
- dispose 方法:清除属性并回收关联的节点
- construct 方法:在本地或远程加载此实例的源代码
- reset 方法:简单地恢复此实例的初始副本
- store 方法:克隆此实例的文档
- setDoc 方法:为此实例设置文档
- revalidate 方法:根据只读和相关属性递归地重新验证此实例的每个节点
模型绑定类
- 构造函数:解析所有属性,并将此对象附加到模型
- refresh 方法:完全评估并刷新此绑定
- recalculate 方法:仅重新计算此绑定
提交类
- 构造函数:存储此提交的属性,并将其附加到模型
- submit 方法:根据所选方法提交序列化数据
- toUrl_ 方法:递归地收集节点值以将其添加到 URL
内部 XForms 处理器类
- error 函数:显示错误
每个操作都存储为由 XSLT 转换创建的 Javascript 对象。XFAbstractAction 是所有操作类的父类。
每个操作类的父类
- init 方法:"if" 和 "while" 属性在此类中定义
- execute 方法:"while" 属性处理调用 "if" 属性处理
- exec_ 方法:"if" 属性处理调用特定的 "run" 方法
- run 方法:空方法,将在每个子类中定义
操作类
- 构造函数:专门在没有子节点的情况下初始化
- add 方法:向此操作添加子操作
- run 方法:执行此操作的每个子操作
删除操作类
- 构造函数:解析此删除操作的属性
- run 方法:执行此删除操作,并分派 "xforms-delete"
分派操作类
- 构造函数:存储特定属性
- run 方法:分派 XForms 事件
插入操作类
- 构造函数:解析特定属性
- run 方法:克隆然后插入新元素,并分派 "xforms-insert"
加载操作类
- 构造函数:存储特定属性
- run 方法:根据 "show" 属性打开新窗口或更改当前位置
消息操作类
- 构造函数:存储特定属性
- run 方法:显示包含节点值的警报消息框
SetIndex 操作类
- 构造函数:解析特定属性
- run 方法: 设置重复结构的当前索引
SetValue 操作类
- 构造函数:解析特定属性
- run 方法: 设置节点的值并在更改集合中记录它
Toggle 操作类
- 构造函数: 存储特定属性
- run 方法: 切换关联元素
- toggle 方法: 根据元素的 ID 切换元素并分发 "xforms-deselect" 事件
每个控件都存储为一个由 XSLT 转换创建的 Javascript 对象,该对象以对应 (X)HTML 元素的 ID 作为属性。XFElement 是所有操作类的父类,XFControl 类作为中间类,适用于大多数操作类。
AVT 控件类
- 构造函数: 初始化特定属性并初始化焦点和模糊事件管理
- clone 方法: 使用给定 ID 创建一个新的输出控件
- dispose 方法: 清理此控件的属性并调用父 dispose() 方法
- setValue 方法: 设置此 AVT 控件的值
元素类
- 构造函数: 空
- init 方法: 初始化属性
- dispose 方法: 清理此元素的属性
- build 方法: 抽象地根据依赖项构建此元素
控件类
- 构造函数: 将此元素设置为控件
- initFocus 方法: 为 "focus" 和 "blur" 附加事件处理程序
- dispose 方法: 调用父 "dispose()" 方法
- focus 方法: 管理焦点并分发 "DOMFocusIn" 事件
- build_ 方法: 更新依赖项的特定构建方法
- refresh 方法: 根据对应节点的值刷新此控件并分发相应事件
- changeProp 方法: 更改此控件的属性,例如 required、relevant、readonly 和 valid
- valueChanged 方法: 更改此控件的值并分发 "xforms-recalculate" 事件
- getXFElement 函数: 获取元素的祖先或自身 XFElement 值
- focusHandler 函数: 焦点处理程序
- blurHandler 函数: 包含延迟的模糊处理程序
组元素类
- 构造函数: 设置特定属性
- clone 方法: 使用给定 ID 创建一个新的组
- build_ 方法: 特定构建方法
- refresh 方法: 设置 "xforms-disabled" CSS 类
输入控件类
- 构造函数: 初始化特定属性,包括辅助按钮管理
- clone 方法: 使用给定 ID 创建一个新的输入
- dispose 方法: 清理此元素的属性并调用父 dispose() 方法
- initInput 方法: 根据类型 (password/textarea/boolean/date/datetime) 初始化输入控件
- setValue 方法: 根据类型设置此输入控件的值
- changeReadonly 方法: 更改此输入控件的只读状态
- initEvents 方法: 根据增量功能初始化事件管理
- blur 方法: 不处于增量模式时管理模糊事件
- click 方法: 根据输入控件类型管理点击事件
- keyUpInputMode 函数: 按键向上后更新此输入控件的值
- keyUpActivate 函数: 检查是否按下了 Enter 键以分发 DOMActivate
- keyUpIncrementalActivate 函数: 检查是否按下了 Enter 键以在增量模式下分发 DOMActivate
- keyUpIncremental 函数: 在增量模式下按键向上后更新此输入控件的值
- InputMode 函数集: 每个可能的输入模式 (lowerCase/upperCase/titleCase/digits) 的特定检查函数
项目控件类
- 构造函数: 初始化特定属性并初始化焦点和模糊事件管理
- clone 方法: 使用给定 ID 创建一个新的项目控件
- dispose 方法: 清理此元素的属性并调用父 dispose() 方法
- build_ 方法: 根据标签和值绑定创建特定构建方法
- refresh 方法: 根据是否有选项作为渲染来刷新此项目控件的标签和值
- click 方法: 根据项目控件类型管理点击事件
ItemSet 控件类
- 构造函数: 初始化特定属性
- build_ 方法: 使用相应的克隆创建特定构建方法
- refresh 方法: 设置 "xforms-disabled" CSS 类
- clone 方法: 使用给定 ID 创建一个新的 itemset 控件
- refresh_ 方法: 在给定位置刷新此 ItemSet 控件
标签元素类
- 构造函数: 初始化特定属性
- clone 方法: 使用给定 ID 创建一个新的标签元素
- build_ 方法: 特定构建方法
- refresh 方法: 刷新此标签元素
输出控件类
- 构造函数: 初始化特定属性并初始化焦点和模糊事件管理
- clone 方法: 使用给定 ID 创建一个新的输出控件
- dispose 方法: 清理此控件的属性并调用父 dispose() 方法
- setValue 方法: 设置此输出控件的值
- getValue 方法: 设置此输出控件的值
重复元素类
- 构造函数: 设置特定属性
- dispose 方法: 清理此元素的属性并调用父 dispose() 方法
- setIndex 方法: 设置此重复元素的当前索引
- deleteNode 方法: 删除此重复元素中的给定节点,并确保当前索引仍然有效
- insertNode 方法: 在此重复元素中的另一个给定节点之后插入给定节点,并更新当前索引
- build_ 方法: 重新创建此重复控件中的所有节点并将当前索引设置为 1
- refresh 方法: 刷新此重复元素,如果它不是 ItemSet,则刷新子元素
- clone 方法: 使用给定 ID 创建一个新的重复元素
- initClone 函数: 初始化给定 ID 的克隆
- selectItem 函数: 将当前索引设置为重复元素中给定元素的索引
Select/Select1 控件类
- 构造函数 : 初始化特定属性并初始化焦点和更改事件管理
- clone 方法 : 使用给定 ID 创建一个新的 select/select1 控件
- dispose 方法 : 清除此 select/select1 控件的属性并调用父 dispose() 方法
- focusFirst 方法 : 将焦点设置到此 select/select1 控件中的第一个项目
- setValue 方法 : 搜索给定值,如果找到则检查它,否则分派 "xforms-in-range" 事件
- changeReadonly 方法 : 更改此 select/select1 控件的只读状态
- itemClick 方法 : 分派 "xforms-select" 和 "xforms-deselect" 事件
- blur 方法 : 模糊事件管理
- normalChange 函数 : 更改时以正常模式处理程序分派 "xforms-select" 和 "xforms-deselect" 事件
- incrementalChange 函数 : 更改时以增量模式处理程序调用正常模式处理程序
- getSelected 方法 : 收集此 select/select1 控件的已选选项
触发器控件类
- 构造函数 : 初始化特定属性并初始化焦点事件管理
- setValue 方法 : 空
- clone 方法 : 使用给定 ID 创建一个新的触发器控件
- click 方法 : 分派 "DOMActivate" 事件
- blur 方法 : 空
用于日期/日期时间控件的日历类
- 构造函数 : 动态创建一个表格元素
- today 方法 : 将此日历对象的 value 属性设置为当前日期
- refreshControls 方法 : 根据给定日期刷新此日历对象
- refresh 方法 : 刷新此日历对象
- getFirstDay 方法 : 获取所选月份的第一天
- getDaysOfMonth 方法 : 获取所选月份的天数
- createElement 方法 : 在此日历对象中创建一个新的可点击日期
- show 函数 : 为给定输入显示给定类型的日历对象
- close 函数 : 隐藏当前日历对象
每个模式都存储为由 XSLT 转换创建的 Javascript 对象。Type 是 *Type 类的父类。
Type 抽象类
- 构造函数: 空
- setSchema 方法 : 将模式与此 Type 对象关联
- setName 方法 : 将名称与此 Type 对象关联,并相应更新模式
- canonicalValue 方法 : 根据空白管理(替换、折叠)计算规范值
- getMaxLength 方法 : 获取此 Type 对象的最大长度或 null
- getDisplayLength 方法 : 获取此 Type 对象的显示长度或未定义最大长度
Schema 类
- 构造函数 : 在检查它尚不存在后创建一个 Schema 对象
- all 关联数组 : 根据其各自的命名空间存储所有模式
- getType 方法 : 获取此模式的给定名称的类型
- getType 函数 : 获取给定前缀:名称的类型
- getTypeNS 函数 : 获取给定命名空间和给定名称的类型
- get 函数 : 获取给定命名空间的模式
- prefixes 关联数组 : 初始化默认前缀和命名空间
- registerPrefix 函数 : 将前缀和相应的命名空间添加到 "prefixes" 关联数组
AtomicType 类
- 构造函数 : 初始化 patterns 属性
- setBase 方法 : 将基本模式复制到此 AtomicType 对象
- put 方法 : 设置基本模式,复制模式或仅添加属性
- validate 方法 : 根据此 AtomicType 对象验证值
- normalize 方法 : 根据此 AtomicType 对象规范化值的位数
ListType 类
- 构造函数 : 空白管理为 "collapse"
- setItemType 方法 : 为此 ListType 对象中的每个项目关联 Type 对象
- validate 方法 : 根据此 ListType 对象验证值
- canonicalValue 方法 : 计算列表值的规范值
ListType 类
- 构造函数 : 初始化 base types 属性
- addType 方法 : 向此 UnionType 对象添加 Type 对象
- validate 方法 : 验证值是否至少与此 UnionType 对象的一个基本类型匹配
默认类型定义初始化类
- initAll 方法 : 初始化 XML 模式和 XForms 的默认类型定义
- init 方法 : 初始化给定命名空间的默认类型定义
- Default 关联数组 : XML 模式的每个默认类型定义
- base : 基本类型的名称
- whitespace : 空白行为
- patterns : 正则表达式数组
- class : 关联类
- displayLength : 数字
- fractionDigits : 数字
- totalDigits : 数字
- minInclusive : 数字
- maxInclusive : 数字
- minExclusive : 数字
- maxExclusive : 数字
- format : 格式化函数
- parse : 解析函数
- 预定义类型
- xsd:string
- xsd:boolean
- xsd:decimal
- xsd:float
- xsd:double
- xsd:dateTime
- xsd:date
- xsd:time
- xsd:duration
- xsd:gDay
- xsd:gMonth
- xsd:gMonthDay
- xsd:gYear
- xsd:gYearMonth
- xsd:integer
- xsd:nonPositiveInteger
- xsd:nonNegativeInteger
- xsd:negativeInteger
- xsd:positiveInteger
- xsd:byte
- xsd:short
- xsd:int
- xsd:long
- xsd:unsignedByte
- xsd:unsignedShort
- xsd:unsignedInt
- xsd:unsignedLong
- xsd:normalizedString
- xsd:token
- xsd:language
- xsd:anyURI
- xsd:Name
- xsd:NCName
- xsd:QName
- xsd:ID
- xsd:IDREF
- xsd:IDREFS
- xsd:NMTOKEN
- xsd:NMTOKENS
- xsd:base64Binary
- xsd:hexBinary
- XForms 关联数组 : XForms 类型的每个默认类型定义
- xforms:string
- xforms:boolean
- xforms:decimal
- xforms:float
- xforms:double
- xforms:dateTime
- xforms:date
- xforms:time
- xforms:duration
- xforms:dayTimeDuration
- xforms:yearMonthDuration
- xforms:gDay
- xforms:gMonth
- xforms:gMonthDay
- xforms:gYear
- xforms:gYearMonth
- xforms:integer
- xforms:nonPositiveInteger
- xforms:nonNegativeInteger
- xforms:negativeInteger
- xforms:positiveInteger
- xforms:byte
- xforms:short
- xforms:int
- xforms:long
- xforms:unsignedByte
- xforms:unsignedShort
- xforms:unsignedInt
- xforms:unsignedLong
- xforms:normalizedString
- xforms:token
- xforms:language
- xforms:anyURI
- xforms:Name
- xforms:NCName
- xforms:QName
- xforms:ID"
- xforms:IDREF
- xforms:IDREFS
- xforms:NMTOKEN
- xforms:NMTOKENS
- xforms:base64Binary
- xforms:hexBinary
- xforms:email
- xforms:card-number
- xforms:url
- xforms:amount
- XSLTForms 关联数组 : XSLTForms 类型的每个默认类型定义
- xsltforms:decimal
- xsltforms:float
- xsltforms:double
- xsltforms:integer
- xsltforms:nonPositiveInteger
- xsltforms:nonNegativeInteger
- xsltforms:negativeInteger
- xsltforms:positiveInteger
- xsltforms:byte
- xsltforms:short
- xsltforms:int
- xsltforms:long
- xsltforms:unsignedByte
- xsltforms:unsignedShort
- xsltforms:unsignedInt
- xsltforms:unsignedLong
监听器类
- 构造函数 : 为观察者元素创建一个监听器对象并附加标准回调函数
- attach 方法 : 根据当前阶段附加事件
- detach 方法 : 根据当前阶段分离事件
- clone 方法 : 为给定元素创建一个新的监听器
XForms 事件管理类
- REGISTRY 关联数组 : 存储每个事件的属性
- bubbles : 布尔值
- cancelable : 布尔值
- defaultAction : 处理程序函数,默认情况下为空函数
- define 函数 : 方便的函数,用于在事件注册表中添加新事件
- dispatchList 函数 : 在给定列表中的每个目标处调度相同的事件
- dispatch 函数 : 在给定目标处调度给定事件,可能具有不同的属性
- 默认事件管理
- xforms-model-construct : 在xforms-ready 事件触发之前,在 xforms.init() 函数结束时触发
- bubbles : 是
- cancelable : 否
- 默认处理程序 : construct() 方法
- xforms-model-construct-done : 在xforms-rebuild 事件触发之后,在 XFModel.construct() 方法结束时触发
- bubbles : 是
- cancelable : 否
- 默认处理程序 : 空
- xforms-ready' : 在xforms-model-construct 事件触发之后,在 xforms.init() 函数结束时触发
- bubbles : 是
- cancelable : 否
- 默认处理程序 : 空
- xforms-model-destruct : 在 xforms.close() 函数中,对每个模型触发
- bubbles : 是
- cancelable : 否
- 默认处理程序 : 空
- xforms-rebuild : 在 xforms.closeChanges() 函数中,当需要重建时触发,
- xforms-model-construct : 在xforms-ready 事件触发之前,在 xforms.init() 函数结束时触发
在 XFModel.construct() 方法中,在xforms-model-construct-done 事件触发之前触发,以及在 XFSubmission.submit() 方法中,当相应的实例刚刚被替换时触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : rebuild() 方法
- xforms-recalculate : 在 xforms.closeChanges() 函数中,当不需要重建时触发,
在 XFModel.rebuild() 方法结束时触发,以及在 XFControl.valueChanged() 方法中,当新值不同时触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : recalculate() 方法
- xforms-revalidate : 在 XFModel.recalculate() 方法结束时触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : revalidate() 方法
- xforms-reset : 由 XSL 转换针对 xforms:reset 元素生成的监听器触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : reset() 方法
- xforms-submit : 由 XSL 转换针对 xforms:submit 元素生成的监听器触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : submit() 方法
- xforms-refresh : 在 XFModel.revalidate() 方法结束时触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : refresh() 方法
- xforms-focus : 由 XSL 转换针对 xforms:setfocus 操作生成的监听器触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : focus() 方法
- DOMActivate : 由 XFTrigger.click() 方法触发,以及由 XSL 转换针对 xforms:submit 元素生成的监听器触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- DOMFocusIn : 由 XFControl.focus() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- DOMFocusOut : 由 xforms.blur() 函数触发,用于已经获得焦点的元素
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-select : 由 XFToggle.toggle()、XFSelect.normalChange() 函数和 XFSelect.itemClick() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-deselect : 由 XFToggle.toggle()、XFSelect.normalChange() 函数和 XFSelect.itemClick() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-value-changed : 由 XFControl.refresh() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-insert : 由 XFInsert.run() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-delete : 由 XFDelete.run() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-valid : 由 XFControl.refresh() 方法通过 XFControl.changeProp() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-invalid : 由 XFControl.refresh() 方法通过 XFControl.changeProp() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-enabled : 由 XFControl.refresh() 方法通过 XFControl.changeProp() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-disabled : 由 XFControl.refresh() 方法通过 XFControl.changeProp() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-optional : 由 XFControl.refresh() 方法通过 XFControl.changeProp() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-required : 由 XFControl.refresh() 方法通过 XFControl.changeProp() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-readonly : 由 XFControl.refresh() 方法通过 XFControl.changeProp() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-readwrite : 由 XFControl.refresh() 方法通过 XFControl.changeProp() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-in-range : 由 XFSelect.setValue() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-out-of-range : 由 XFSelect.setValue() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-submit-done : 由 XFSubmission.submit() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-submit-error : 由 XFSubmission.submit() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-compute-exception : 未使用
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-binding-exception : 由 XFBind.refresh() 方法触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 空
- xforms-dialog-open : 由 XSL 转换针对 xforms:show 操作生成的监听器触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 对应对话框的 show() 方法
- xforms-dialog-close : 由 XSL 转换针对 xforms:hide 操作生成的监听器触发
- bubbles : 是
- cancelable : 是
- 默认处理程序 : 对应对话框的 hide() 方法
XPath 表达式由 XSLT 转换“编译”(转换为 Javascript 对象创建指令)。对于每个不同的(根据其文本源)表达式,都有一个“XPath”对象。通常对每个参数执行隐式强制转换。
用于轴的 XML 常量类,作为关联数组
用于节点类型的 XML 常量类,作为关联数组
XNode 类
- 构造函数: 初始化特定属性
- getElementsByTagName 方法 : 获取此 XNode 对象的所有具有给定标签名的元素的数组
- getTextContent 方法 : 获取此 XNode 对象的文本上下文
- appendChild 方法 : 在此 XNode 对象中附加新的子节点
- replaceChild 方法 : 替换此 XNode 对象的子节点
- insertBefore 方法 : 在此 XNode 对象的另一个子节点之前插入子节点
- removeChild 方法 : 删除此 XNode 对象的子节点
- setAttributeNS 方法 : 设置此 XNode 对象的属性,如果需要,则创建该属性。 “xsd:type”被解释为将相应的类型与该 XNode 对象关联。
- getAttributeNS 方法 : 获取此 XNode 对象的属性的值
- removeAttributeNS 方法 : 删除此 XNode 对象的属性
- cloneNode 方法 : 克隆此 XNode 对象
- init 函数 : 设置此 XNode 对象的属性
- recycle 函数 : 清除此 XNode 对象及其子 XNode 对象的每个属性
- create 函数 : 重用之前回收的 XNode 对象或创建一个新的 XNode 对象
基于 XNode 类的 XDocument 类
- 构造函数 : 创建文档 XNode 对象
- clear 方法 : 回收组成此 XDocument 对象的每个 XNode 对象
- appendChild 方法 : 将节点附加到此 XDocument 对象
- createElementNS 方法 : 为此 XDocument 对象创建一个元素 XNode 对象
- createTextNode 方法 : 为此 XDocument 对象创建一个文本 XNode 对象
- createAttributeNS 方法 : 为此 XDocument 对象创建一个属性 XNode 对象
- getElementsByTagName 方法 : 获取此 XDocument 对象的所有具有给定标签名的元素的数组
- transformToText 方法 : 将文本 XSL 转换应用于此 XDocument 对象
- unescape 函数 : 对序列化 XML 中的实体进行转义
- parse 函数 : 解析序列化 XML 以将其加载到此 XDocument 对象中
- load 函数 : 获取给定位置的序列化 XML 以将其加载到此 XDocument 对象中
Writer 类
- toString 方法 : 序列化 XNode 对象
XMLWriter 类
- toString 方法 : 序列化 XNode 对象
用于数组表达式的 XPath 表达式类
- 构造函数 : 初始化 exprs 属性
- evaluate 方法:将此表达式对象评估为节点集
用于二元表达式的 XPath 表达式类
- 构造函数: 初始化特定属性
- evaluate 方法:评估此二元表达式对象。不需要优先级处理,因为这已在 XSLT 转换步骤中完成。
XPath 表达式评估类上下文
- 构造函数: 初始化特定属性
- clone 方法:基于此表达式上下文对象创建一个新的表达式上下文
- setNode 方法:设置此表达式上下文对象的节点和位置属性
- initDeps 方法:初始化此表达式上下文对象的依赖项集合
- addDepNode 方法:将节点添加到此表达式上下文对象的相应依赖项集合中
- addDepElement 方法:将元素添加到此表达式上下文对象的相应依赖项集合中
用于令牌表达式的 XPath 表达式类
- 构造函数:初始化 value 属性
- evaluate 方法:将此二元表达式对象的 value 评估为字符串值。
用于一元减号表达式的 XPath 表达式类
- 构造函数:初始化 expr 属性
- evaluate 方法:评估此一元减号表达式对象。
用于常量表达式的 XPath 表达式类
- 构造函数:初始化 value 属性
- evaluate 方法:按原样获取此常量表达式对象的 value。
用于根据谓词过滤节点的 XPath 表达式类
- 构造函数: 初始化特定属性
- evaluate 方法:评估此过滤表达式对象
用于核心函数调用的 XPath 表达式类
- 构造函数:检查核心函数是否具有给定名称,初始化特定属性,推送参数
- evaluate 方法:评估此函数调用表达式对象,使用上下文和相同参数调用相应的 Javascript 函数
用于位置表达式的 XPath 表达式类
- 构造函数:初始化 absolute 属性并堆叠后续步骤
- evaluate 方法:递归评估此位置表达式对象的后续步骤
用于任何节点表达式的 XPath 表达式类(“*”)
- 构造函数:初始化 absolute 属性并堆叠后续步骤
- evaluate 方法:始终为真
用于节点测试表达式的 XPath 表达式类
- 构造函数:初始化 prefix 和 name 属性
- evaluate 方法:如果给定节点具有与此表达式对象相同的命名空间和名称,则评估为布尔值。通配符作为扩展被支持作为有效的命名空间测试。
用于处理指令测试表达式的 XPath 表达式类
- 构造函数:初始化 target 属性
- evaluate 方法:如果给定节点是具有与此表达式对象相同名称的处理指令,则评估为布尔值
用于节点类型测试表达式的 XPath 表达式类
- 构造函数:初始化 type 属性
- evaluate 方法:如果给定节点具有与此表达式对象相同的类型,则评估为布尔值
用于命名空间解析的 XPath 表达式类
- 构造函数:将 map 属性初始化为一个空的关联数组
- registerAll 方法:在此命名空间解析器对象中注册来自给定解析器的所有命名空间
- register 方法:在此命名空间解析器对象中注册前缀和 uri
- registerNotFound 方法:在此命名空间解析器对象中为未找到的 uri 注册前缀
- lookupNamespaceURI 方法:在此命名空间解析器对象中查找给定前缀的相应 uri
用于由过滤器和相对路径组成的路径表达式的 XPath 表达式类
- 构造函数:初始化 filter 和 rel 属性
- evaluate 方法:首先评估过滤器,然后评估此表达式对象的每个与相对路径的组合
用于谓词表达式的 XPath 表达式类
- 构造函数:初始化 expr 属性
- evaluate 方法:如果可能,将此谓词表达式对象评估为一个布尔值,将数值与当前位置进行比较
用于位置步骤表达式的 XPath 表达式类
- 构造函数:初始化 axis、nondetest 和无限数量的谓词属性
- evaluate 方法:根据上下文将此表达式对象评估为节点列表
用于二元联合表达式的 XPath 表达式类
- 构造函数:初始化 expr1 和 expr2 属性
- evaluate 方法:将此表达式对象评估为节点集
- stringValue 函数:字符串强制转换
- booleanValue 函数:布尔强制转换
- numberValue 函数:数字强制转换
- booleanValue 函数:数字强制转换
- xmlValue 函数:根据给定节点的类型获取其文本值
- xmlResolveEntities 函数:将给定字符串中的所有 HTML 实体解析为相应的字符
- stringSplit 函数:根据字符拆分字符串
XPath 类
- 构造函数:初始化属性并创建一个关联的命名空间解析器。作为字符串编译的参数被解释为由 XSLT 转换检测到的错误。
- evaluate 方法:评估完整的 XPath 表达式并捕获发生的异常
- expressions 关联数组:存储每个 XPath 对象
- get 方法:根据给定的源文本获取 XPath 对象
- new 方法:如果 XPath 对象不存在,则创建一个 XPath 对象
- registerNS 方法:为所有 XPath 表达式注册命名空间
XPath 函数类
- 构造函数 : 初始化属性
- acceptContext : 当前上下文是否需要作为此 XPath 函数对象的第一个参数
- defaultTo : 默认参数
- DEFAULT_NONE : 无默认参数
- DEFAULT_NODE : 当前节点
- DEFAULT_NODESET : 包含当前节点的数组
- DEFAULT_STRING : 当前节点的文本值
- returnNodes : 未使用
- body : 对应的 Javascript 函数
- call 方法 : 在管理默认参数和上下文存在的情况下,调用对应的 Javascript 函数
核心 XPath 函数
- last()
- position()
- context()
- count(nodeset)
- id(node?)
- local-name(nodeset?)
- namespace-uri(nodeset?)
- name(nodeset?)
- string(nodeset?)
- concat(string, string, string*)
- starts-with(string, string)
- contains(string, string)
- substring-before(string, string)
- substring-after(string, string)
- substring(string, number) 和 substring(string?, number?, number?)
- compare(string, string)
- string-length(string?)
- normalize-space(string?)
- translate(string, string, string)
- boolean(object)
- not(boolean)
- true()
- false()
- lang(string)
- number(object)
- sum(nodeset)
- floor(number)
- ceiling(number)
- round(number)
- power(number, number)
- random()
- boolean-from-string(string)
- if(boolean, object, object)
- choose(boolean, object, object)
- avg(nodeset)
- min(nodeset)
- max(nodeset)
- count-non-empty(nodeset)
- index(string)
- nodeindex(string)
- property(string)
- instance(string?)
- now()
- local-date()
- local-dateTime()
- days-from-date(string)
- days-to-date(number)
- seconds-from-dateTime(string)
- seconds-to-dateTime(number)
- current()
- is-valid(nodeset?)
- is-card-number(nodeset?)
- digest(string, string, string?)
- upper-case(nodeset?)
- lower-case(nodeset?)
- transform(nodeset?, string)
- serialize(nodeset?)
- stringValue 函数:字符串强制转换
- booleanValue 函数:布尔强制转换
- numberValue 函数:数字强制转换
- booleanValue 函数:数字强制转换
- xmlValue 函数:根据给定节点的类型获取其文本值
- xmlResolveEntities 函数:将给定字符串中的所有 HTML 实体解析为相应的字符
- stringSplit 函数:根据字符拆分字符串