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.