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.
| 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>
<value>10</value>
<value>50</value>
<value>0</value>
</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>
<value>10</value>
<value>20</value>
<value>0</value>
</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>
<value>10</value>
<value>20</value>
<value>0</value>
</values>
max(/values/value)
Returns: 20 |
| count-non-empty(node-set) |
Returns the number of non-empty nodes in
the specified node-set
<values>
<value>10</value>
<value>20</value>
<value>0</value>
<value />
</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
- property("version") - returns the XForms version number
- property("conformance-level") - returns the XForms conformance level
("basic" or "full")
|
| 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">
<firstName>John</firstName>
</xforms:instance>
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
days-from-date("1969-12-29") returns -3 |
| 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
seconds("P3DT10H30M1.5S") returns 297001.5
seconds("3") returns NaN
|
| 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
months("-P19M") returns -19
|
Stylus Studio® 2010 XML Enterprise Suite raises the bar for productivity in XML development tools.
Millions of XML developers and data integration specialists turn to Stylus Studio's comprehensive and intuitive
XML toolset to tackle today's advanced XML data transformation and aggregation challenges.