XML

Iz Vikipedije, slobodne enciklopedije
Idi na navigaciju Idi na pretragu

XML je standardni skup pravila za definisanje formata podataka u elektronskoj formi. Propisan je od strane W3C. Sledeći pravila XML standarda, korisnici definišu sopstvene (XML) formate podataka, koje mogu koristiti za njihovo skladištenje, obradu i razmenu.

XML je skraćenica za Extensible Markup Language, odnosno proširivi (meta) jezik za označavanje (engl. markup) tekstualnih dokumenata. Ideja je bila da se stvori jezik koji će i ljudi i računarski programi moći jednostavno da čitaju. XML definiše opštu sintaksu za označavanje podataka pomoću odgovarajućih etiketa (engl. tags) koje imaju poznato ili lako razumljivo značenje. Format koji obezbeđuje XML za računarske elemente može se prilagoditi najrazličitijim oblastima, kao što su elektronska razmena podataka, čuvanje podataka, odvajanje podataka od prezentacije, vektorska grafika, sistemi glasovne pošte, izrada novih specijalizovanih jezika za označavanje.

Pošto se svi XML formati podataka kreiraju sledeći isti skup pravila, moguće je napraviti univerzalne alate za njihovu obradu. Tako postoji veliki broj besplatnih biblioteka na različitim jezicima na kojima se može pisati i čitati XML, a mogu se upotrebiti i gotovi softveri (kao što su programi za obradu teksta ili čitači veba). Neke alatke mogu da rade sa svim XML dokumentima, dok su druge prilagođene za podršku XML aplikacijama u različitim oblastima, ali se uvek koristi ista sintaksa. Mnogi formalno definisani jezici za označavanje, kao što su RSS, MathML, GraphML, XHTML, Scalable Vector Graphics, MusicXML i sl. bazirani su na XML-u.

XMLomogućava stvaranje dugotrajnih formata podataka koji su nezavisni od platforme. Često se dokumenti pisani na jednoj platformi ne mogu čitati na drugim platformama, niti u različitim programima na istoj platformi, čak ni u ranijoj verziji jednog programa na istoj platformi. U XML dokumentima tekstualni su ne samo podaci već i etikete koje su smeštene u samoj XML datoteci. To znači da ih može čitati svaka alatka koja je u stanju da čita tekstualne datoteke. Tako se podaci mogu prenositi sa jednog sistema na drugi. Tako XML daje prenosive podatke.

XML-ova osnovna svrha je da olakša deljenje podataka kroz različite informacione sisteme, posebno kroz one sisteme koji su povezani sa Internetom.

Istorija[uredi]

Šezdesetih godina 20. veka, zbog problema sa velikom količinom različite tehničke dokumentacije, u IBM-u se javlja ideja za stvaranjem prvog šire korišćenog jezika za označavanje podataka. Tako nastaje GML (Generalized Markup Language), koji su izumeli Čarls Goldfarb, Ed Mošer i Rej Lori (Charles Goldfarb, Ed Mosher, Ray Lorie).

Pošto se GML pokazao kao uspešan, nastavljen je razvoj u tom smeru, za šta je zaslužno više stotina ljudi širom sveta. Jezik koji je nastajao trebalo je da bude dovoljno formalizovan da može da garantuje vernost dokumenata, dovoljno strukturiran da može da operiše i kompleksnim dokumentima, i dovoljno otvoren da može podržati rukovanje velikim količinama podataka. Ovaj jezik nazvan je SGML (Standard Generalize Markup Language), koji je 1986. ISO prihvatio kao standard 8879.

Tim Berners Li (Tim Berneres Lee) izabrao je mali skup etiketa iz SGML-a i primenio ih na formatiranje dokumenata. Tako nastaje HTML (HyperText Markup Language), koji je primenjeni SGML. HTML je imao konačan skup etiketa koje su opisivale osnovne delove dokumenata. Ali, pošto je namenjen za izradu veb stranica, nije podesan za upotrebu izvan ove oblasti. Zbog toga je SGML upotrebljavan za druge aplikacije koje koristi internet, a nisu proste veb stranice.

Glavni nedostatak SGML-a bila je izuzetna komplikovanost; bio je opširan, složen za korišćenje i skup u upotrebi. Zato nije bio mnogo raširen, i korisnici SGML-a bile su uglavnom velike kompanije, naučne institucije i državne službe. Zbog toga su 1996. godine Džon Bozak, Tim Brej, Sperberg-Mekvin, Džejms Klark (Jon Bosak, Tim Bray, C. M. Sperberg-McQueen, James Clark) i drugi počeli rad na uprošćenoj verziji SGML-a, koja je izostavila njegove suvišne, zbunjujuće i nekorisne elemente, ali zadržala veliki deo njegove funkcionalnosti. Na početku svog rada, odredili su deset ciljeva kojih su se pridržavali u toku razvoja XML-a:

  • XML mora biti direktno primenljiv preko interneta;
  • XML mora podržavati širok spektar primena;
  • XML mora biti kompatibilan sa SGML-om;
  • XML mora lako pisati programe koji procesiraju XML dokumente;
  • broj opcionih mogućnosti (engl. feature) u XML-u mora biti apsolutno minimalan, a u idealnom slučaju jednak nuli;
  • XML dokumenti moraju biti čitljivi ljudima i u razumnoj meri jednostavni;
  • standard mora biti specifikovan što pre;
  • dizajn XML-a mora biti formalan i precizan;
  • kreiranje XML dokumenta mora biti jednostavno;
  • sažetost kod označavanja dokumenta XML-om je od minimalnog značaja.

Tako je nastao XML 1.0, koji je World Wide Web Consortium objavio 10. februara 1998. godine.

Pored naziva XML razmatrana su i druga imena: MAGMA (Minimal Architecture for Generalized Markup Applications), SLIM (Structured Language for Internet Markup) i MGML ( Minimal Generalized Markup Language).

XML 1.0 zasnovan je na standardu Unicode 2.0. Međutim, pošto je Unicode nastavio da se razvija i obuhvata nova pisma (mongolsko, kambodžansko, burmansko, amharsko...), XML je počeo da zaostaje. Zato je 4. februara 2004. godine objavljen XML 1.1, koji dozvoljava i upotrebu znakova iz ovih pisama.

Prednosti[uredi]

XML je jednostavno čitljiv i čoveku i računaru.

Pošto je XML dokument obično tekstualna datoteka, čitljiva je na svakoj platformi koja može čitati tekstualne podatke. Tako postaje neosetljiv na tehnološke promene – bez obzira na napredak tehnologije, tekstualne podatke će još dugo svaki računar moći da pročita. etikete XML podržava Unikod i omogućava prikaz teksta na svim poznatim jezicima.

Takođe, ovaj format je samodokumentujući: etikete opisuju sadržaj koji se nalazi unutar njih.

Ispravnost nastalog XML dokumenta vrlo je jednostavno kontrolisati, jer XML ima stroga sintaksička pravila. Računarski programi za obradu dokumenata mogu jednostavno da obrađuju XML sadržaj.

XML je međunarodno prihvaćen standard. Prihvatili su ga mnogi proizvođači programa i koriste ga u svojim proizvodima. Kompatibilan je sa SGML-om, koji se koristi od 1986. godine, a SGML može obrađivati veliki broj računarskih programa. XML može da predstavlja najuopšteniju strukturu računarske nauke: snimke, liste i stabla, a njegova hijerarhijska struktura je prikladna za većinu (ali ne i za sve) tipove dokumenata. Može se reći da je za XML najvažnije to što predstavlja jezik za metaoznačavanje, što podrazumeva da on nema fiksan skup oznaka i elemenata. U imenu XML-a slovo X potiče od reči Extensible (proširiv). To znači da se jezik može prilagođavati i proširivati kako bi zadovoljio različite potrebe korisnika.

Nedostaci[uredi]

Jedan od osnovnih nedostataka XML-a je redundantna i opširna sintaksa. Ona može zbunjivati čoveka, a računarski program koji obrađuje dokument može delimično usporiti. Ovi računarski programi su veoma složeni jer moraju da obrađuju velike količine ugnežđenih podataka na više nivoa.

Treba imati u vidu da je XMLsamo jezik za označavanje, a ne programski jezik. XML dokument samo postoji, ne radeći ništa.

Kao ni HTML, ni XML ne šalje podatke preko mreže. Poslani podaci mogu biti kodirani u XML-u, ali izvan XML dokumenta mora postojati neki protokol (HTTP, FTP, NFS i slično) koji će poslati dokument. To znači da XML nije protokol za mrežni prenos.

Iako XML veoma dobro služi kao prenosni format, koji je nezavisan od platforme, on nije baza podataka. Sama baza podataka, iako može sadržati XML podatke, nije XML dokument. Da bi korisnik preuzeo XML dokument iz baze podataka, mora upotrebiti neki posrednički program (eng. middleware product), kao što je Enhydra.

Sintaksa[uredi]

U XML dokumentima podaci su smešteni u obliku znakovnih nizova (eng. strings), koji se nalaze između tekstualnih etiketa koje ih opisuju. U XML-u se osnovne jedinice etiketa i podataka nazivaju elementi.

Korisnik se pri pisanju etiketa mora pridržavati precizno definisane sintakse. Strukturu XML dokumenta opisuju njegove etikete, pomoću kojih se može videti koji su elementi pridruženi drugim elementima. Ako je XML dokument dobro projektovan, etikete opisuju i njegovu semantiku (npr. etikete ukazuju da li je element naslov, ime osobe, datum i sl.). Ali, etikete u dobro projektovanim XML aplikacijama ne govore ništa o načinu prikazivanja dokumenta (npr. da li je element ispisan polucrno ili kurzivom i sl.) jer XML jezik ne označava način prikazivanja, već strukturu i semantiku.

Bazična sintaksa za jedan dokument u XML-u je:

<osoba>Miloš Crnjanski</osoba>

Deklaracija[uredi]

Svaki XML dokument bi trebalo da otpočinje deklaracijom XML-a, ali to nije obaveza. Deklaracija sadrži pseudoatribute version, standalone i encoding. Na primer:

<?xml version=”1.0” encoding=”UTF-8” standalone=”yes”?>

Ako XML dokument poseduje deklaraciju XML-a, ona mora biti no početku dokumenta, a pre nje ne sme biti komentara, belina i sl. To je zato što XML analizator na osnovu prvih pet znakova (<?xml) prepoznaje način kodiranja znakova u dokumentu; ispred deklaracije XML-a može se naći jedino nevidljiva Unicode oznaka redosleda bajtova.

Atribut version uglavnom ima vrednost 1.0, jer zadavanje verzije 1.1 ograničava dokument na mali broj najnovijih verzija analizatora, dok svi analizatori za XML1.1 podržavaju i XML 1.0. Pošto neki sistemi ne pružaju podatke o skupu znakova, XML dopušta dokumentima da sami naznače svoj skup znakova koristeći deklaraciju kodiranja (eng. encoding declaration). Ona se nalazi unutar deklaracije XML-a.

Atribut encoding je opcion. Ako je izostavljen, analizator pretpostavlja da je upotrebljen Unicode skup znakova. Atribut standalone (samostalan) je takođe neobavezan. Može imati vrednosti yes i no. Ukoliko je izostavljen, pretpostavka je da ima vrednost no. U tom slučaju aplikacija može učitati spoljni DTD (koji je smešten u spoljnu datoteku), kako bi utvrdila prave vrednosti nekih delova dokumenata. Dokument koji nema DTD kao vrednost atributa standalone može imati vrednost yes; ovu vrednost može imati i dokument koji ima DTD, ako taj DTD ne menja sadržaj dokumenta ili je potpuno interni.

Elementi, oznake i znakovni podaci[uredi]

XML elementi opisuju određeni deo XML dokumenta. Jedan element je razgraničen početnom oznakom (eng. start-tag) i završnom oznakom (eng. end-tag). Početna oznaka sastoji se od imena elementa okruženog uglastim zagradama (<osoba>). Završna oznaka sastoji se od istog imena okruženog uglastim zagradama, ali i od crtica koje prethodi imenu elementa (</osoba>). Sve što se pojavljuje između početne i završne oznake predstavlja sadržaj (eng. content) elementa. Sadržaj dokumenta u prvom primeru predstavlja tekst: Miloš Crnjanski. Iako su razmaci deo sadržaja, mnoge aplikacije ih zanemaruju. Etikete <osoba> i </osoba> čine markiranje (eng. markup) dokumenta, dok znakovni niz „Miloš Crnjanski“, zajedno sa razmacima koji ga okružuju, predstavlja znakovne podatke (eng. character data).

Prazni elementi[uredi]

XML obezbeđuje posebnu sintaksu za predstavljanje elemenata praznog sadržaja. On može biti predstavljen jednom oznakom praznog elementa (eng. empty-element tag). Ova oznaka počinje znakom < , a završava se znakovima /> . Sledeća tri primera za označavanje, npr. , prekida reda ( eng. line break) u XHTML-u ( koji je XML-izovana varijanta HTML-a) ekvivalentna su:

<br></br>

<br/>
Korenski element[uredi]

Svaki XML dokument mora imati tačno jedan korenski element (eng. root element) koji uokviruje kompletan sadržaj dokumenta. U dokumentu, on je prvi element i u sebi sadrži sve druge elemente. Ponekad se korenski element naziva i element (celog) dokumenta (eng. document element).

Stabla[uredi]

Sledeći primer ilustruje nešto složeniji XML dokument:

<osoba>
  <ime_i_prezime>
    <ime>Miloš</ime>
    <prezime>Crnjanski</prezime>
  </ime_i_prezime>
  <zanimanje>književnik</zanimanje>
  <zanimanje>diplomata</zanimanje>
</osoba>

Ovaj dokument još uvek sadrži samo jedan element – osoba. Ali, ovaj element ima tri elementa-potomka (eng. child elements): jedan element <ime_i_prezime> i dva elementa <zanimanje>. Element <ime_i_prezime> ima dva elementa-potomka – element <ime> i element <prezime>. Element <osoba> je roditeljski element elemenata <ime_i_prezime> i elemenata <zanimanje>, dok je element <ime_i_prezime> roditelj elementima <ime> i <prezime>. Može se reći da su elementi <ime_i_prezime> i elementi <zanimanje> bratski elementi, braća (eng. siblings), a međusobno bratski su i elementi <ime> i <prezime>. Kaže se da su elementi <ime_i_prezime> i elementi <zanimanje> ugnežđeni unutar elementa <osoba>.

XML zahteva da elementi budu propisno grupisani: svaki element se nalazi unutar drugog elementa, a i početna i završna oznaka elementa moraju biti unutar jednog istog elementa. XML zabranjuje oznake koje se preklapaju, odnosno elementi moraju biti pravilno ugnežđeni. Ovaj primer dokumenta je nepravilan:

<osoba>
  <ime_i_prezime>
    <ime>Miloš<prezime>Crnjanski</ime></prezime>
</osoba>

Atributi[uredi]

XML atributi daju podatke koji dodatno opisuju elemente XML dokumenta. Atributi imaju svoj naziv i vrednost. Ime atributa je razdvojeno od vrednosti znakom jednakosti i razmakom, koji je neobavezan. Vrednost atributa mora biti zatvorena u navodnike ili polunavodnike. Na primer:

<osoba rodjena=“1893” umrla=”1977”>
	Miloš Crnjanski
</osoba>

Postoje dve oprečne struje mišljenja u vezi sa korišćenjem atributa u okviru XML dokumenta. Po jednoj, atributi se ne bi smeli koristiti za obogaćivanje smisla sadržaja; dozvoljeni su samo oni atributi koji ne dodaju ništa u osnovnu informaciju (kao na primer atributi koji opisuju vrstu i veličinu fonta). Prema drugom shvatanju, atributi se mogu slobodno koristiti jer se time smanjuje broj elemenata.

Reference[uredi]

Unutar elementa XML dokumenta ne sme se naći znak < koji nema odgovarajuću izlaznu (eng. escape) sekvencu </, jer se znak < uvek tumači kao početak etikete. Ovaj znak se, ukoliko korisniku zatreba u tekstu, može pretvoriti u izlaznu sekvencu pomoću reference entiteta (eng. entity reference) &lt ;, numeričke reference znaka (eng. numeric character reference) &#60 ;, ili heksadecimalne reference znaka (eng. hexadecimal numeric character reference) &#x3c ;. Reference entiteta i numeričke reference znaka spadaju u markiranja; pri analiziranju XML dokumenta, markiranja se zamenjuju onim znakom na koji upućuje referenca.

XML poseduje pet unapred definisanih entiteta. To su:

  • &amp; (&, ampersend);
  • &lt; (<, znak „manje od“);
  • &gt; (>, znak „veće od“);
  • &quot; (", običan (ravan) navodnik);
  • &apos; (ravan polunavodnik, apostrof).

U sadržaju elemenata se samo &amp; i &lt; moraju upotrebljavati umesto & i <, dok su ostale reference opcione.

Numeričke reference znaka liče na reference entiteta, ali umesto imena sadrže karakter # i odgovarajući broj. Na primer, pošto je znak „manje od“ u Unicode sistemu definisan kao kod 60, numerička referenca znaka bila bi &#60 ;, dok bi u heksadecimalnoj numeričkoj referenci znaka bila &#x3c ; (gde je ,,х“ prefiks koji ukazuje na heksadecimalni sistem).

Ove reference mogu se koristiti samo u sadržaju elemenata i vrednostima atributa, dok su u imenima elemenata, imenima atributa, kao i u drugim vrstama markiranja nedopustive.

Pravilnost XML dokumenta[uredi]

Za svaki XML dokument koji je kreiran u skladu sa sintaksičkim pravilima može se reći da je dobro oblikovan (eng. well-formed). Sve dokumente koji nisu u skladu sa ovim pravilima, programi za obradu XML-a (eng. XML processors) odbijaju.

Dobro oblikovan dokument mora da zadovoljava određena pravila. Na primer:

  • za svaki XML dokument mora postojati tačno jedan korenski element;
  • svaki element koji nije prazan mora imati početnu etiketu i odgovarajuću završnu etiketu;
  • prazan element može biti označen oznakom praznog elementa (kao što je <br/>, što je ekvivalentno <br> </br>);
  • sve vrednosti atributa moraju biti zatvorene u navodnike ili polunavodnike;
  • elementi mogu biti ugnežđeni, ali se ne smeju preklapati, a svaki element, osim korenskog, mora se u potpunosti sadržati u drugom elementu;
  • jedan element ne sme imati dva istoimena atributa;
  • unutar oznaka ne smeju se koristiti komentari ni instrukcije za obradu;
  • znakovi < ili & koji nisu pretvoreni u izlaznu sekvencu ne smeju se naći u znakovnim podacima elemenata i atributa;
  • nazivi elemenata mogu sadržati slova, brojeve i posebne znakove, moraju počinjati slovom, ali ne smeju počinjati tekstom xml ni XML, a ne smeju sadržati ni praznine;
  • takođe, imena elemenata su osetljiva na razliku između malih i velikih slova (eng. case-sensitive). Tako elementi OSOBA, osoba i Osoba za XML nisu isti.

XML dokument koji je formalno ispravan, tj. dobro oblikovan, a pritom i zadovoljava određenu šemu, može se reći da je validan (eng. valid). Dokumenti koji šemu ne zadovoljavaju su nevalidni (eng. invalid). To znači da validnost dokumenta zavisi od šeme sa kojom se poredi.

DTD[uredi]

Oznake koje su dopuštene u nekoj od primena XML-a mogu biti dokumentovane u šemi (eng. schema). Definicija tipa dokumenta (engl. document type definition, DTD) je najrašireniji jezik za XML šeme. On je ujedno i jedini definisan u samoj specifikaciji XML-a. DTD određuje gde se i kako u dokumentu mogu pojaviti sve etikete koje su dozvoljene. Za XML DTD-ovi su opcioni, a ne obavezni, ali nisu uvek dovoljni. Osim DTD-a postoje i drugi jezici za opisivanje šema, kao što su XML Schema Language, RELAX NG, Schematron, Hook, Examplotron itd.

Prikazivanje na vebu[uredi]

XML dokumenti ne sadrže informacije o tome kako određene podatke treba prikazivati, jer je XML jezik za opis podataka. Bez korišćenja CSS (Cascading Stylesheet-s) ili XSLT (Extensible Stylesheet Language Transformations) atributa XML dokument je na internetu prikazan kao običan XML tekst. Neki internet pretraživači prikazuju XML dokument kao stablo, pri čemu delovi strukture mogu biti prikazani ili sakriveni klikom miša.

XML podaci mogu se prikazati pomoću HTML-a. XML i HTML koriste znakove „< >“ za kreiranje elemenata i atributa strukture.

U XML dokumentu se naziv CSS (Cascading Stylesheets) datoteke koja ga formatira navodi na određeni način. Povezivanje se vrši unutar XML dokumenta. Na primer:

<?xml version=”1.0” encoding=”UTF-8”?>
  <?xml-stylesheet type=”text/css” href=”osoba.css”?>
<osoba></osoba>

I naziv XSLT (Extensible Stylesheet Language Transformations) datoteke koja formatira XML dokument navodi se na određeni način.

<?xml version=”1.0” encoding=”UTF-8”?>
<?xml-stylesheet type=”text/xsl” href=”osoba.xslt”?>
<osoba></osoba>

Da bi se odredila klijentska strana XSL transformacije, XML-u je potrebna sledeća instrukcija za obradu:

<?xml-stylesheet type=”text/xsl” href=”myTransform.xslt”?>

XSLT podržava većina internet pretraživača, ali ga ne podržava pretraživač Опера, pre verzije 9.0. Alternativa tome je da se XSL upotrebi za konvertovanje XML-a u format koji je moguće prikazati „na serveru“, umesto da zavisi od mogućnosti pretraživača krajnjeg korisnika. Krajnji korisnik nema predstavu o tome šta se dešavalo „iza scene“ i vidi se samo dobro formatiran dokument.

Proširenja[uredi]

  • Xpath je jezik koji omogućava jednostavnije pretraživanje sadržaja u XML dokumentu.
  • Xquery je upitni jezik za pretraživanje XML dokumenta. On je za XML ono što je SQL i PL/SQL za odnosne baze podataka: način da se pristupi, manipuliše i vrati XML-u.
  • XML Namespaces omogućava da neki dokumenti koji sadrže XML elemente i atribute budu uzeti iz različitih rečnika bez imenovanja, čime se eliminiše konfuzija prilikom kombinovanja više šema u jednom XML dokumentu.
  • XML Signature definiše sintaksu i pravila za kreiranje digitalnog potpisa na XML sadržaju.
  • XML Encryption definiše sintaksu i pravila za šifrovanje XML sadržaja.
  • XML Pointer je jezik koji opisuje način na koji hiperlinkovi upućuju na određeno mesto u XML dokumentu.

Obrada dokumenata[uredi]

SAX (Simple API for XML) i DOM (Document Object Model) su objektno orijentisani za programiranje APIja (Application Program Interface), široko upotrebljenog za procesiranje XML podataka. Prvi XML raščlanjivač izlaže sadržaj XML dokumenta u aplikacijama kao što su SAX događaji ili DOM objekti.

SAX čini sistem, zasnovan na događajima, za analizu XML podataka. Proces se sastoji od čitanja dokumenta od početka i izdvajanja podataka u korisne delove, na svakom koraku procesa SAX definiše događaje koji mogu nastupiti.

DOM je API za Document Object Model . Dok SAX nudi pristup podacima unutar XMLdokumenta, DOM je osmišljen da pruži značenje rukovanju tim podacima. DOM prikazuje stablo XML dokumenta. Pošto je stablo poznat strukturni prikaz podataka, lako je izvesti prolazak i obradu kroz strukturu stabla u raznim programskim jezicima, pa i u Java programskom jeziku.

Forma XML pristupa koja je doživela veliku popularnost u skorije vreme je „push-parsing“koja tretira dokument kao seriju predmeta očitavanih u sekvencama. Na primer u Java programskom jeziku, StAX može biti upotrebljen za pravljenje onoga što je osnovno, što sekvencijalno posećuje atribute i podatke u XML dokumentu. Kod koji koristi ovaj „iterator“ može obrađivati postojeću stvar, npr. da kaže šta je početak ili kraj elementa ili teksta, ili da proveri njegove atribute, ime, lokalno ime, razmak između imena, vrednosti XML atributa, teksta itd., kao i da zahteva da se „iterator“ pomeri na sledeću stvar. Kod može na taj način da izvuče informacije iz dokumenta i da ih prelazi. Značajna prednost push-parsing metode je bolja efikasnost od SAX i DOM stila raščlanjivanja XML-a i rekurzivno-opadajući pristup sa tendencijom da na jednostavan način sačuva podatke.

Standard XSL (Extensible Stylesheet Language) je XML aplikacija za primenu stilova za štampanje ili prikazivanje XML dokumenata na vebu. On je podeljen na XSLT i XSL-FO.

  • XSL-FO (Extensible Stylesheet Language-Formatting Objects) je jezik za opisivanje strukture stranica koje su izlazni rezultat XML dokumenta, odštampane ili prikazane na vebu.
  • XSLT (Extensible Stylesheet Language Transformations)omogućava pretvaranje jednog XML dokumenta u drugi.
  • XQuery je W3C jezik za ispitivanje, konstruisanje i transformisanje XML dokumenata.
  • XSL-FO, XSLT i XQuery se koriste u XPath-u.

Osnovni format dokumenata u OpenOffice.org i AbiWord je XML. Neki delovi Microsoft Office 1.1 su, takođe, sposobni da uređuju XML dokumente.

Verzije[uredi]

Trenutno postoje dve verzije XML-a. Prva, XML1.0, inicijalno je definisana 1998. godine. Od tada je pretrpela manje prepravke, ali bez novog broja verzija. Trenutno je u svom četvrtom izdanju, koje je objavljeno 16. avgusta 2006. Široko je prihvaćena i još uvek se preporučuje za opštu upotrebu. Druga verzija, XML 1.1, objavljena je 4. februara 2004. Treća verzija, koja je u svom drugom izdanju, objavljena 16. avgusta 2006, a sadrži karakteristike kojima je nameravano da se XML napravi jednostavnijim za upotrebu. XML1.1 nije u širokoj upotrebi i preporučuje se za upotrebu onima kojima su potrebna njegova posebna svojstva.

XML 1.0 i XML 1.1 se razlikuju po karakterima koji su upotrebljeni za imena i njihove elemente i atribute. XML 1.0 jedino dozvoljava karaktere koji su definisani u Unikod 2.0 , što uključuje većinu svetskih jezika, a isključuje one koji su dodati u kasnije Unikod verzije. Među isključenima su pisma Mongolije, Kambodže, Burme i druga.

Skoro bilo koji Unikod karakter može biti upotrebljen u vrednosti karaktera i atributa XML 1.1 dokumenata, čak i ako karakter nije definisan, bez obzira da li ima kodnu tačku u važećoj vrednosti Unikoda. Pristup XML-a 1.1 je takav da su samo određeni karakteri zabranjeni, a da je sve drugo dozvoljeno, a u XML 1.0 samo određeni karakteri su eksplicitno dozvoljeni, tako da se XML 1.0 ne može prilagoditi dodavanju karaktera u budućim verzijama Unikoda.

U znakovnim podacima i vrednostima atributa XML 1.1 dozvoljava upotrebu više kontrolnih znakova od drugih verzija. Zbog robusnosti većine kontrolnih karaktera koji se nalaze u XML-u 1.1 oni moraju biti izraženi kao numeričke znakovne reference. Među podržanim kontrolnim karakterima u XML-u 1.1 su i dve isprekidane linije koje predstavljaju prazan prostor između karaktera. To su jedini kontrolni karakteri koji mogu biti upisani direktno.

Ima govora o XML-u 2.0, ali ostaje da se vidi da li će doći do njegovog nastanka. XML-SW je propisan od strane naučnika koji su razvijali XML i sadrži predloge kako bi XML 2.0 mogao da izgleda: kao eliminacija DTD-a iz sintakse, integracija Namespaces, XML baze i XML informacionog seta u osnovni standard.

Literatura[uredi]

Dodatna literatura[uredi]

Spoljašnje veze[uredi]