An 8-bit field encoded as a hex string (2 hex characters). Where applicable,
bit 0, or the least significant bit, goes on the right. Note that hexBinary
requires pairs of hex characters, so an odd number of characters requires a
leading “0”.
A 16-bit field encoded as a hex string (4 hex characters max). Where
applicable, bit 0, or the least significant bit, goes on the right. Note that
hexBinary requires pairs of hex characters, so an odd number of characters
requires a leading “0”.
A 32-bit field encoded as a hex string (8 hex characters max). Where
applicable, bit 0, or the least significant bit, goes on the right. Note that
hexBinary requires pairs of hex characters, so an odd number of characters
requires a leading “0”.
A 48-bit field encoded as a hex string (12 hex characters max). Where
applicable, bit 0, or the least significant bit, goes on the right. Note that
hexBinary requires pairs of hex characters, so an odd number of characters
requires a leading “0”.
A 64-bit field encoded as a hex string (16 hex characters max). Where
applicable, bit 0, or the least significant bit, goes on the right. Note that
hexBinary requires pairs of hex characters, so an odd number of characters
requires a leading “0”.
A 128-bit field encoded as a hex string (32 hex characters max). Where
applicable, bit 0, or the least significant bit, goes on the right. Note that
hexBinary requires pairs of hex characters, so an odd number of characters
requires a leading “0”.
Signed integer, min -128 max +127
Signed integer, min -32768 max +32767
Signed integer, max inclusive 2147483647 (2^31), min inclusive -2147483647
(same as xs:int)
Signed integer, max inclusive 140737488355328 (2^47), min inclusive
-140737488355328
Signed integer, max inclusive 9223372036854775807 (2^63), min inclusive
-9223372036854775808 (same as xs:long)
Character string of max length 6. In order to limit internal storage,
implementations SHALL reduce the length of strings using multi-byte
characters so that the string may be stored using “maxLength” octets in the
given encoding.
Character string of max length 16. In order to limit internal storage,
implementations SHALL reduce the length of strings using multi-byte
characters so that the string may be stored using “maxLength” octets in the
given encoding.
Character string of max length 20. In order to limit internal storage,
implementations SHALL reduce the length of strings using multi-byte
characters so that the string may be stored using “maxLength” octets in the
given encoding.
Character string of max length 32. In order to limit internal storage,
implementations SHALL reduce the length of strings using multi-byte
characters so that the string may be stored using “maxLength” octets in the
given encoding.
Character string of max length 42. In order to limit internal storage,
implementations SHALL reduce the length of strings using multi-byte
characters so that the string may be stored using “maxLength” octets in the
given encoding.
Character string of max length 192. For all string types, in order to limit
internal storage, implementations SHALL reduce the length of strings using
multi-byte characters so that the string may be stored using “maxLength”
octets in the given encoding.
We purposefully don’t use type aliases, as our procedural macros cannot determine whether a type is a primitive using an alias to it
This means types that are just primitive aliases cannot be used without these primitive newtypes.
We require newtypes for non-standard integer types regardless.
Unsigned integer, max inclusive 255 (2^8-1)
Unsigned integer, max inclusive 65535 (2^16-1)
Unsigned integer, max inclusive 4294967295 (2^32-1)
Unsigned integer, max inclusive 1099511627775 (2^40-1)
Unsigned integer, max inclusive 281474976710655 (2^48-1)
Unsigned integer, max inclusive 18446744073709551615 (2^64-1)