ItemType ::= -- everything so far --
| JSONTest
| StructuredItemTest
JSONTest ::=
JSONItemTest
| JSONObjectTest
| JSONArrayTest
StructuredItemTest ::= "structured-item" "(" ")"
JSONItemTest ::= "json-item" "(" ")"
JSONObjectTest ::= "object" "(" ")"
JSONArrayTest ::= "array" "(" ")"
structured-item() matches any node or JSON Item.
json-item() matches any JSON Item (Object or Array).
object() matches any Object.
array() matches any Array.
declare function local:objects-in-array($a as array()) as object()* {
for $i in 1 to jn:size($a)
let $item := $a($i)
where $iteminstance of object()
return $item
};