JSONiq follows the W3C standard for atomic types except for modifications in the list of available atomic types and a simplified syntax for xs:anyAtomicType. The following explanations, provided as an informal summary for convenience, are non-normative.

Atomic types are organized in a tree hierarchy.

JSONiq defines the following build-in types that have a direct relation with JSON:

*xs:string*: the value space is all strings made of Unicode characters.All string literals build an atomic which matches string.

*xs:integer*(W3C-conformant): the value space is that of all mathematical integral numbers (N), with an infinite range. This is a subtype of*decimal*, so that all integers also match the item type*decimal*.All integer literals build an atomic which matches integer.

*xs:decimal*(W3C-conformant): the value space is that of all mathematical decimal numbers (D), with an infinite range.All decimal literals build an atomic which matches decimal.

*xs:double*(W3C-conformant): the value space is that of all IEEE double-precision 64-bit floating point numbers.All double literals build an atomic which matches double.

*xs:boolean*(W3C-conformant): the value space contains the booleans true and false.All boolean literals build an atomic which matches boolean.

*js:null*(JSONiq-specific): the value space is a singleton and only contains null.All null literals build an atomic which matches null.

*js:atomic*(JSONiq-specific synonym of, and W3C-conformant with,*xs:anyAtomicType*): all atomic types.All literals build an atomic which matches atomic.

JSONiq also supports further atomic types, which are conformant with XML Schema.

These datatypes are already used as a set of atomic datatypes by the other two semi-structured data formats of the Web: XML and RDF, as well as by the corresponding query languages: XQuery and SPARQL, so it is natural for a complete JSON data model to reuse them.

Further number types: xs:float, xs:long, xs:int, xs:short, xs:byte, xs:float, xs:positiveInteger, xs:negativeInteger, xs:nonPositiveInteger, xs:nonNegativeInteger, xs:unsignedLong, xs:unsignedInt, xs:unsignedShort, xs:unsignedByte.

Date or time types: xs:date, xs:dateTime, xs:dateTimeStamp, xs:gDay, xs:gMonth, xs:gMonthDay, xs:gYear, xs:xs:gYearMonth, xs:time.

Duration types: xs:duration, xs:dayTimeDuration, xs:yearMonthDuration.

Binary types: xs:base64Binary, xs:hexBinary.

An URI type: xs:anyURI.

The support of xs:ID, xs:IDREF, xs:IDREFS, xs:NOTATION, xs:Name, xs:NCName, xs:NMTOKEN, xs:NMTOKENS, xs:ENTITY, xs:ENTITIES is not required by JSONiq, although engines that also support XML can support them.

**Figure 6. AtomicType**