Sobes.tech
Junior

Que tipos de dados existem no XSD?

sobes.tech IA

Resposta da IA

Existem dois tipos principais de dados no XSD:

  1. Tipos primitivos: São básicos e não são construídos com base em outros tipos XSD. Cobrem conceitos fundamentais como strings, números, valores booleanos e datas.

  2. Tipos derivados: São criados por extensão ou restrição de tipos existentes (primitivos ou derivados).

Principais tipos primitivos de dados:

  • xs:string - Sequência de caracteres.
  • xs:boolean - Valor lógico (true, false, 1, 0).
  • xs:decimal - Número decimal.
  • xs:float - Número de ponto flutuante de precisão simples (32 bits).
  • xs:double - Número de ponto flutuante de dupla precisão (64 bits).
  • xs:integer - Número inteiro (sem parte fracionária, pode ser negativo).
  • xs:date - Data do calendário.
  • xs:time - Hora do dia.
  • xs:dateTime - Data e hora.
  • xs:duration - Duração do tempo.
  • xs:anyURI - Indicador universal de recurso (URI).
  • xs:QName - Nome qualificado.
  • xs:base64Binary - Dados binários em codificação Base64.
  • xs:hexBinary - Dados binários em codificação Hex.
  • xs:NOTATION - Lista de notações.

Muitos tipos derivados são padrão, por exemplo:

  • xs:long - Derivado de xs:integer.
  • xs:int - Derivado de xs:long.
  • xs:short - Derivado de xs:int.
  • xs:byte - Derivado de xs:short.
  • xs:nonNegativeInteger - Derivado de xs:integer.
  • xs:positiveInteger - Derivado de xs:nonNegativeInteger.
  • xs:nonPositiveInteger - Derivado de xs:integer.
  • xs:negativeInteger - Derivado de xs:nonPositiveInteger.
  • xs:unsignedLong - Derivado de xs:nonNegativeInteger.
  • xs:unsignedInt - Derivado de xs:unsignedLong.
  • xs:unsignedShort - Derivado de xs:unsignedInt.
  • xs:unsignedByte - Derivado de xs:unsignedShort.
  • xs:normalizedString - Derivado de xs:string (elimina caracteres de retorno de carro, salto de línea y tabulación).
  • xs:token - Derivado de xs:normalizedString (elimina espacios en blanco al principio y al final, reemplaza secuencias de espacios por uno solo).
  • xs:language - Derivado de xs:token.
  • xs:Name - Derivado de xs:token.
  • xs:NCName - Derivado de xs:Name.
  • xs:ID - Derivado de xs:NCName.
  • xs:IDREF - Derivado de xs:NCName.
  • xs:IDREFS - Lista de xs:IDREF.
  • xs:ENTITY - Derivado de xs:NCName.
  • xs:ENTITIES - Lista de xs:ENTITY.
  • xs:NMTOKEN - Derivado de xs:token.
  • xs:NMTOKENS - Lista de xs:NMTOKEN.

Tipos derivados definidos pelo utilizador podem ser criados usando os elementos <xs:simpleType> e <xs:complexType>, usando restriction (restrição) ou extension (extensão) de tipos existentes.