<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hr">
	<id>https://croatianschoolsydney.com/index.php?action=history&amp;feed=atom&amp;title=XML_Schema</id>
	<title>XML Schema - Povijest promjena</title>
	<link rel="self" type="application/atom+xml" href="https://croatianschoolsydney.com/index.php?action=history&amp;feed=atom&amp;title=XML_Schema"/>
	<link rel="alternate" type="text/html" href="https://croatianschoolsydney.com/index.php?title=XML_Schema&amp;action=history"/>
	<updated>2026-05-22T05:19:28Z</updated>
	<subtitle>Povijest promjena ove stranice na wikiju</subtitle>
	<generator>MediaWiki 1.36.2</generator>
	<entry>
		<id>https://croatianschoolsydney.com/index.php?title=XML_Schema&amp;diff=28922&amp;oldid=prev</id>
		<title>WikiSysop: Bot: Automatski unos stranica</title>
		<link rel="alternate" type="text/html" href="https://croatianschoolsydney.com/index.php?title=XML_Schema&amp;diff=28922&amp;oldid=prev"/>
		<updated>2021-08-10T11:04:54Z</updated>

		<summary type="html">&lt;p&gt;Bot: Automatski unos stranica&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nova stranica&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!--'''XML Schema'''--&amp;gt;'''[[XML]] Schema''' je noviji način određivanja pravila strukturiranja [[XML]] dokumenta. Format  se kreira prema pravilima [[XML]] jezika. Način određivanja strukture sličan je načinu izgradnje [[baza podataka|baze podataka]]. Korištenjem [[XML]] Scheme moguće je na vrlo detaljnom nivou odrediti opis sadržaja odgovarajućeg elementa:&lt;br /&gt;
* kardinalnost&lt;br /&gt;
* tip podatka&lt;br /&gt;
* format podatka (npr. može se odrediti format telefonskog broja koji se sastoji od pozivnog broja [[država|države]], mjesta i samog telefonskog broja). &lt;br /&gt;
XML schemu je izvorno kreirao [[Microsoft]], ali je od 2001. godine to [[W3C]] preporuka.&lt;br /&gt;
&lt;br /&gt;
== Sintaksna pravila ==&lt;br /&gt;
Na početku [[XML]] Schema dokumenta navodi se identifikator koji povezuje dokument s pravilima formiranja, kao i određeni [[XML]] prostor imena. Nakon toga slijedi dio ''&amp;quot;annotation&amp;quot;'' u kojem se opisuje namjena dokumenta. &lt;br /&gt;
Korijenski '''&amp;lt;schema&amp;gt;''' element mora se navesti u svakom [[XML]] Schema dokumentu. Taj element, kao i svi drugi može imati odgovarajuće atribute.&lt;br /&gt;
&lt;br /&gt;
=== Tipovi podataka ===&lt;br /&gt;
{{glavni|Tip podatka (računarstvo)}}&lt;br /&gt;
Jednostavni tipovi podataka ugrađeni su u [[XML Schema]] specifikaciju. Jednostavni tipovi podataka mogu se proširivati specifičnim skupovima, ovisno o određenoj namjeni [[XML]] dokumenta koji se opisuje. Npr. kod [[XML]] dokumenata koji opisuju strukturu baze podataka postoje jednostavni tipovi podataka identični svim tipovima podataka koje određena baza može imati. Prednost korištenje jednostavnih tipova podataka je u tome što sve kontrole i provjere ispravnosti podataka vrši sam [[XML]] [[program]] i nije potrebno pisati posebne kontrolne procedure.&lt;br /&gt;
Neki od jednostavnih tipova podataka su:&lt;br /&gt;
* numerički tipovi podataka (&amp;quot;byte&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;long&amp;quot;)&lt;br /&gt;
* tipovi podataka za opis datuma vremena i trajanja (&amp;quot;time&amp;quot;, &amp;quot;date&amp;quot;, &amp;quot;timeinstant&amp;quot;, &amp;quot;timeduration&amp;quot;)&lt;br /&gt;
* logički tip podataka (&amp;quot;boolean&amp;quot; – može imati vrijednost &amp;quot;true&amp;quot; ili &amp;quot;false&amp;quot;)&lt;br /&gt;
* tip podataka za unos [[binarni sustav|binarnih brojeva]] (&amp;quot;binary&amp;quot;)&lt;br /&gt;
* oznaka [[jezik|jezika]] koja se koristi (&amp;quot;language&amp;quot; – npr. &amp;quot;en-US&amp;quot;)&lt;br /&gt;
* oznaka [[web]] adrese (&amp;quot;uri-reference&amp;quot; – npr. &amp;quot;http://www.w3c.org/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Tipovi elemenata ===&lt;br /&gt;
U [[XML]] Schemi mogu se koristiti jednostavni i složeni tipovi elemenata.&lt;br /&gt;
&lt;br /&gt;
==== Jednostavni tipovi elemenata ====&lt;br /&gt;
Jednostavni tipovi elemenata sadrže samo tekst i ne smiju unutar sebe sadržavati druge elemente i atribute (osim name i type atributa koji određuju naziv i tip određenog elementa). &lt;br /&gt;
 &amp;lt;xs:element name=&amp;quot;prezime&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;xs:element name=&amp;quot;ime&amp;quot; type=&amp;quot;xs:string&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jednostavni elementi mogu imati inicijalnu (default) ili fiksno zadanu (fixed) vrijednost atributa. Ako u [[XML]] dokumentu nije zadana neka druga vrijednost atributa primjenjuje se inicijalna vrijednost. Fiksno zadana vrijednost ima kontrolni karakter i vrijednost u [[XML]] dokumentu ne smije biti različita od nje.&lt;br /&gt;
&lt;br /&gt;
==== Složeni tipovi elemenata ====&lt;br /&gt;
Složeni tipovi elemenata su korisnički definirani elementom &amp;quot;complexType&amp;quot;. Definira ih korisnik i njihovu kontrolu vrši sam.&lt;br /&gt;
Postoje 4 različite vrste složenih elemenata&lt;br /&gt;
* '''prazni''' elementi ne smiju imati sadržaj već samo atribute. Prazni elementi mogu imati samo početnu oznaku.&lt;br /&gt;
 &amp;lt;artikal sifra=&amp;quot;1234&amp;quot;/&amp;gt;&lt;br /&gt;
* elementi koji sadrže druge elemente sadrže samo druge elemente koji sadrže text. Osim drugih elemenata ne smiju sadržavati unutar sebe  text.&lt;br /&gt;
 &amp;lt;osoba&amp;gt;&lt;br /&gt;
 	&amp;lt;ime&amp;gt;Pero&amp;lt;/ime&amp;gt;&lt;br /&gt;
 	&amp;lt;prezime&amp;gt;Perić&amp;lt;/prezime&amp;gt;&lt;br /&gt;
 &amp;lt;/osoba&amp;gt;&lt;br /&gt;
* elementi koji sadrže samo tekst sadrže samo tekst i stributem, a ne smiju unutar sebe imati sadržane druge elemente.&lt;br /&gt;
 &amp;lt;racunalo type=&amp;quot;rucno&amp;quot;&amp;gt;Palm&amp;lt;/racunalo&amp;gt;&lt;br /&gt;
* elementi koji sadrže i tekst i druge elemente unutar sebe mogu imati sadržan i tekst i druge elemente.&lt;br /&gt;
 &amp;lt;opis&amp;gt;&lt;br /&gt;
 	Osoba je rođena &amp;lt;datum lang=&amp;quot;croatian&amp;quot;&amp;gt;01.01.1989.&amp;lt;/datum&amp;gt; &lt;br /&gt;
 &amp;lt;/opis&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Atributi elemenata ===&lt;br /&gt;
Atributi detaljnije opisuju elemente i opcionalni su te se ne moraju navoditi. Vrijednost atributa navodi se pod znakovima navodnika.&lt;br /&gt;
Atribut &amp;quot;name&amp;quot; opisuje naziv atributa ili elementa, a atribut &amp;quot;type&amp;quot; njegov dozvoljeni tip. Tip podatka može biti jednostavan ili složen. &lt;br /&gt;
&lt;br /&gt;
=== Kardinalnost elemenata ===&lt;br /&gt;
Kardinalnost podataka definirana je [[atribut|atributima]] &amp;quot;minOccurs&amp;quot; i &amp;quot;maxOccurs&amp;quot;. Minimalni broj pojavljivanja određenog elementa postavljen je u osnovi na &amp;quot;1&amp;quot;. Ako se želi navesti neki drugi broj, npr. da se element ne mora niti jednom pojaviti, potrebno je u vrijednost tog atributa upisati &amp;quot;0&amp;quot;. &lt;br /&gt;
Atribut &amp;quot;maxOccurs&amp;quot; navodi maksimalni broj puta što se može pojaviti vrijednost određenog elementa. Ako se neki element može pojaviti neograničen broj puta kao vrijednost se treba postaviti &amp;quot;unbounded&amp;quot;. Ako je broj puta što se element smije pojaviti fiksiran, potrebno je kao vrijednost atributa navesti taj broj.&lt;br /&gt;
&lt;br /&gt;
=== Ograničenja elemenata ===&lt;br /&gt;
Odgovarajućim elementima i atributima mogu se precizno odrediti odgovarajuća ograničenja na vrijednost [[XML]] elemenata. &lt;br /&gt;
Element '''&amp;lt;restriction&amp;gt;''' koristi se za ograničavanje vrijednosti određenog elementa na određene vrijednosti.&lt;br /&gt;
Primjer ograničenja podatka starosti koje mora upasti u interval između 0 i 110&lt;br /&gt;
 &amp;lt;xs:element name=&amp;quot;starost&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xs:simpleType&amp;gt;&lt;br /&gt;
  	&amp;lt;xs:restriction base=&amp;quot;xs:integer&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;xs:minInclusive value=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
 		&amp;lt;xs:maxInclusive value=&amp;quot;110&amp;quot;/&amp;gt;&lt;br /&gt;
 	&amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
 &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
 &amp;lt;/xs:element&amp;gt; &lt;br /&gt;
Primjer ograničenja podatka vrsta automobila koji mora biti jedan od ponuđenih tipova:&lt;br /&gt;
 &amp;lt;xs:element name=&amp;quot;automobil&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xs:simpleType&amp;gt;&lt;br /&gt;
 	&amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;xs:enumeration value=&amp;quot;Golf&amp;quot;/&amp;gt;&lt;br /&gt;
 		&amp;lt;xs:enumeration value=&amp;quot;Fiat&amp;quot;/&amp;gt;&lt;br /&gt;
 	&amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
 &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
 &amp;lt;/xs:element&amp;gt; &lt;br /&gt;
Primjer ograničenja na niz slova  engleske abecede:&lt;br /&gt;
 &amp;lt;xs:element name=&amp;quot;slovo&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xs:simpleType&amp;gt;&lt;br /&gt;
 	&amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;xs:pattern value=&amp;quot;[a-z]&amp;quot;/&amp;gt;&lt;br /&gt;
 	&amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
 &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
 &amp;lt;/xs:element&amp;gt; &lt;br /&gt;
Primjer ograničenja duljine podatka:&lt;br /&gt;
 &amp;lt;xs:element name=&amp;quot;jmbg&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;xs:simpleType&amp;gt;&lt;br /&gt;
  	&amp;lt;xs:restriction base=&amp;quot;xs:string&amp;quot;&amp;gt;&lt;br /&gt;
 		&amp;lt;xs:length value=&amp;quot;13&amp;quot;/&amp;gt;&lt;br /&gt;
 	&amp;lt;/xs:restriction&amp;gt;&lt;br /&gt;
 &amp;lt;/xs:simpleType&amp;gt;&lt;br /&gt;
 &amp;lt;/xs:element&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Ostala svojstva elemenata ===&lt;br /&gt;
Osim kardinalnosti i ograničenja podataka postoji niz predefiniranih svojstava koja se mogu koristiti prilikom opisa svakog elementa. Ta predefinirana svojstva nazivaju se &amp;quot;facets&amp;quot;. Neki od najčešće korištenih su ''precision'', ''scale'', ''encoding'', ''whiteSpace'', ''totalDigits'' '' fractionDigits'' i ''pattern''.&lt;br /&gt;
&lt;br /&gt;
== Primjer korištenja ==&lt;br /&gt;
=== XML dokument ===&lt;br /&gt;
Dokument '''studenti.xml'''&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;Studenti '''xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:noNamespaceSchemaLocation=&amp;quot;studenti.xsd&amp;quot;'''&amp;gt;&lt;br /&gt;
 	&amp;lt;Osoba&amp;gt;&lt;br /&gt;
 		&amp;lt;Ime&amp;gt;Pero&amp;lt;/Ime&amp;gt;&lt;br /&gt;
 		&amp;lt;Prezime&amp;gt;Perić&amp;lt;/Prezime&amp;gt;&lt;br /&gt;
 	&amp;lt;/Osoba&amp;gt;&lt;br /&gt;
 	&amp;lt;Studij&amp;gt;Računarstvo&amp;lt;/Studij&amp;gt;&lt;br /&gt;
 	&amp;lt;Adresa&amp;gt;&lt;br /&gt;
 		&amp;lt;Ulica&amp;gt;U gradu&amp;lt;/Ulica&amp;gt;&lt;br /&gt;
 		&amp;lt;Broj&amp;gt;247&amp;lt;/Broj&amp;gt;&lt;br /&gt;
 		&amp;lt;Grad&amp;gt;Zagreb&amp;lt;/Grad&amp;gt;&lt;br /&gt;
 	&amp;lt;/Adresa&amp;gt;&lt;br /&gt;
 	&amp;lt;KontaktPodaci&amp;gt;&lt;br /&gt;
 		&amp;lt;Telefon&amp;gt;01-111-777&amp;lt;/Telefon&amp;gt;&lt;br /&gt;
 		&amp;lt;Telefon&amp;gt;098-111-1778&amp;lt;/Telefon&amp;gt;&lt;br /&gt;
 		&amp;lt;Email&amp;gt;pperic@zg.tel.hr&amp;lt;/Email&amp;gt;&lt;br /&gt;
 		&amp;lt;KorisnickoIme&amp;gt;pperic&amp;lt;/KorisnickoIme&amp;gt;&lt;br /&gt;
 	&amp;lt;/KontaktPodaci&amp;gt;&lt;br /&gt;
 &amp;lt;/Studenti&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD dokument ===&lt;br /&gt;
Dokument '''studenti.xsd'''&lt;br /&gt;
 &amp;lt;xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Studenti'&amp;gt;&lt;br /&gt;
 		&amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
 			&amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Osoba'/&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Studij' minOccurs='0' maxOccurs='1'/&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Adresa' minOccurs='0' maxOccurs='1'/&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='KontaktPodaci' minOccurs='0' maxOccurs='1'/&amp;gt;&lt;br /&gt;
 			&amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
 		&amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Osoba'&amp;gt;&lt;br /&gt;
 		&amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
 			&amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Ime'/&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Prezime' minOccurs='0' maxOccurs='1'/&amp;gt;&lt;br /&gt;
 			&amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
 		&amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Ime' type='xsd:string'&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Prezime' type='xsd:string'&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Studij' type='xsd:string'&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Adresa'&amp;gt;&lt;br /&gt;
 		&amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
 			&amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Ulica' minOccurs='0' maxOccurs='1'/&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Broj' minOccurs='0' maxOccurs='1'/&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Grad' minOccurs='0' maxOccurs='1'/&amp;gt;&lt;br /&gt;
 			&amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
 		&amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Ulica' type='xsd:string'&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Broj' type='xsd:string'&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Grad' type='xsd:string'&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='KontaktPodaci'&amp;gt;&lt;br /&gt;
 		&amp;lt;xsd:complexType&amp;gt;&lt;br /&gt;
 			&amp;lt;xsd:sequence&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Telefon' minOccurs='0' maxOccurs='unbounded'/&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='Email' maxOccurs='unbounded'/&amp;gt;&lt;br /&gt;
 				&amp;lt;xsd:element ref='KorisnickoIme' maxOccurs='unbounded'/&amp;gt;&lt;br /&gt;
 			&amp;lt;/xsd:sequence&amp;gt;&lt;br /&gt;
 		&amp;lt;/xsd:complexType&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='KorisnickoIme' type='xsd:string'&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Telefon' type='xsd:string'&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 	&amp;lt;xsd:element name='Email' type='xsd:string'&amp;gt;&lt;br /&gt;
 	&amp;lt;/xsd:element&amp;gt;&lt;br /&gt;
 &amp;lt;/xsd:schema&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Prednosti i nedostaci korištenja XML Scheme ==&lt;br /&gt;
Prednost korištenja [[XML]] Scheme je što se sam [[XML]] Schema dokument [[XML]] dokument i kreira se prema istim pravilima. Time nije potrebno učiti pravila 2 različita jezika, a i sami programi koji provjeravaju ispravnost [[XML]] dokumenta mogu se koristiti za provjeru formalne ispravnosti Schema dokumenta. &amp;lt;br /&amp;gt;&lt;br /&gt;
Osim toga unutar [[XML]] Schema dokumenta moguće je provesti puno precizniju kontrolu sadržaja dokumenta i ispitati više različitih svojstava. Npr. ako se neki podatak opiše tipom ''datum'', taj podatak u datumskom formatu trebao bi biti čitljiv u svim zemljama jer tip podataka ''datum'' programi bi trebali interpretirati na ispravan način, ovisno o lokalnim datumskim postavkama odgovarajuće zemlje. &amp;lt;br /&amp;gt;&lt;br /&gt;
Nedostatak korištenja [[XML]] Schema dokumenta je u dosta složenoj sintaksi koju je potrebno svladati kako bi se kreirali dokumenti.&lt;br /&gt;
&lt;br /&gt;
== Vanjske poveznice ==&lt;br /&gt;
[http://www.w3.org/XML/Schema/ W3C stranice o XML Schemi]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.w3.org/TR/xmlschema-formal/ Specifikacija XML Scheme]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.oasis-open.org/cover/schemas.html XML Schema]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.w3schools.com/schema/default.asp Vodič kroz XML schemu]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorija:W3C]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
</feed>