XML – Definisanje prostih tipova

U prethodnom XML prilogu definisali smo sloลพene elemente. Nasuprot sloลพenim elementima, oฤekivano, stoje prosti elementi koji predstavljaju elemente koji ne sadrลพe ni jedan drugi element. Ovi elementi mogu da sadrลพe samo podatke. Oni predstavljaju sam sadrลพaj jednog XML dokumenta, tj. podatke ฤiji je tip definisan u deklaraciji elementa. Postoji mnogo razliฤitih tipova podataka koje podrลพava XML. U preฤ‘aลกnjim primerima i sami smo definisali neke elemente odgovarajuฤ‡ih tipova podataka:

  • xsd:string
    tip podatka koji moลพe da sadrลพi seriju alfanumeriฤkih karaktera. U naลกem primeru iskoristili smo ovaj tip za definisanje naslova knjiga.
  • xsd:positiveInteger
    integer predstavlja bilo koji ceo broj, a positive integer predstavlja pozitivni ceo broj razliฤit od nule. U primeru smo ga mogli iskoristiti za navoฤ‘enje broja stranica.
  • xsd:date
    ovaj tip sluลพi za ฤuvanje podataka o datumu, tj. godini, mesecu i danu, i to u fromatu: gggg-mm-dd.
  • xsd:uriReference
    uriReference se odnosi na adresu, tj. Universal Resource Indicator (URI) nekog dokumenta. Sluลพi za ฤuvanje podataka o linkovima.
  • xsd:boolean
    Jedan boolean entitet moลพe imati samo jedno stanje od dva moguฤ‡a: true ili false.
Jedan od najkorisnijih aspekata XML ลกema je moguฤ‡nost kreiranja novih tipova podataka kao derivat postojeฤ‡ih, ugraฤ‘enih tipova podataka. Na primer, ako imate dokument adresar i ลพelite da ฤuvate podatke o stanovima neke ulice na parnoj strani, moลพete odrediti da taj podatak bude u rasponu od 4 do 100. Ako bi napisali:


<xsd:attribute name="br_stana"
type="xsd:positiveInteger"/>

entiteti bi mogli da uzimaju bilo koju pozitivnu vrednost, a ne samo onu izmeฤ‘u 4 i 100. Zato ฤ‡emo definisati sopstveni, novi tip podataka koji ovo neฤ‡e dozvoliti. Dodaฤ‡emo atribute „minInclusive“ i „maxInclusive“, koji ฤ‡e ograniฤiti skup vrednosti iz kojih elementi mogu da uzimaju vrednost:


<xsd:simpleType name="br_stana_integer">
<xsd:restriction base="xsd:positiveInteger">
<xsd:minInclusive value="4"/>
<xsd:maxInclusive value="10"/>
</xsd:restriction>
</xsd:simpleType>

Sada, moลพemo definisati naลก element „br_stana“ uz pomoฤ‡ novog tipa podatka, umesto preฤ‘aลกnjeg „positiveInteger“:


<xsd:attribute name="br_stana"
type="br_stana_integer"/>

Inaฤe, postoji veliki broj naฤina za kreiranje sopstvenih tipova unutar XML ลกema, a ovo je samo pojednostavljen primer kako ovo moลพe da se odradi. Jednom kada odredite vaลกe proste i kompleksne XML elemente, moลพete kreirati i celu ลกemu.

Pratite Krstaricu na www.krstarica.com