Validation functions
Introduction
These functions are typically used on the constraint attribute of the xf:bind element. For example, as used by Form Builder:
<xf:bind
    id="control-1-bind"
    name="control-1"
    ref="control-1"
    type="xf:decimal"
    constraint="xxf:fraction-digits(2)"/>All these functions annotate the context instance data node (element or attribute) with:
a custom MIP of the same name
with a value set to the single parameter to the function
xxf:excluded-dates()
[SINCE Orbeon Forms 2018.2]
xxf:excluded-dates($dates as xs:date*) as xs:booleanReturn true() if the context item converted to an xs:date is not contained in the list of dates passed as the $dates argument.
xxf:fraction-digits()
[SINCE Orbeon Forms 2016.1]
xxf:fraction-digits($digits as xs:integer?) as xs:booleanReturn true() if the context item converted to a string via the string() function contains at most the number of consecutive digits specified by $digits after the decimal point ., or if there is no decimal point. Also return true() if $digits is the empty sequence.
Note the following:
Trailing
0s are not counted.Characters other than digits are ignored.
For example, if the context item is the string "abc123.d450f0g", the resulting consecutive digits after the decimal point considered are "45" and the number of consecutive digits after the decimal point is 2.
xxf:max-length()
[SINCE Orbeon Forms 4.10]
xxf:max-length($max as xs:integer?) as xs:booleanReturn true() if the context item converted to a string via the string() function contains at most the number of characters specified by $max. Also return true() if $max is the empty sequence.
Following XPath 2.0:
what is counted is the number of XML characters in the string (or equivalently, the number of Unicode code points). Some implementations may represent a code point above xFFFF using two 16-bit values known as a surrogate. A surrogate counts as one character, not two.
xxf:min-length()
[SINCE Orbeon Forms 4.10]
xxf:min-length($min as xs:integer?) as xs:booleanReturn true() if the context item converted to a string via the string() function contains at least the number of characters specified by $min. Also return true() if $min is the empty sequence.
Following XPath 2.0:
what is counted is the number of XML characters in the string (or equivalently, the number of Unicode code points). Some implementations may represent a code point above xFFFF using two 16-bit values known as a surrogate. A surrogate counts as one character, not two.
xxf:negative()
[SINCE Orbeon Forms 2016.1]
xxf:negative() as xs:booleanreturn
true()if the context item converted to a string via thestring()function parses as anxs:decimalwhich is negativereturn
false()otherwise
xxf:non-negative()
[SINCE Orbeon Forms 2016.1]
xxf:non-negative() as xs:booleanreturn
true()if the context item converted to a string via thestring()function parses as anxs:decimalwhich is not negativereturn
false()otherwise
xxf:non-positive()
[SINCE Orbeon Forms 2016.1]
xxf:non-positive() as xs:booleanreturn
true()if the context item converted to a string via thestring()function parses as anxs:decimalwhich is not positivereturn
false()otherwise
xxf:positive()
[SINCE Orbeon Forms 2016.1]
xxf:positive() as xs:booleanreturn
true()if the context item converted to a string via thestring()function parses as anxs:decimalwhich is positivereturn
false()otherwise
xxf:upload-max-size-per-file()
[SINCE Orbeon Forms 2017.1]
xxf:upload-max-size-per-file($bytes as xs:integer?) as xs:boolean$bytesnon-negative value: limited upload file size
-1: unlimited upload file size-2or lower: ignored for the purpose of checking the upload file size
always return
true(), as the validation is only used at the time of upload
This function was previously called xxf:upload-max-size(). Both names will work at runtime, but xxf:upload-max-size() will automatically be renamed to xxf:upload-max-size-per-file() when editing a form in Form Builder.
xxf:upload-max-size-aggregate-per-control()
xxf:upload-max-size-aggregate-per-control($bytes as xs:integer?) as xs:boolean$bytesnon-negative value: limited upload file size aggregate for the control
-1: unlimited upload file size aggregate for the control-2or lower: ignored for the purpose of checking the upload file size aggregate for the control
always return
true(), as the validation is only used at the time of upload
xxf:upload-mediatypes()
[SINCE Orbeon Forms 2017.1]
xxf:upload-mediatypes($mediatypes as xs:string?) as xs:boolean$mediatypesthe value is a list of space- or comma-separated mediatype ranges
a mediatype range is one of:
*/*: all mediatypes allowedtype/*: all mediatypes with prefixtypeare allowed (for exampleimage/*)type/subtype: specific mediatype such asimage/jpeg,application/atom+xml,video/mp4, etc.
always return
true(), as the validation is only used at the time of upload
Last updated