Deklaracija svakog elementa ili atributa ima u XML šemi atribut type. Neki tipovi su predefinisani, kao string koji predstavlja karakterske podatke (kao CDATA u DTD-u), ili decimal kojim se deklarišu brojevne vrednosti.
Predefinisani tipovi podataka
U DTD-u ne postoji način da se karakterski podaci (kao deo sadržaja elementa) ograniče obrascem, dok u XML šemi za to postoji mnogo načina. Neki predefinisani tipovi su:
- byte, float, long
- Ovu su numerički formati: byte je 8-bitni ceo broj, long je 32-bitni ceo broj, a float je realni broj u pokretnom zarezu.
- time, date, timeinstant, timeduration
- Ovo su obrasci za specifikovanje datuma, vremenskog trenutka i vremenskog trajanja
- boolean
- Vrednosti mogu da budu true i false, ili numerički ekvivalenti 1 i 0.
- binary
- Obrazac za binarne vrednosti kao 00101110.
- language
- Kod jezika koji dokument koristi, npr. en-US.
- uri-reference
- Obrazac za bilo koji URI.
- ID, IDREF, IDREFS, NMOTIKEN, NMTOKENS
- Tipovi atributa koji funkcionišu kao i odgovarajući obrasci u DTD-u.
Postoji još mnogo tipova što čini da je XML šema vrlo zgodna za neke tipove dokumenata, posebno ona koja su vezana za aplikacije obrade podataka, kakve su baze podataka i obrade ulaznih formulara. Umesto da se piše zaseban program koji proverava tipove podataka, to radi XML parser.
Aspekti (engl. facets)
Aspekti su osobine koje se koriste za specifikovanje tipova podataka, kao što je postavljanje granica za vrednosti podataka. Postoji više različitih apekata u XML šemi, kao što su max-inclusive, precision, scale, encoding, pattern, enumeration, max-length, i drugi.
Obrasci (engl. patterns)
Ako među predefinisanim obrascima nema onog koji je korisniku potreban, on može da kreira sopstveni obrazac. Jedan takav obrazac je, na primer, dat regularnim izrazom [A-Z]-d{3} kojim se deklariše vrednost atributa za poštanski kod kao "niska koja se sastoji od bilo kog slova iz koga sledi crtica a zatim tačno tri cifre".
|