Share |

domenica 7 marzo 2010

XSD: le Tipologie di Base dei Dati

Per poter descrivere qualunque tipo di informazione, semplice o complessa che sia, dobbiamo necessariamente chiarirne la natura ed il valore. Per fare questo, XSD mette a disposizione una lunga lista di tipologie di base per poter agevolmente descrivere il tipo di dato rappresentato.

I tipi di dati di base in XSD si distinguono in:

  • predefiniti o built-in;
  • derivati (poichè derivano dai predefiniti);

Tipi Predefiniti

Tipi Built-in
Nome tipo di Dato Descrizione
stringStringhe di caratteri
booleantrue/false
decimalNumeri di tipo Decimal
float Numeri a virgola mobile e precisione singola a 32-bit
doubleNumeri a virgola mobile e precisione doppia a 64-bit
durationIntervallo di tempo
dateTimeData completa di ora
TimeOra minuti e secondi
DateData
gYearMonth Rappresenta un mese dell'anno secondo il calendario Gregoriano
gYearRappresenta un anno secondo il calendario Gregoriano
gMonthDay Rappresenta una data ricorrente secondo il calendario Gregoriano. Ad esempio il 6 Dicembre di ogni anno
gDay Rappresenta un giorno ricorrente secondo il calendario Gregoriano. Ad esempio il 6 di ogni mese
gMonth Rappresenta un mese ricorrente secondo il calendario Gregoriano. Ad esempio Dicembre di ogni anno
hexBinary Rappresenta un dato binario secondo la codifica esadecimale
base64Binary Rappresenta un dato binario secondo la codifica Base64
anyURI Rappresenta una URI come definita dallo standard RFC 2396
QName Rappresenta un nome qualificato: necessita di un prefisso associato ad un namespace
NOTATIONRappresenta un tipo di attributo NOTATION

Tipi Derivati

I tipi di dati derivati dai precedenti sono elencati di seguito.

Rappresenta un integer con un valore minimo di -128 ed uno massimo di 127
Tipi Derivati
Nome tipo di DatoDescrizione
normalizedString Rappresenta una stringa privata degli spazi bianchi in eccesso
TokenRappresenta una stringa tokenizzata
LanguageRappresenta un identificatore di linguaggio
IDREFS Rappresenta il tipo attributo IDREFS. Contiene un insieme di valori di tipo IDREF
ENTITIES Rappresenta il tipo attributo ENTITIES. Contiene un insieme di valori ENTITY
NMTOKEN Rappresenta il tipo attributo NMTOKEN cioe' l'insieme dei caratteri di un nome in qualsiasi combinazione.Non ha restrizioni nel carattere iniziale
NMTOKENS Rappresenta il tipo attributo NMTOKENS: contiene un insieme di valori NMTOKEN
Name Rappresenta i nomi in XML. Un Name e' un token che inizia con una lettera, un underscore o due punti
NCName Rappresenta i nomi che non possono iniziare con il carattere dei due punti.
ID Rappresenta l'attributo ID definito in XML 1.0. ID deve essere un NCName e deve essere unico in tutto il documento XML
IDREF Rappresenta un riferimento a un elemento che ha un attributo ID identico all'IDREF specificato. IDREF deve essere un NCName
ENTITYRappresenta il tipo attributo ENTITY in XML 1.0
integerRappresenta una sequenza di numeri decimali con un segno iniziale opzionale
nonPositiveIntegerRappresenta un integer minore o
uguale a zeronegativeIntegerRappresenta un integer minore di zero. Deve essere preceduto dal segno -
long Rappresenta un integer con un valore minimo di -9223372036854775808 ed un massimo di 9223372036854775807
intRappresenta un integer con un valore minimo di -2147483648 ed uno massimo di 2147483647
short Rappresenta un integer con un valore minimo di -32768 ed uno massimo di 32767
byte
nonNegativeIntegerRappresenta un integer maggiore o uguale a zero
unsignedLongRappresenta un integer con un valore minimo di zero ed uno massimo di 18446744073709551615
unsignedIntRappresenta un integer con un valore minimo di zero ed uno massimo di 4294967295
unsignedShortRappresenta un integer con un valore minimo di zero ed uno massimo di 65535
unsignedByte Rappresenta un integer con un valore minimo di zero ed uno massimo di 255
positiveIntegerRappresenta un integer maggiore di zero

Di fronte a questo vasto assortimento di tipologie di dati utilizzabili, vien proprio difficile non riuscire a descrivere accuratamente un'informazione.

Alla prossima,
MA.

0 commenti:

Posta un commento

Non ti è chiaro qualcosa?
No problem, posta il tuo dubbio ;)

..... e ricordati di firmarlo!