The JSONiq type system

Table of Contents

Sequence types
Item types
Atomic types
Structured types
Function types

This section describes JSONiq types as well as the sequence type syntax.

JSONiq manipulates semi-structured data: in general, JSONiq allows you, but does not require you to specify types. So you have as much or as little type verification as you wish.

JSONiq is still strongly typed, so that you will be told if there is a type inconsistency or mismatch in your programs.

Whenever you do not specify the type of a variable or the type signature of a function, the most general type for any sequence of items, item*, is assumed.

Section the section called “Expressions dealing with types” introduces expressions which work with values of these types, as well as type operations (variable types, casts, ...).