XForms 函数

XForms有一些预定义的函数。但也可以调用脚本中定义的函数。

XForms 函数

XForms 函数库包括整个 XPath 1.0 核心函数库。

XPath 核心函数可以在这里找到:XPath 核心函数

下表列出了XForms中的附加功能:

函数 描述
boolean-from-string(string) 如果参数字符串为"true"或"1",则返回 true

如果参数字符串为"false"或"0",则为 false

if(booleantest, string1, string2) 计算 Booleantest 参数,如果测试失败,则返回 string1

如果测试为 false,则返回 true 和 string2

avg(node-set) 返回指定节点集中所有节点的平均值。将每个节点的值转换为一个数字。如果节点集为空,则返回NaN

<values>
<value>10</value>
<value>50</value>
<value>0</value>
</values>

avg(/values/value)

返回: 20
min(node-set) 返回指定节点集中所有节点的最小值。每个节点的值将转换为数字。如果节点集为空,则返回NaN

<values>
<value>10</value>
<value>20</value>
<value>0</value>
</values>

min(/values/value)

返回: 0
max(node-set) 返回指定节点集中所有节点的最大值。每个节点的值将转换为数字。如果节点集为空,则返回NaN

<values>
<value>10</value>
<value>20</value>
<value>0</value>
</values>

max(/values/value)

返回: 20
count-non-empty(node-set) 从指定的节点集中返回非空节点数

<values>
<value>10</value>
<value>20</value>
<value>0</value>
<value />
</values>

count-non-empty(/values/value)

返回: 3
index(string) 返回给定重复集的当前索引
property(string) 返回由字符串参数命名的属性
  • property(“version”) - 返回 XForms 的版本号
  • property(“conformance-level”) - 返回 XForms conformance 级别 (“basic” 或者 “full”)
now() 以 xs:dateTime 格式返回当前系统日期和时间格式
instance(string) XForms模型可以包含多个实例。此函数返回指定实例数据的根节点

<xforms:instance id=”orderform”>
<firstName>John</firstName>
</xforms:instance>

ref=”instance(‘orderform’)/firstName”

此示例返回由firstName元素node组成的节点集从名为”orderform”的实例

days-from-date(string) 如果string参数表示合法的 xs:date 或 xs:dateTime ,它将返回指定日期和时间与 1970-01-01 之间的天数,否则返回NaN

days-from-date(“2002-01-02”) 返回 11689
days-from-date(“1969-12-29”) 返回 -3

seconds-from-dateTime(string) 如果字符串参数表示合法的 xs:dateTime ,则返回指定的 dateTime 和1970-01-01T00:00:00Z 之间的秒数,否则返回NaN
seconds(string) 如果string参数表示合法的 xs:duration ,则返回加上60秒数的数字,
再加上6060小时的数字,
再加上606024天数的数字,否则返回NaN

seconds(“P1Y2M”) 返回 0 seconds(“P3DT10H30M1.5S”) 返回 297001.5 seconds(“3”) 返回 NaN

months(string) 如果string参数表示合法的xs:duration,则返回 月份部分中指定的数字加上12*指定的数字在years组件中,否则返回NaN

months(“P1Y2M”) 返回 14 months(“-P19M”) 返回 -19