You are on page 1of 26

XML

© ЕТФ – 2007 1/27


Sadržaj
ƒ Osnovna ppravila XML-a
ƒ Šta znači kad je XML dokument dobro formiran
ƒ Komponente iz kojih se sastoji XML dokument

© ЕТФ – 2007 2/27


Šta je XML?
ƒ XML (eXtensible Markup Language) je napravljen u
cilju čuvanja, prenosa i razmene podatka.
ƒ XML tagovi nisu predefinisani. Autor sam definiše
tagove koji će se koristiti.
ƒ Može biti smešten (prikazan):
- Kao standardan dokument smešten na disku
- Poruka koja se šalje preko HTTP-a
- Znakovni niz u programskom jeziku
- Svaki drugi način korišćenja tekstualnih
podataka

© ЕТФ – 2007 3/27


Šta je XML?
ƒ Korišćenjem
o šće je XMLa a podac
podaci se ssmeštaju
eštaju izvan
a HTML
dokumenta
ƒ XML omogućava razmenu podataka između
nekompatibilnih
k tibil ih sistema
i t
ƒ XML podaci se čuvaju u plain text formatu što
omogućava hardver i softver nezavistan način
razmene podataka
ƒ XML se koristi za čuvanje podataka u fajlovima ili
b
bazama podataka
d t k
ƒ XML se koristi i za kreiranje i opis novih jezika, npr.
WML (Wireless Markup Language)

© ЕТФ – 2007 4/27


XML kao stablo– primer
ƒ Možemo
o e os smatrati
at at da XML dokument
do u e t ima
a stukturu
stu tu u
hijerarhijskog stabla.

© ЕТФ – 2007 5/27


Osnovna struktura XML dokumenta

<?xml version="1.0"?> “Opciona“ prva linija; obavezna ukoliko


kodiranje nije UTF-8 ili UTF-16

<book> Početni kontrolni kod osnovnog elementa

<title>
Alphabet from A to Z P
Prvo d
dete
t element
l t sa ttekstom
k t
</title>
<isbn number="1112-23-4356" /> Prazan element (bez teksta)

<author> Početni kontrolni kod elementa

<firstName>Boreng</firstName>
fi N B /fi N Ugnježđena deca elementi
<lastName>Riter</lastName>
</author> Završni kontrolni kod elementa

<chapter title="Letter A">


The letter A is the first Element koji sadrzi atribut i parsirane
in the alphabet.
alphabet It znakovne podatke (PCDATA)
is also thefirst of five vowels
. </chapter>
<!-- The rest of the letter Komentar
chapters are missing -->
<chapter title="Letter Z">
The letter Z is the last P l d ji element
Poslednji l tud
dokumentu
k t
letter in the alphabet.
</chapter>
Završni kontrolni kod osnovnog elementa
</book>

© ЕТФ – 2007 6/27


Sintaksa
ƒ Elementi
e e t moraju
o aju biti
b t valjano
a ja o ugnježdeni
ug je de
ƒ XML tagovi su case sensitive
ƒ Svi elementi moraju biti zatvoreni
ƒ Svaki dokument mora imati osnovni element
ƒ Vrednosti atributa se navode između navodnika
ƒ Za razliku od HTML-a, XML čuva
č razmak

ƒ <?xml version=
version="1
1.0
0" encoding=
encoding="ISO
ISO-8859-1
8859 1"?>
?>
ƒ ISO-8859-1
ƒ ISO 8859 2
ISO-8859-2
ƒ ISO-8859-5 ћирилица

© ЕТФ – 2007 7/27


Jedinstven osnovni element
ƒ Svaki
S a XML dokument
do u e t mora
o a da ima
a samo
sa o jedan
jeda
osnovni element

Ispravno: Neispravno:

<?xml version="1.0"?>
<colors> <?xml version="1.0"?>
<color>red</color> <color>red</color>
<color>green</color> <color>green</color>
</colors>

Color predstavlja dva osnovna


Colors je ovde osnovni element.
elementa.

© ЕТФ – 2007 8/27


Kontrolni kodovi (tagovi)
ƒ Elementi
e e t se sastoje od početnog
počet og i završnog
a š og
kontrolnog koda.
Primer: <color>red</color>
ƒ Elementi mogu sadržati atribute u okviru početnog
kontrolnog koda.
Primer: <book isbn=
isbn="34323"></book>
34323 ></book>
ƒ Prazni elementi ne sadrže decu elemente niti tekst
Primer: <record key="123"></record>
y /
<record key="123" />
<record />

© ЕТФ – 2007 9/27


Ugnježđavanje elemenata
ƒ Elementi
e e t moraju
o aju biti
b t propisno
p op s o ugnježđeni.
ug je đe
Završni kontrolni kodovi unutrašnjih elemenata
moraju da se pojave pre završnih kontrolnih kodova
spoljašnjih
lj š jih elemenata.
l t
ƒ Može da postoji proizvoljan broj dece elemenata ili
podataka koji mogu biti ugnježđeni unutar početnog
i završnog taga elementa

© ЕТФ – 2007 10/27


Konvencija o imenima
ƒ Prvi znak
a mora
o a biti
b t A-Z,, a-z,
a , ili _(do
(donja
ja c
crta)
ta)
ƒ Posle prvog znaka moze doći bilo koji broj slova,
crtica, cifara, dvotački i donjih crta
ƒ XML razlikuje mala i velika slova
ƒ Imena ne smeju da sadrže razmake
ƒ Imena ne smeju imati prefiks xml, xml jer to imaju
rezervisane reči u XML-u
ƒ Nije
j neophodno
p p
pisati kratka imena,, koristiti opisna
p
imena za elemente i atribute

© ЕТФ – 2007 11/27


Sadržaj elemenata
ƒ Prazan
a a
ƒ Jednostavan – samo tekst
ƒ Sadrži druge elemente
ƒ Mešovit sadržaj – sadrži i tekst i druge elemente
<title><ref>XML</ref> Example</title>
<chapter>
Chapter information
<para>What is XML</para>
<para>What is HTML</para>
More chapter information
</chapter>

© ЕТФ – 2007 12/27


Atributi
ƒ Dodatne
odat e informacije
o ac je o eelementu
e e tu
ƒ Vrednosti atributa se navode između znakova
navoda “ ” ili ‘ '
<osoba pol="muški"> ili <osoba pol='muški'>
ƒ Ako atribut sadrži duple znake navoda onda može da
se navede između jednostrukih znakova navoda.
navoda
<osoba ime='Pera "Pekar" Petrović'>
ƒ Element može da ima nekoliko atributa , svaki sa
jedinstvenim imenom

© ЕТФ – 2007 13/27


Kada koristi elemente a kada atribute?

<?xml version="1.0" encoding="ISO-8859-1"?>


<?xml version="1.0" encoding="ISO-8859-1"?>
<poruka datum="25/05/2005" > <poruka>

<za>Peru</za> <datum>25/05/2005</datum>

<od>Mike</od> <za>Peru</za>

<naslov>Pozdrav</naslov> <od>Mike</od>

<sadrzaj>Vidimo se sutra!</sadrzaj> <naslov>Pozdrav</naslov>

</poruka> <sadrzaj>Vidimo se sutra!</sadrzaj>

</poruka>

© ЕТФ – 2007 14/27


Kada koristi elemente a kada atribute?

oš e datu
ƒ Prošireni datum element
ee e t
<?xml version="1.0" encoding="ISO-8859-1"?>

<poruka>

<datum>

<dan>25</dan>

<mesec>5</mesec>

<godina>2005</godina>

</datum>

< >P </ >


<za>Peru</za>

<od>Mike</od>

<naslov>Pozdrav</naslov>

<sadrzaj>Vidimo se sutra!</sadrzaj>

</poruka>

© ЕТФ – 2007 15/27


Kada koristi elemente a kada atribute?

edostatc at
ƒ Nedostatci atributa:
buta
Ne mogu sadržati višestruke vrednosti (elementi
mogu)
Ne mogu se lako proširiti
Teži su za korišćenje
Teško se testiraju korišćenjem Document Type
Definition (DTD), koji se koristi za definisanje
legalnih elemenata XML dokumenta

© ЕТФ – 2007 16/27


XML validacija
ƒ Tekst
e st može
o e da bude
ƒ Dobro formirani (well formed) XML dokumenti su oni
XML dokumenti koji imaju korektnu sintaksu
ƒ Validni XML dokumenti su oni koji odgovaraju
odgovarajućim DTD pravilima
ƒ DTD definiše strukturu XML dokumenta sa listom
njegovih validnih elemenata
ƒ Greške u XML dokumentu će zaustaviti program. Svi
XML dokumenti treba da budu kompatibilni, a XML
softver jednostavan

© ЕТФ – 2007 17/27


XML i browser-i
eć a b
ƒ Većina browser-
o se a podržava
pod a a XML,, ali s b
a svi browser-
o se i
nemaju celokupnu podršku za XML
ƒ XML fajlovi se mogu prikazati u Mozilla, Firefox,
O
Opera, I t
Internett Explorer
E l i Netscape
N t 6+ browser-ima
b i
ƒ XML document se prikazuje sa obojenim
elementima. Plus (+) ili minus znak ((-)) sa leve strane
elementa se može klikuniti u cilju proširenja ili
smanjenja strukture elementa. Za prikazivanje XML
source-a
a (bez + i - znaka) treba selektovati "View
View
Page Source" ili "View Source" iz browser menija.

© ЕТФ – 2007 18/27


XML parser i CDATA
ƒ XML paparser
se omogućava
o oguća a č čitanje,
ta je, kreiranje
e a je i obradu
ob adu
XML dokumenta
ƒ Npr, MSXML parser je Microsoft komponenta za
parsiranje
i j XML dokumenata,
d k t ali
li sadrži
d ži i sve potrebne
t b
funkcije koje omogućavaju kreiranje čvorova stabla,
pristup
p p njihovim
j atributima, brisanje,
j dodavanje j
čvorova i konvertovanje čvorova stabla nazad u XML
dokument
ƒ Ceo tekst XML dokumenta se parsira osim onog dela
koji se nalazi u okviru CDATA sekcije
ƒ Kada se p parsira XML element p parsira se i tekst koji
j
sadrži , jer XML elementi mogu sadržati i druge
elemente
© ЕТФ – 2007 19/27
XML parser i CDATA
<poruka>Ovaj tekst se takodje parsira</poruka>

<osoba>
<ime>Pera</ime>
<prezime>Peric</prezime>
</osoba>
<message>if
essage sa
salary
a y < 1000
000 t
then</message>
e / essage nevalidno!
e a d o!
<message>if salary &lt; 1000 then</message> validno

&lt; < less than


&gt; > greater than
&amp; & ampersand
&apos; ' apostrophe
&quot; " quotation mark

© ЕТФ – 2007 20/27


CDATA
• Sintaksa:<![CDATA[
[ [ ...Ovde može bilo šta... ]]
]]>
Primedba: Sve osim znakovnog niza "]]>"; To
ubacujemo sa"]]&gt;"
ƒ CDATA nije parsiran pa se kao takav i posmatra
ƒ Korisno za ubacivanje drugih jezika u okviru XML-a.
-HTML
HTML dokumenata
dokumenata.
-XML dokumenata.
-JavaScript
JavaScript izvornog koda.
koda
-Ili nekog drugog teksta sa dosta specijalnih
znakova

© ЕТФ – 2007 21/27


CDATA - primer

© ЕТФ – 2007 22/27


XML - namespaces
ƒ S ob
obzirom
o naa to da elementi
e e e t u XMLu u nisu
su
predefinisani može doći do konflikta imena.
ƒ Informacije u tabeli:
<table>
t bl
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
ƒ Informacije o tabeli:
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
© ЕТФ – 2007 23/27
XML - namespaces

<catalogEntry>
<book>
<title>this book</title>
<isbn>0001</isbn>
<author>
<title>Dr.</title>
<lastName>Expert</lastName>
<firstName>Iman</firstName>
</author>
</book>
</catalogEntry>
© ЕТФ – 2007 24/27
XML - namespaces
ƒ Ovaj
O aj problem
p ob e se rešava
eša a korišćenjem
o šće je prefiksa
p e sa koji
oj
označavaju namespace:
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

© ЕТФ – 2007 25/27


XML - namespaces
ƒ Namespaces:
a espaces
<h:table xmlns:h="http://www.etf.bg.ac.yu/voce">
<h:tr>
h:td Apples /h:td
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
/h:table

<f:table xmlns:f=" http://www.etf.bg.ac.yu/namestaj">


<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
/f t bl

© ЕТФ – 2007 26/27

You might also like