Sobes.tech
Junior

¿Qué tipos de datos existen en XSD?

sobes.tech AI

Respuesta de la IA

  • Tipos simples (Simple Types)
    • Derivados de tipos incorporados:
      • xs:boolean
      • xs:byte, xs:short, xs:int, xs:long
      • xs:unsignedByte, xs:unsignedShort, xs:unsignedInt, xs:unsignedLong
      • xs:decimal
      • xs:float, xs:double
      • xs:string
      • xs:date, xs:time, xs:dateTime
      • xs:duration
      • xs:gYearMonth, xs:gYear, xs:gMonthDay, xs:gDay, xs:gMonth
      • xs:anyURI
      • xs:QName
      • xs:NOTATION
      • xs:base64Binary
      • xs:hexBinary
      • xs:language
      • xs:normalizedString, xs:token (derivados de xs:string)
      • xs:ID, xs:IDREF, xs:IDREFS, xs:ENTITY, xs:ENTITIES, xs:NMTOKEN, xs:NMTOKENS (para tipos específicos de XML)
    • Tipos restringidos (restriction)
    • Tipos de lista (list)
    • Tipos de unión (union)
  • Tipos complejos (Complex Types)
    • Contienen elementos y atributos
    • Pueden tener modelos de contenido:
      • empty (solo atributos)
      • element-only (solo elementos)
      • mixed (elementos y contenido de texto)
      • simpleContent (solo atributos y contenido de texto simple)
    • Pueden usar:
      • xs:sequence (secuencia de elementos)
      • xs:choice (uno de los elementos propuestos)
      • xs:all (todos los elementos listados en cualquier orden, cada uno no más de una vez)

Ejemplo de definición de tipo restringido simple:

<!-- Definición de un nuevo tipo PositiveInteger, que es un número entero positivo -->
<xs:simpleType name="PositiveInteger">
  <xs:restriction base="xs:int">
    <xs:minInclusive value="1"/>
  </xs:restriction>
</xs:simpleType>

Ejemplo de definición de tipo complejo:

<!-- Definición de un tipo complejo Person, que contiene los elementos name y age -->
<xs:complexType name="Person">
  <xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="age" type="xs:int"/>
  </xs:sequence>
</xs:complexType>