XSD: default integer value range

xml, xml-validation, xsd

Solution

Well, it depends on the data type...

If you look at the definition of `integer` at w3:

The value space of integer is the infinite set {...,-2,-1,0,1,2,...}

In essence it means that, for integers, by default there is no min/max value range since any integer can be represented.

On the other hand, for an `int`:

(...) maxInclusive to be 2147483647 and minInclusive to be -2147483648.

The list goes on for `longs`, `shorts`, etc...

You can read it in more detail here: http://www.w3.org/TR/xmlschema-2/#typesystem

Problem

Is there an implied default value range when defining an element of a specific data type in an XSD file? For example if I define an element of type integer: ``` <xs:element name="MyIntegerElement" type="xs:integer"/> ``` Does this have an implied min and max value that it will validate to? I know I can explicitly define the valid ranges like so: ``` <xs:element name="MyIntegerElement"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="16"/> </xs:restriction> </xs:simpleType> </xs:element> ``` But if I don't do this when I validate an XML file against this will it default to a range of valid values? I've been digging around in the XSD documentation but haven't found the answer yet.

Original source

Related problems