![]() |
|
XML - informatika - Verzija za štampu +- Gotovi Seminarski Diplomski Maturalni Master ili Magistarski (https://www.maturskiradovi.net/forum) +-- Forum: Obrazovanje (/Forum-obrazovanje) +--- Forum: Društvene nauke (/Forum-dru%C5%A1tvene-nauke) +---- Forum: Informatika (/Forum-informatika) +---- Tema: XML - informatika (/Thread-xml-informatika) |
XML - informatika - Vesnica - 15-06-2010 02:15 PM Maturski, seminarski i diplomski radovi iz informatike.
XML (eXstensible Markup Language) je meta jezik koji omogućava opis strukture i sadržaja dokumenata. XML je dizajniran da opiše podatke i da se fokusira na to šta su podaci, za razliku od HTML-a, koji je dizajniran da prikaže podatke i da se fokusira na to kako podaci izgledaju. Tagovi u XML nisu unapred definisani, nego ih korisnik sam definiše. XML je postao W3C preporuka 1998. godine. Element u XML dokumentu je označen parom tagova - odgovarajući otvoreni i zatvoreni tag. XML dokument može da bude dobro formiran i validan, što podrazumeva da dokument sadrži jedan korenski element i da su ostali elementi dobro ugnježdeni. XML tagovi su “case sensitive”, mogu da imaju atribute, koji se javljaju kao par naziv-vrednost, i oni su proširivi. Prva linija u dokumentu je XML deklaracija; ona definiše verziju XML-a i “character encoding” koji se koristi u dokumentu. Sledeći tag predstavlja lokaciju šeme (fajl sa ekstenzijom .xsd). XML dokument je validan ako je u skladu sa DTD-om (Document Type Definition) ili XML šemom. DTD ili XML šema opisuje strukturu XML dokumenta. XML dokument je zapravo instanca DTD-a ili šeme. XML Schema jezici predstavljaju nadgradnju DTD-a. Uvode nove koncepte (u odnosu na DTD): -velik broj ugrađenih tipova podataka, -mogućnost definicije sopstvenog tipa podatka, -mogućnost definisanja lista, -može da se definiše element sa null (nil) vrednošću. Treća linija opisuje korenski element.Ostale linije opisuju decu korenskog elementa. Šema je kolekcija iskaza koji definišu strukturu skupa podataka, kao i ograničenja na toj strukturi. Šeme se čuvaju i fajlovima sa ekstenzijom .xsd. Instanca šeme je XML dokument. Osnovni elementi XML Schema jezka su: -schema – root element -element – svaki element XML dokumenta se ovim opisuje 1. postojeći tip 2. simpleType – kada želimo da profinimo postojeće tipove (ne sme da ima podelemente ili atribute) 3. complexType – ako ima podelemenata ili atributa - sequence – sekvenca podelemenata, - choice – izbor jednog od navedenih podelemenata, - attribute – definicija atributa za element, - any – bilo koji element. Facet. Facet je svojstvo elementa koje ga ograničava na zadati način. Postoji desetak facet-a kojima se ograničavaju postojeći tipovi podataka. Simple Type: -Kada je potrebno profiniti postojeći tip. Profinjenje se svodi na navođenje odgovarajućeg facet-a kojim se ograničava postojeći tip: - length, minLength, maxLength, - pattern – regularni izraz, - minInclusive, maxInclusive, - minExclusive, maxExclusive, - totalDigits, fractionDigits. Element restriction definiše profinjenje, a atribut base tip koji profinjujemo. -Definicija liste. Lista vrednosti razdvojenih whitespace-om, ograničenje je definisano odgovarajućim facet-om : - length, minLength, maxLength - pattern Element list definiše listu, a atribut itemType tip elementa liste. -Definicija unije. Vrednost elementa može biti neka od navedenih vrednosti. Element union definiše listu, a alternativni atribut memberTypes definiše spisak tipova koji čine uniju. -Enumeracije. Enumeracija predstavlja navođenje vrednosti elemenata iz unapred definisanog spiska. Complex Type: Ako imamo podtagova ili atributa. Podtagovi mogu biti: - sekvenca, - izbor, - svi elementi sa spiska bilo kojim redosledom, - atributi -Sekvenca. Niz podelemenata, redosled navođenja je bitan! -Izbor. Predstavlja izbor između postojećih elemenata (disjunkcija). -Svi elementi. Svi navedeni elementi, ali svaki samo jednom. -Atributi. Element sa atributima se definiše kao complexType. Ako element sadrži samo tekst, a ima i atribut, koristi se ključna reč simpleContent. 2. Podrška Jave za XML Podršku Jave za XML globalno možemo podeliti na sledeće grupe: -Parsiranje postojećih XML dokumenata, -Kreiranje “od nule” i ažuriranje samog stabla XML dokumenta, kao i redefinisanje stabla, -Transformacija XML dokumenta u željeni izlazni format koristeći XSL. Prve dve vrste podrške su specificirane kroz tzv. DOM i SAX API-je. Dom parser. DOM parser kreira strukturu stabla u memoriji na osnovu XML dokumenta. Kretanjem po stablu se vrše izmene i čitaju podaci. DOM omogućava lako brisanje, dodavanje i izmenu XML sadržaja. Da bi se mogao koristiti Xerces DOM interfejs, potrebno je prvo instancirati DOM parser: DOMParser parser = new DOMParser(); Pomoću njega se XML fajl parsira i smešta u memorijsku strukturu: parser.parse("Klijent.xml"); Argument metode parse može biti i URL: parser.parse ("http://.../Klijent.xml"); Dalje, XML dokument je reprezentovan objektom klase Document: Document document = parser.getDocument(); document je, sa ovog aspekta, samo koren stabla koje predstavlja XML dokument – dakle, jedan od čvorova. Čvorovi su predstavljeni interfejsom Node. Svaki čvor može imati podređene čvorove (a, ne mora – tada je on list). Metod getNodeType() vraća tip čvora. Tipovi su definisani kao konstante u interfejsu Node: int type = node.getNodeType(); if (type == Node.ELEMENT_NODE)... Čvor može biti: - Element - predstavljen interfejsom Element, - Atribut - predstavljen interfejsom Attr, - Tekst - predstavljen interfejsom Text. Svi ovi interfejsi nasleđuju interfejs Node, i proširuju ga odgovarajućim metodama. Metod getNodeName() vraća naziv čvora stabla: System.out.println (node.getNodeName()); |