You are on page 1of 17

Sadrž

Sadržaj
PROGRAMSKI
JEZICI • Osnove XML-
XML-a
• Validacija XML dokumenata
Uvod u XML
• XSLT transformacije
i • Modeli XML parsera
XML tehnologije • MS implementacija W3C XML standarda

Dr Milica Vuč
Vučković
ković
Fakultet organizacionih nauka, 2007. Fakultet organizacionih nauka, 2007.

Ključ
Ključni koncepti XML Ključ
Ključni koncepti XML
XML eXtensible Markup Language XML eXtensible Markup Language
• Markup dodavanje specijalnog značznačenja podatku
• U XML koristi se tag za predstavljanje markup-
markup-a
XML je danas postao de- de-facto standard • XML dokument se sastoji iz
za opis sadrž
sadržaja i strukture (tekstualnih i – teksta (sadrž
sadržaj dokumenta)
dokumenta)
multimedijalnih) dokumenata i razmenu – tagova (reprezentuju logič
logičku strukturu dokumenta)

dokumenata na Web-Web-u Poč
Početni tag
<recenica>
recenica>
<ptica>
ptica>papagaj</
papagaj</ptica
ptica>
> se zove <ime>
ime> Miki </ime
</ime>
>
< /recenica
/recenica>
>
Krajnji tag
Fakultet organizacionih nauka, 2007. Fakultet organizacionih nauka, 2007.

Ključ
Ključni koncepti XML-
XML-a Ključ
Ključni koncepti XML-
XML-a
XML eXtensible Markup Language • XML – skup jednostavnih pravila za opis i
reprezentovanje informacija kao struktuiranih
dokumenata
• Extensible
- proš
proširljiv jezik, dozvoljava definisanje novih • Infomacije se reprezentuju kao XML
tag-
tag-ova dokument: samoopisujuća, platformaski
- meta jezik omoguć nezavisna tekstualna datoteka
omogućava definisanje drugih
markup jezika
• Razdvajanje struktuiranog sadržaja
dokumenta od njegove prezentacije (Style
Sheet)

Fakultet organizacionih nauka, 2007. Fakultet organizacionih nauka, 2007.

1

Koriš Korišćenje XML- XML-a Koriš Korišćenje XML- XML-a Program • Web servisi XSLT Standardi zasnovani na XML-u procesor .UDDI = Universal Description. 2007. 2007. 2007. 2 .Transformacija XML dokumenta u relacione  jednostavnost HTML tabele HTML = Hypertext Markup Language . Fakultet organizacionih nauka. Fakultet organizacionih nauka. Discovery and Integration Protocol Aplikacija A Aplikacija B Program Parser To Validate XML schema Fakultet organizacionih nauka. 2007.0 standard Fakultet organizacionih nauka.XQuery Fakultet organizacionih nauka. poč počela razvoj standarda za XML sa motivacijom da XML treba da kombin kombinuje  Fleksibilnost SGML • realcione baze SGML = Standard Generalized Markup Language .XML parseri • XML je veoma pogodan kao format za . 2007. definisan je XML 1.WSDL = Web Service Definition Language transformacija .XML schema • XML kao format je dovoljno formalan za • Upitni XML jezici maš mašinsko procesiranje i dovoljno razumljiv za . 2007. Fakultet organizacionih nauka. Koriš Korišćenje XML- XML-a Istrorijski razvoj XML- XML-a W3C = World Wide Web Consortium W3C Memorisanje XML podataka: ( organizacija za standardizaciju Web tehnologija ) • XML datoteke i XML baze • 1996.XML XSLT .SOAP = Simple Object Access Protocol Data.DTD = Document Type Definiton .XML dokumenta memorišu se u kolone (čiji je tip -XML type) relacionih tabela • U februaru 1998.transfromacija XML dokumenata (XSLT jezik) razmenu podataka između heterogenih • Specifikacija logič logičke strukture XML aplikacija na Web- Web-u dokumenata .XPath korisnike . Koriš Korišćenje XML- XML-a Koriš Korišćenje XML- XML-a XML tehnologije: tehnologije: • XML je projektovan za distribuirano okruž okruženje • Procesiranje XML dokumenata .

XML dokumenta XML elementi • XML dokumenta dokumenta su samoopisujuć samoopisujuće.obezbeđuju dodatne informacije o elementima iz elemenata. 3 . meta jezik standard za definisanje novih markup dokumenta na Web. 2007.Web-u jezika . proš proširljiv jezik. tag- tag-ove <pozdrav> pozdrav> Hello XML! </pozdrav </pozdrav> > Prazan element obič obično se za krajnji tag koristi skrać skraćenica /> <pozdrav> pozdrav> Hello XML!</ XML!</pozdrav pozdrav> > <pozdrav tekst = “Hello XML” XML” /> poč početni tag tekst krajnjii tag • Imena XML tagovi i imena atributa – case sensitive Fakultet organizacionih nauka.11. SGML HTML • standard za definisanje i reprezentovanje • Poč Početkom 1990.koristi fiksni.” > koreni (root (root)) element <od> od>Bojana Bojana</od </od> > <za> za>Milicu Milicu</za </za> > • Svi ostali elementi u strukturi su elementi <tekst> tekst>Sastanak Katedre sutra u 10</ 10</tekst tekst> > “deca” deca” korenog element . 2007.11. dokumenta. (ISO standard 1985) kao standard . Fakultet organizacionih nauka.05.prvenstveno projektovan za formatiranje i prezentovanje . atributa i znakovnih podataka naziv atributa vrednost atributa • XML dokument ima jedan i samo jedan <poruka datum = “1. 2007.definisan u SGML .dozvoljeno viš višestruko ugnjež ugnježdavanje elemenata </poruka </poruka> > Fakultet organizacionih nauka. 2007. tagovi se koriste samo za označoznačavanje strukture • HTML dokumenta . Tekst (sadrž (sadržaj dokumenta) .05 1. • Elementi su osnovni blokovi XML- XML-a platformski nezavisne tekstualne datoteke • XML dokument sadrž sadrži : Kontejner element mora da ima poč početni i krajnji tag . XML atributi Struktura XML dokumenta Elementima se mogu pridruž pridružiti atributi • hijerarhijska struktura (stablo) stablo) koja se sastoji . HTML je definisan od W3C strukture različ različitih tipova elektronskih dokumenta. 2007. elemenata. Fakultet organizacionih nauka. 2007. predefinisani skup tagova • Veoma slož složen jezik • Primer Prikaz • XML je podskup SGML (prilagodjen potrebama <b> bold </b </b> bold Web- Web-a) <i> italic </i </i> italic Fakultet organizacionih nauka. dozvoljava definisanje novih tagova . Fakultet organizacionih nauka.

2007. XML deklaracija Dobro- Dobro-oformljen XML dokument <?xml version version =“1.0” 1.0” encoding= “UTF- UTF-8”?> • postoji XML deklaracija • ? oznaka za instrukciju obrade • instrukcija obrade je poruka programima koji procesiraju XML dokument • dokument sadržsadrži jedan i samo jedan koreni element u kome su ugnjež ugnježdeni • atribut version specificira XML verziju svi ostali elementi i njihov njihovii sadrž sadržaji • atribut encoding definiš definiše znakovni kod u kome je XML dokument napisan UTF-8 (kompresovana verzija Unicode-a) • svi elementi i atributi u dokumentu UTF-16 (Unicode) moraju da budu sintaksno ispravni Fakultet organizacionih nauka.Browser-a (Internet Explorer 5. 2007. Fakultet organizacionih nauka. 2007. 2007.Drugih aplikacija Fakultet organizacionih nauka.0” 1.Opcioni oblik XML deklaracije: <?xml version version =“1.0” 1. instrukciju obrade kojom se dokument identifikuje kao XML dokument. Fakultet organizacionih nauka.0” encoding= “UTF- UTF-8”?> Fakultet organizacionih nauka. 2007. Fakultet organizacionih nauka. 4 . 2007. Hijerarhijska struktura XML dokumenta XML deklaracija Svaki XML dokument mora da sadrž sadrži XML deklaraciju. Osnovni oblik XML deklaracije: <?xml version version =“1.0”?> . Provera sintaksne korektnosti korektnosti XML dokumenta dokumenta Obrada XML dokumenta • XML parser verifikuje da li je XML dokument dobro- dobro-oformljen Kreiranje Parsiranje • XML parser čita dokument i konvertuje ga u hijerahijsku strukturu XML Editor XML Aplikacija dokument parser • XML parser prenosi parsirani dokument do krajnje aplikacije .0 i više verzije) ( pregled XML dokumenta) . tj. dokument .

2007. 2007. Fakultet organizacionih nauka. 2007. Definisanje tipova XML dokumenata Definisanje tipova dokumenata W3C je ponudio dva standarda nač načina za definisanje DTD i XSD definiš definišu: tipova XML dokumenta.NET XML Desinger . 5 .XML Spy – razvojno okruž okruženje za XML ( Internet Explorer 5. odnosno opisivanje strukture XML dokumenta: • strukturu XML dokumenta • Document Type Definiton (DTD) • ime i tip svakog XML elementa/atributa (DTD- (DTD. Fakultet organizacionih nauka.VS. Fakultet organizacionih nauka. Validni XML dokument Validacija XML dokumenata • Dobro- Dobro-oformljen • Konzistentan sa strukturom definisanom Definisanje tipova XML dokumenata u opisu tipa dokumenta XML Schema Fakultet organizacionih nauka.Tekst editori (na primer Notepad) Pomoć Pomoću web browser- browser-a koji podrž podržavaju XML . 2007.0 i viš više verzije) Fakultet organizacionih nauka. 2007.ogranič ograničene moguć mogućnosti za definisanje tipova) • XML Schema Definition (XSD) Fakultet organizacionih nauka. Kreiranje XML dokumenta Pregled XML dokumenta (source) . 2007.

w3. 2007. 2007.w3. Godina. Naslov. Fakultet organizacionih nauka.xsd knjige. DTD XML Schema • Nasledjen od SGML- SGML-a • preporuka W3C od maja 2001 • Poseban jezik • Vrlo ogranič ograničene moguć mogućnosti za definisanje tipova tipova • data je preko XML sintakse (XML šema je XML dokument) <!ELEMENT Knjige (Knjiga+)> Knjiga+)> <!ELEMENT Knjiga (Naslov.org/2001/XMLSchema> http://www.xsd reprezentovana preko strukture stabla Fakultet organizacionih nauka. Godina. Primer XML šeme za tip Knjiga Prikaz XML šeme preko strukture stabla knjige. Fakultet organizacionih nauka.xsd knjige. 2007.w3. Autor. Izdavac)> Izdavac)> <!ELEMENT Naslov (#PCDATA)> • podrž podržava definicije prostih i slož složenih <!ELEMENT Autor (#PCDATA)> <!ELEMENT Godina (#PCDATA)> tipova i poseduje napredne mehanizme <!ELEMENT ISBN (#PCDATA)> <!ELEMENT Izdavac (#PCDATA)> za grupisanje XML elemenata u XML dokumentu Fakultet organizacionih nauka. ISBN. Fakultet organizacionih nauka. 2007. 6 . 2007.org/2001/XMLSchema> se: ………… </xsd:schema </xsd:schema> > • Schema element (koreni element svake Svi elemeti potrebni za definisanje konkretne XML šeme ) complexType XML šema su definisani preko namespace- namespace-a (opseg- (opseg-imena): • Deklaracije elemenata element http://www. 2007.0"?> <xsd:schema xmlns:xsd= xmlns:xsd=http://www. tako da prefiks u XML seqence šemi ukazuje na namespace Fakultet organizacionih nauka. XML Schema Schema element Za konstrukciju svake XML šeme koriste <?xml version="1.org/2001/XMLSchema • Deklaracije atributa schema simpleContent • Definicije prostih i slož složenih tipova string xmlns: xmlns:xsd povezivanje prefiksa xsd sa boolean namespace- namespace-om. Autor.

XML dokumenta (instance) XML šeme XSLT transf transformacije . svaki element je obavezan (minOccurs (minOccurs = “1”) i jednoznač jednoznačan (minOccurs (minOccurs = “1” ) korisnič korisnički definisan tip (pr.xsd Fakultet organizacionih nauka.0 (Novembar 1999) .XPath . 2007. • Tip mož može da bude Po difoltu. Fakultet organizacionih nauka.HTML dokument • XSLT 1.XSLT transformacioni proces . type). 2007. slož složenih koriš korišćenjem konstruktora: • sequence – def. 2007.XSLT verzije . 2007. ComplexType Knjiga) • choice – def.XSLT procesori XML dokumenta formirana u skladu sa XML šemom knjge.xsd knjige. difoltu. 7 . Fakultet organizacionih nauka. uređenu grupu elemenata.XSLT stylesheet dokument . grupu u kojoj se svi elementi mogu pojaviti maksimalno jedanput.0 (Novembar 2002) Fakultet organizacionih nauka. XML šema XML šema • Za svaki element u knjige.xsd definisan je naziv Slož Složeni tipovi se konstruiš konstruišu od prostih i drugih i tip (atributi name i type).tekst • XSLT 2. Fakultet organizacionih nauka. grupu iz kojih se mogu izvlač izvlačiti pojedinač pojedinačni elementi ili je u opsegu imena XML šeme (primer string) • all – def. 2007. Fakultet organizacionih nauka. XSLT XSLT XSLT eXtensible Stylesheet Language XSLT je deklarativni jezik koji se koristi za Transformation opis pravila transformacije transformacije XML dokumenta u W3C standard . 2007. knjge.drugi XML dokument .

Fakultet organizacionih nauka. XSLT instrukcije se izraž izražavaju kao XML elementi • stylesheet element je koreni element • Elementi koji se koriste za konstruisanje stylesheet dokumenta definisani su preko XSLT namespace- namespace-a: <?xml version=“1. Fakultet organizacionih nauka.. Osnovne karakteristike XSLT stylesheet Templejt pravila dokumenta Templejt pravilo sadrž sadrži dva dela: dela: • Stylesheet element sadrž sadrži skup templejt pravila • pattern . 2007. XSLT transformacioni proces XSLT transformacioni proces • XML parser verifikuje da li je XML dokument dobro- dobro-oformljen XSLT stylesheet • XML parser čita dokument i konvertuje ga u hijerahijsku strukturu -XML XML dokument XSLT -HTML • XML parser prenosi parsirani dokument do procesor -tekst krajnje aplikacije .. 2007. apply- apply-templates </xsl:stylesheet> value- value-of template Fakultet organizacionih nauka. 2007. 2007.opisuje transformaciju koja se primenjuje • pravila opisuju kako se pojedini elementi u XML dokumentu transformiš transformišu u rezultujuć rezultujuće elemente <xsl:template match=“ match=“pattern” pattern”> u izlaznom dokumentu [ akcija ] </xsl:template </xsl:template> > Fakultet organizacionih nauka.. ..w3.....org/1999/XSL/Transform xmlns:xsl=“http://www...Drugih aplikacija Fakultet organizacionih nauka..identifikuje elemente ulaznog XML koja se deklariš deklarišu sa <xsl:templ xsl:template> dokumenta koji će biti obrađeni elementima • akcija ..0 i viš više verzije) ( pregled XML dokumenta) . 8 ..w3.. Fakultet organizacionih nauka. 2007... 2007......0” stylesheet http://www.. Osnovne karakteristike XSLT stylesheet XSLT stylesheet dokument dokumenta • XSLT stylesheet dokument je XML dokument .Browser- Browser-a (Internet Explorer 5.0”?> <xsl:stylesheet version “1.org/1999/XSL/Transform”> for- for-each choose .

2007. Telo templejt pravila Primer XSLT instrukcije value- value-of Satoji se iz: iz: <xsl:template match="/"> <xsl:value xsl:value--of select = “pozdrav"/> ozdrav"/> • XSLT instrukcija </xsl:template> • Elemenata koji specificiraju željeni izlazni sadrž sadržaj elementa pozdrav prvo se dodeljuje tekst koji XSLT procesor treba da ubaci u atributu select izlazni dokument zatim. Fakultet organizacionih nauka. 2007. </xsl:template> atribut match="/" povezuje templejt sa korenom dokumenta Fakultet organizacionih nauka. 2007. sadrž adržaj elementa pozdrav XSLT procesor kopira u izlazni dokument Fakultet organizacionih nauka. Fakultet organizacionih nauka. Fakultet organizacionih nauka. XPath XPath "/" XPath pattern za koren dokumenta U XSLT dokumentu XPath se koristi za izdvajanje delova XML dokumenta na koje će <xsl:template match="/"> biti primenjena transformacija ………. Templejt pravila XPath <xsl:template match=“ match=“pattern” pattern”> • XPath je jezik koji omoguć omogućava navigaciju do delova (elemenata i atributa) XML dokumenta [ akcija ] </xsl:template </xsl:template> > • XML dokument se ovde posmatra kao stablo čvorova sa definisanim čvorom koji se naziva • match atribit koristi se za povezivanje koren dokumenta – Koren dokumenta je bezimeni čvor čije je dete templejta sa nekim delom ulaznog XML koreni element XML dokumenta dokumenta • Vrednost match atributa je XPath pattern • Čvor se adresira preko tzv. 2007. izraza putanje – niz od jednog ili viš više koraka razdvojenih sa “/” Fakultet organizacionih nauka. 2007. 2007. 9 .

0"?> <html> <head> <?xml- <?xml-stylesheet type="text/xsl type="text/xsl““ <title>pozdrav <title>pozdrav</title> </title> </head> href= href=“pozdrav. Primer elemenata XSLT procesori • Standalone XSLT procesori Pretpostavka: izlazni dokument je HTML dokument  Java XSLT procesor. Efekat transformacije Obrada XML dokumenata XML parseri Fakultet organizacionih nauka. 2007. Fakultet organizacionih nauka. Fakultet organizacionih nauka.XSLT procesor u IE je deo MSXML parsera <xsl:attribute name="size">6 name="size">6</xsl:attribute </xsl:attribute>>  Netscape 6. 2007.xml): pozdrav.HTML dokument: dokument: <?xml version="1. 2007.xsl"?> xsl"?> <body> <pozdrav> pozdrav> <p> Hello XML! <font color="red" </pozdrav </pozdrav> > size="14"> pozdrav xml programera </font> </p> <p> <font color="blue" size="16"> Hello XML! </font> </p> </body> </html> Fakultet organizacionih nauka. Oracle XSLT.0 pozdrav xml programera  JavaScript </font> • Koriš Korišćenje Web servera za XSLT transformacije </p>  Tri nač načina za izvrš izvršavanje XSLT transformacija  Java servleti  ASP (Active (Active Server Pages) Pages)  JSP (Java Server Pages) Pages) Fakultet organizacionih nauka. Xalan (Apache projekat) <p> <font> • Koriš Korišćenje Web Browser- Browser-a za XSLT transformacije <xsl:attribute name="color">blue name="color">blue</</xsl:attribute xsl:attribute> >  MS Internet Explorer 5. Fakultet organizacionih nauka. Primer transformacije XML dokumenta u HTML dokument XSLT Stylesheet dokument (pozdrav. 2007. 2007. 10 .xsl) XML dokument (pozdrav.xml): Željeni izlaz- izlaz.5 i viš više verzije . SAXON. pozdrav. 2007.

a ne detalje njihove implementacije Fakultet organizacionih nauka. 2007. Parser. Fakultet organizacionih nauka. Fakultet organizacionih nauka. • Tree. • SAX model = Simple API for XML   Parser. ava. 2007. navigaciju i izmene dokumenta Tree-based model • W3C standard • Preko ovog modela se iz softverskih aplikacija mož može manipulisati sa XML dokumentima i njihovim elementima kao sa objektima • W3C DOM specifikacija pruž pruža samo definiciju interfejsa za DOM biblioteke. Modeli XML parsera Koraci obrade XML dokumenta 1) Parsiranje XML dokumenta (koriš (korišćenjem XML parsera) parsera) Parser formira stablo čvorova (DOM). DOM model (Document Object Model) odel) DOM model • Standardni objektno- objektno-orjentisani programski • DOM model reprezentuje XML dokument kao interfejs za obradu XML dokumenata memorijsko memorijsko stablo čvorova (DOM stablo) i omoguć omogućava. Fakultet organizacionih nauka. 2007. XML parser XML parseri parseri Postoje dve vrste parsera: parsera: je softver koji čita XML dokument i čini 1) XML parseri koji verifikuju samo sintaksnu dostupnim njegov sadrž ispravnost XML dokumenta (da li je XML sadržaj i strukturu dokument dobro oformljen) oformljen) aplikaciji preko API- API-a 2) XML parseri vrš vrše validaciju XML dokumenta u skla skladu sa XML šemom ili DTD API = Application Programming Interfaces Fakultet organizacionih nauka. 2007. 11 . za vreme parsiranja. 2007. šalje događaje aplikaciji (SAX) • DOM model = Document Object Model 2) Obrada dokumenta  Aplikacija pristupa i menja čvorove stabla koriš korišćenjem interfejsa – DOM API  Aplikacija obrađuje poslate SAX događaje 3) Interpretacija parsiranog XML dokumenta u aplikaciji Fakultet organizacionih nauka. (preko skupa svojih interfejsa). 2007.

C#. 2007. 12 . 2007. 2007.čita XML dokument od poč početka do kraja XML dokument XML PARSER GRESKE .formira u memoriji strukturu stabla (DOM Pristup i modifikacija stablo) koja reprezentuje strukturu i sadrž sadržaj takvog dokumenta DOM stablo Fakultet organizacionih nauka. Java.Text <student id=“ id=“12005"> 12005"> . 2007. 2007. Prednosti i nedostaci Koriš Korišćenje DOM parsera • Prednosti • Kada se zahteva obrada već većine – Dinamič Dinamički pristup i modifikacija čvorova elemenata u XML dokumentu DOM stabla – Efikasno pretraž pretraživnje koje se zasniva na strukturi stabla • Kada se zahteva dinamič dinamički pristup i – Isti interfejs za različ različte programske jezike manipulacija sa XML dokumentom i (C++. Fakultet organizacionih nauka. Fakultet organizacionih nauka.) njegovim elementima • Nedostaci • XML dokumenta sa slož složenom strukturom – Mož Može da bude spor i zahteva dosta memorijskih resursa Fakultet organizacionih nauka. DOM model DOM model • Tipovi čvorova u W3C specifikaciji: Document  Document  Element Comment Element Attr Text XML dok studenti id 12005  Attribute Element  Character data <!— <!—XML dok --> --> student <studenti> studenti> .. 2007. Obrada XML dokumenta koriš korišćenjem Proces obrade XML dokumenata DOM parsera koriš korišćenjem DOM parsera DOM parser PARSIRANJE APLIKACIJA .. Fakultet organizacionih nauka. .Comment <ime> ime>Petrovic Vuk</ Vuk</ime ime> > Element Element <status>redovan <status>redovan</status> </status> </student> ime status </studenti> • Metode za pristup i modifikaciju čvorova Text Text DOM stabla Petrovic Vuk redovan Fakultet organizacionih nauka.

2007. Fakultet organizacionih nauka. Proces obrade XML dokumenta korišćenjem Primer SAX parsera <?xml version=” version=”1. Fakultet organizacionih nauka.0 – • SAX MSXML 4.0 – MSXML 3. 2007. Obrada XML dokumenta koriš korišćenjem SAX model ( Simple API for XML ) SAX parsera • Event- Event-based based model (zasnovan (zasnovan na • SAX parser čita XML dokument kao stream.0” 1. stream.Microsoft XML Core Services (za verziju 4.0) • XSLT MSXML obezbeđuje još još i sledeć sledeće servise: • XSD • XSLT 1.0 • SAX • XPath Fakultet organizacionih nauka. parsera.NET-u: • Java – JAXP Java API for XML Processing .0”> <poruka> poruka> <pozdrav <pozdrav> >Dobar dan!</ dan!</pozdrav pozdrav> > </pozdrav </pozdrav>> PARSIRANJE Generisani SAX događaji: događaji: APLIKACIJA start document XML dokument SAX PARSER start element: poruka . događ događajima) ajima) Prilikom čitanja XML dokumenta. Verzija 1. 2007. Fakultet organizacionih nauka.sekvencijalan i DOGAĐ DOGAĐAJI start element: pozdrav .0) 4.Microsoft XML Parser (za verziju 3.0 2000 koji sadrž sadrže metode kojima se ti dogadjaji obrađ obrađuju Fakultet organizacionih nauka.XmlDocument mlDocument klasa obezbeđuje sledeć sledeće servise: . 2007.“forward only” pristup characters: Dobar dan! dan! ( svaki element se parsira naniž naniže sve end element: pozdrav do listova pre nego što se pređ pređe na sledeć sledeći element istog nivoa ) end element: poruka end document Fakultet organizacionih nauka. 2007.0) • DOM . 2007. 13 . Implementacija DOM modela Implementacija DOM modela • DOM parseri u MS .NET- . SAX parser generiš generiše dogadjaje dogadjaje kad god otkrije tag/atribut/tekst/instrukcija tag/atribut/tekst/instrukcija obrade i šalje • Razvijen od strane XML- XML-DEV grupe aplikaciji • Aplikacija obrađuje događaje generisane od • Industrijski standard strane parsera.0 1998 aplikacija implementira odgovarajuć odgovarajuće hendlere Verzija 2.

2007.Xsl XslTransform System. 2007.NET XML klase XML Schema System.ne kreira memorijsko stablo za reprezentovanje XML DOKUMENT SAX parser Content Handler XML dokumenta Aplikacija Error Handler . Fakultet organizacionih nauka.NET Framework- Framework-u MS implementacija implementacija W3C XML standarda W3C XML Standard .Schema XSLT System.sekvenicjalni pristup komponentama dokumenta (pristupa Fakultet organizacionih nauka.apache.NET Framework namespace .0 System.Xml .Path DOM System. 14 .Xml. 2007. Xerces (http://xml. Oracle XML Parser .Xml System. MSXML 4.0 ( Microsoft ) Fakultet organizacionih nauka. XML4J ( IBM ) koja sadrž sadrže veliki obim podataka . 2007.apache.Efikasan (veoma brz.Xml XmlSchema System. 2007.org)) izmena elemenata XML dokumenta . SAX – “push” push” model XML parsera SAX parser • Prednosti .Xml. Project X ( Sun ) • Obrada dokumenta sa prostom strukturom . Fakultet organizacionih nauka.NET XML klase XML 1.Xml XPath Path System. ušteda memorije) Push model XML parsera • Nedostaci Node Handler . Koriš Korišćenje SAX parsera Primeri SAX parsera • Kada se ne zahteva dinamič dinamički pristup i .Xml XmlDocument Fakultet organizacionih nauka. Fakultet organizacionih nauka. 2007.org (http://xml. MS implementacija W3C XML u .Xml.

2007. stream objekat ili TextReader • Čitanje i obrada podataka – Parsira XML dokument koriš korišćenjem • Read() metoda omoguć omogućava navigaciju kroz čvorove XML dokumenta Read() metode u While petlji Read() • obezbe obezbeđuje đuje nač načine za čitanje sadrž sadržaja dokumenata.NET Framework- Framework-u implemantacija Pull modela XmlReader zasnovana je na kursoru koji se koristi za prolaz kroz XML dokument – Pull model (interfejs) omoguć omogućava da aplikacija zahteva prolaž prolaženje kroz XML dokument i zatim selektovanje i pristup samo potrebnim čvorovima • Prednost Pull modela XmlTextReader XmlValidatingReader XmlNodeReader – Poboljš Poboljšava performanse XmlReader- XmlReader-a Fakultet organizacionih nauka. 2007.NET klase: XmlTextReader • Provera da li je XML dokument dobro- dobro. 2007. 2007. Fakultet organizacionih nauka. Obrada XML dokumenata u . forward- forward-only. Fakultet organizacionih nauka. 2007. . Pull& Pull&Push modeli parsera . 15 . Koriš Korišćenje XmlTextReader- XmlTextReader-a: oformljen – Ne proverava validnost • Istanciranje XmlTextReader objekta • Konstruktori omoguć omogućavaju čitanje XML iz razli različitih ulaznih izvora .NET Framework- Framework-u Pull& Pull&Push modeli parsera Pull model XML parsera Postoje dve opcije obrade XML dokumenata: XmlTextReader XML XmValidatingReader • Preko DOM- DOM-a koriš korišćenjem XmlDocument DOKUMENT XmlReader class Aplikacija XmNodeReader klase Push model XML parsera • Preko Pull modela koriš korišćenjem XmlReader klase. elemenata i atributa Fakultet organizacionih nauka.datoteka datoteka. 2007.NET klase: XmlTextReader klasa . Node Handler XML – Pull model je nov pristup za rad sa XML DOKUMENT SAX Content Handler Aplikacija dokumentima Error Handler Fakultet organizacionih nauka. Fakultet organizacionih nauka.NET XML klase: XmlReader klasa • Pull model ne formira za XML dokument memorijsko • XmlReader je apstraktna apstraktna klasa stablo (slič (slično kao i SAX) • Reprezentuje pull model XML parsera • Memorijski efikasan. read- read-only pristup • SAX je push model – dostavlja događaje aplikaciji koja ih obrađuje XML podacima • U . efikasan.

2007. Fakultet organizacionih nauka.NET XML: XML: klase: klase: XmlWriter • XMLWriter je apstraktna apstraktna klasa Programsko generisanje XML • Reprezentuje brzi. Fakultet organizacionih nauka.NET XML klase: klase: xmlTextReader XmlValidatingReader& XmlValidatingReader& XmlNode XmlNodeReader Reader • XmlValidatingReader obezbeđuje podršku za validaciju XML dokumenta u skladu sa DTD ili XSD • XmlNodeReader omogućava čitanje podstabla XML DOM stabla – Ne podržava validaciju Fakultet organizacionih nauka. strea stream. 2007. . efikasan XML writer TextWriter XmlWriter XmlTextWriter XmlNodeWriter Fakultet organizacionih nauka.) oad() – Save() 3) Izvrš Izvršavanje Write metode metode za generisanje XML • Izvedena iz XmlNode klase 4) Izvrš Izvršavanje close() metode Fakultet organizacionih nauka.NET XML: XML: klase: klase: XmlWriter . . m. forward- forward-only. 2007. 16 . . Fakultet organizacionih nauka.NET klase: klase: XmlTextWriter . 2007.NET XML klase: klase: XmlDocument Koriš Korišćenje XmlTextWriter- XmlTextWriter-a: • XmlDocument obezbedjuje podrš podršku W3C DOM modela – Reprezentuje XML dokument kao memorijsku 1) Istanciranje XmlTextWriter- XmlTextWriter-a (konstruktor) strukturu stabla 2) Postavljanje property- property-a (za formatiranje – Metode: – Load() itd. 2007. memorijski dokumenata u datoteku datoteku. 2007.

17 . 2007.Load ("Studenti. “pozdrav.InnerXml.Xsl namespace // konstruktor • transformiš transformiše ulazni XML dokument XmlDocument doc = new XmlDocument ().NET Klase: Klase: XslTransform klasa // kreiranje XslTransform objekta XslTransfrom transformacija = new XslTransform. Fakultet organizacionih nauka.xml").Transform(“pozdrav.ToString ()). koriš korišćenjem XSLT stylesheet- stylesheet-a // ucitavanje ucitavanje XML dokumenta dokumenta doc.NET Klase: Klase: XslTransform klasa • Koriš Korišćenje XmlDocument klase • System.xsl”). . // punjenje stylesheet doc transformacija.NET klase: klase: XmlDocument . – Transform Fakultet organizacionih nauka.xml ("Studenti.xml”.html”).Xml. . "). • Ključ Ključne metode // ispis sadrž sadržaj xml dokumenta – Load Console. Fakultet organizacionih nauka.WriteLine(doc.Load(“pozdrav. 2007. // transformacija transformacija. 2007.