Sobes.tech
Junior

What data types exist in XSD?

sobes.tech AI

Answer from AI

In XSD, there are two main data types:

  1. Primitive types: These are basic and not built upon other XSD types. They cover fundamental concepts such as strings, numbers, boolean values, and dates.

  2. Derived types: These are created by extending or restricting existing types (primitive or other derived types).

Main primitive data types:

  • xs:string - Sequence of characters.
  • xs:boolean - Logical value (true, false, 1, 0).
  • xs:decimal - Decimal number.
  • xs:float - Single-precision floating-point number (32 bits).
  • xs:double - Double-precision floating-point number (64 bits).
  • xs:integer - Whole number (without fractional part, can be negative).
  • xs:date - Calendar date.
  • xs:time - Time of day.
  • xs:dateTime - Date and time.
  • xs:duration - Duration of time.
  • xs:anyURI - Universal resource pointer (URI).
  • xs:QName - Qualified name.
  • xs:base64Binary - Binary data in Base64 encoding.
  • xs:hexBinary - Binary data in Hex encoding.
  • xs:NOTATION - List of notations.

Many derived types are standard, for example:

  • xs:long - Derived from xs:integer.
  • xs:int - Derived from xs:long.
  • xs:short - Derived from xs:int.
  • xs:byte - Derived from xs:short.
  • xs:nonNegativeInteger - Derived from xs:integer.
  • xs:positiveInteger - Derived from xs:nonNegativeInteger.
  • xs:nonPositiveInteger - Derived from xs:integer.
  • xs:negativeInteger - Derived from xs:nonPositiveInteger.
  • xs:unsignedLong - Derived from xs:nonNegativeInteger.
  • xs:unsignedInt - Derived from xs:unsignedLong.
  • xs:unsignedShort - Derived from xs:unsignedInt.
  • xs:unsignedByte - Derived from xs:unsignedShort.
  • xs:normalizedString - Derived from xs:string (removes carriage return, newline, tab characters).
  • xs:token - Derived from xs:normalizedString (removes leading/trailing spaces, replaces sequences of spaces with a single space).
  • xs:language - Derived from xs:token.
  • xs:Name - Derived from xs:token.
  • xs:NCName - Derived from xs:Name.
  • xs:ID - Derived from xs:NCName.
  • xs:IDREF - Derived from xs:NCName.
  • xs:IDREFS - List of xs:IDREF.
  • xs:ENTITY - Derived from xs:NCName.
  • xs:ENTITIES - List of xs:ENTITY.
  • xs:NMTOKEN - Derived from xs:token.
  • xs:NMTOKENS - List of xs:NMTOKEN.

User-defined derived types can be created using <xs:simpleType> and <xs:complexType> elements, using restriction (restriction) or extension (extension) of existing types.