From http://www.w3schools.com (Copyright Refsnes Data)
XForms has some predefined functions. But you can also call functions defined in scripts.
The XForms function library includes the entire XPath 1.0 core function library.
The XPath core functions can be found here: http://www.w3schools.com/xpath/xpath_functions.asp
The following table lists the additional functions within XForms:
Function | Description |
---|---|
boolean-from-string(string) | Returns true if the parameter string is "true" or "1" and false if the parameter string is "false" or "0" |
if(booleantest, string1, string2) | Evaluates the Booleantest parameter and returns string1 if the test is true, and string2 if the test is false |
avg(node-set) | Returns the average of all the nodes in the specified node-set. The
value of each node is converted to a number.
If the node-set is empty it returns NaN
<values> avg(/values/value) Returns: 20 |
min(node-set) | Returns the minimum value of all the nodes in the specified node-set.
The value of each node is converted to a
number. If the node-set is empty it returns NaN
<values> min(/values/value) Returns: 0 |
max(node-set) | Returns the maximum value of all the nodes in the specified node-set.
The value of each node is converted to a
number. If the node-set is empty it returns NaN
<values> max(/values/value) Returns: 20 |
count-non-empty(node-set) | Returns the number of non-empty nodes in
the specified node-set
<values> count-non-empty(/values/value) Returns: 3 |
index(string) | Returns the current index for a given repeat set |
property(string) | Returns the property named by the string parameter
|
now() | Returns the current system date and time in xs:dateTime format |
instance(string) | An XForms Model can contain more than one instance. This function
returns the root node of the specified instance data
<xforms:instance id="orderform"> ref="instance('orderform')/firstName" This example returns a node-set that consists of the firstName element node from the instance named "orderform" |
days-from-date(string) | If the string parameter represents a legal xs:date or xs:dateTime, it returns the number of days between the specified date and
1970-01-01, otherwise it returns NaN
days-from-date("2002-01-02") returns 11689 |
seconds-from-dateTime(string) | If the string parameter represents a legal xs:dateTime, it returns the number of seconds between the specified dateTime and 1970-01-01T00:00:00Z, otherwise it returns NaN |
seconds(string) | If the string parameter represents a legal xs:duration, it returns
the number specified in the seconds component plus 60 * the number specified
in the minutes component, plus 60 * 60 * the number specified in the hours
component, plus 60 * 60 * 24 * the number specified in the days component,
otherwise it returns NaN
seconds("P1Y2M") returns 0 |
months(string) | If the string parameter represents a legal xs:duration, it returns
the number specified in the months component plus 12 * the number specified
in the years component, otherwise it returns NaN
months("P1Y2M") returns 14 |
From http://www.w3schools.com (Copyright Refsnes Data)