Free Web space and hosting from dzaba.com
Search the Web

SveZaWeb : Sve za kreiranje Web-a : XML [Opis : Namena : Standard : Sintaksa : Lokalna manipulacija : Trasformacija]
SveZaWeb SveZaWeb SveZaWeb SveZaWeb SveZaWeb
SveZaWeb SveZaWeb SveZaWeb Web Design + Development Tutorials and Articles SveZaWeb EMail | Pretraga | Rečnik    
SveZaWeb
SveZaWeb SveZaWeb Razvoj SveZaWeb SveZaWeb Dizajn SveZaWeb SveZaWeb Kreiranje SveZaWeb SveZaWeb Panorama SveZaWeb SveZaWeb Usluge SveZaWeb Poslednja izmena: 18.03.2003. g.
SveZaWeb  HTMLCSS | XML | XHTML | HTAs | Web servisi  
Web Design + Development Tutorials and Articles SveZaWeb  Početna strana : Kreiranje
 XML
   
SveZaWeb SveZaWeb SveZaWeb SveZaWeb SveZaWeb

Sadržaj:

 

XML (eXtensible Markup Language) predstavlja sintaksu za kreiranje "markserskih" jezika (metadata), jezika koji opisuju podatke. Nastao je iz SGML (Standard Generaliyed Markup Language) internacionalog standarda (ISO) za kreiranje i korišćenje formata dokumenata sa ciljem da razdvoji podatke od procesa. SGML predstavlja daleko kompleksniji "markerski" jezik, koji nije našao svoju upotrebu, pre svega na Internetu, zbog svoje složenosti.

Šta je XML?

XML predstavlja podatke za opis podataka tj. sintaksu, u tekstualnom formatu. On je kreiran sa namerom da bude jednostavan za učenje, jevtin, brz i optimizovan za Internet. XML se naziva i eXcellent Marketing Language jer predstavlja:

  • Univerzalni format podataka
    XML omogućuje kreiranje sopstvenih formata podataka i njihovu razmenu preko postojećih mreža i aplikacija.

  • Integracija podataka
    XML vrši jednostavnu integraciju podataka kod već postojećih aplikacija i platformi.

  • Prilagodiv
    On je prilagodiv tj. razumljiv i za čoveka i za mašinu, primaoca i pošiljaoca, te predstavlja najupotrebljiviji standard za manipulaciju podataka i njihovu razmenu.

Svrha XML je da generiše sopstvene tagove, njihovo značenje i njihov prikaz. XML neradi ništa, on samo nosi informacije okružene XML tagovima. Znači, XML definiše strukturu dokumenata. On menja način na koji browser-i prikazuju, organizuju i pretražuju informacije. XML se može shvatiti kao osiromašena verzija SGML-a i proširiv je za razliku od HTML.

XML uklanja granice HTML-ovog ograničenog skupa oznaka, dozvoljavajući ljudima koji se bave rezvojem da definišu neograničen broj oznaka za opis bilo kakavih podatak. 

Namena 

XML je tu da opiše strukturu, integriše protokole između aplikacija, da razmenjuje podatke. XML je skup pravila koja omogućavaju kreiranje tekstalnog formata koji opisuje strukturu podataka (kao što su adresari, konfiguracioni parametri, finasijske transakcije itd.) 

XML opisuju podatke u tekstualnom formatu te omogućuje razmenu podataka nezavisno od sistema i formata podataka i predstavlja budućnost mrežnog programiranja. Veliku primenu ima u razmeni podataka, pogotov za komunikaciju client-server preko Interneta.

Pogledajmo gde je sve XML našao svoju primenu:

  • XML for Content Providers
    Istoj informaciji može se pristupati i čitati na različitim jezicima. Različit prikaz istih podataka mogu se prezentovati različitim korisnicima. Svaki XML dokument može da sadrži opis gramatike ili sintakse kako bi se moglo proveriti i ispravnost sadržaja.

  • XML for Content and knowledge management
    Pretraživanje, indeksiranje i lokacija podataka postaje jednostavnija pošto XML nosi informaciju o sadržaju, on je samo opisujući dokument. Trasformacija podataka iz XML omogućava prikaz na različite medije (Web, CD ROM, papir) bez nepotrebnih modifikacija i dupliranja sadržaja.

  • XML for Content Aggregation
    XML obezbeđuje da se informacije sa različitih mesta integrišu na jednom mestu i da se one prikupljaju na osnovu akcija krajnjeg korisnika. XML na taj način obezbeđuje vezu B2C preko B2B veze.

  • XML for Electronic Document Interchange
    XML omogućava kreiranje strukture za razmenu informacija kao i da objedini postojeće protokole i standarde.

  • XML and E-Commerce
    XML obezbeđuje sintaksu da indetifikuje svaku informaciju potrebnu za kompletnu transakciju. Drugi spoj je poverenje, jer XML omogućuje da se informacija o učesnicima u transakciji nosi zajedno sa transakcijom. Da bi se pratila promena tržišta potrebno je mnogo manje vremena i novca sa XML-om.

  • XML for Design
    Scalable Vector Graphic (SVG) predstavlja jezik za opis dvodimenzionalnih vektora pomoću XML-a. SVG-a omogućuje da svaki korisnik u realnom vremnu pristupa slici u bilo koje vrme i sa bilo kojim uređajem, sa bilo kog mesta.

XML omogućuje da strukturni podaci iz različitih izvora jednostavno kombinuju. XML dokument kao poruka je samobjašnjiv skup podataka, jer pored samih podataka koji su predmet poruke, XML dokument sadrži i meta podatke pomoću kojih se ti podaci mogu interpretirati. Programski agenti, mogu se koristiti da integrišu podatke u srednjem sloju servera iz baze za druge aplikacije. Ovi podaci mogu da se prenose klijentima ili drugim serverima za dalju agregaciju, procesiranje ili distribuciju.


Prvi Web browser koji omogućuje pregled XML -a je Internet Explorer 5.0+, a Netscape podržava XML specifikaciju od verzije 6 svog browsera.


Fleksibilnost XML-a omogućava da se opišu podaci sadržani u širokom krugu različitih aplikacija, od opisa web strane do polja baze podataka. 

Standard 

Mogućnost da se podaci odvoje od procesa predstavlja ključ uspeha XML-a. XML je otvoreni standard, te omogućava da XML funkcioniše na bilo kojoj platformi sa bilo kojim programskim jezikom. Veliki broj programskih jezika omogućuje rad sa XML-om poput Jave, MS Visual Basica, MS Visual C++, Perl, Cobol i C#.

Pomoću XML mogu se napisati i novi jezici. WML (Wieless Markup Language), koristi se za kreiranje Internet aplikacija u mobilnim telefonima, i napisan je u XML-u.

XML je nezampamćenom brzinom postao standard, zbog svoje jednostavnosti.

  • XML 1.0 , je usvojen kao W3C Recommendation u februaru 1998. i predstavlja sintaksu definisanu po W3C specifikaciji. 

Takođe W3C omogućava progrmiranje efikasinijim, kreirajući familiju tehnologija koje podržavaju XML kao što su:

  • XML Schema, takođe predstavlja XML dokument, omogućava modularnost jer kreira strukturu i opis samih XML dokumenta. Jednostavno kombinuje više različitih šema koje pokriva i sjedinjava strukturu dokumenta. Znači, nasleđuj se pravila sa drugih šema. Nastale su kao alternativna zamena DTD-a (Document Type Definition), pošto DTD nije bio XML dokument. XMl šeme obezbeđuju podršku za standardne tipove podataka kao što su broj,datum,... i omogućuju definisanje novih tipova.
     

  • Namespace , eleminiše konfuziju prilikom kombinovanja više šema u jednom XML dokumentu. On upućuje XML procesor da pronađe strukturna pravila (definisanih u šemi) koji se primenjuju na sam dokument. U slučaju kada u dokumentu koristimo dva eksterna dokumenta koji poseduju isti naziv a različito značenje elemenata koristimo namespace, kako bi ukazali na koje se elemente odnose i koje značnje poseduju. Namespace ukazuje na šemu koja sadrži informacije o dokumentu koji se koristi.
     

  • XSLT/xPath vrši transformaciju sadržaja XML dokumenta u bilo šta, najčešće HTML, omogućavajući na taj način razdvajanje podataka od prezentacije.

Sintaksa

XML jednsostavno omogućuje kompjuteru da generiše, čita i proverava validnost podataka. XML je prihvatljiv za svakog čoveka.

XML I HTML koriste <,>  za kreiranje elementa i atributa strukture. Znači, sve što je unutar < i > se podrzumeva kao element, koji se parsira (prevodu u odgovarajuću akciju) a sve između <> i </> se tretira kao običan tekst tj. sadržaj. Svaki elemnt koji se otvori mora biti zatvoren. Elementi se ne mogu preklapati, jer u suprotnom došlo bi do zaustvljanja prikaza dokumenta za razliku od HTML browser-a, koji će jednostavno preskočiti tu grešku.

Primer_1 : Ispravno pisanje XML dokumenta
Ispravno Ne ispravno Ne ispravno
<RODITELJ> 
<DETE> 
Sadržaj. Sadržaj. 
</DETE> 
</RODITELJ> 
<RODITELJ>
<DETE> 
Sadržaj. Sadržaj. 
</RODITELJ> 
</DETE>
<DETE> 
<RODITELJ> 
Sadržaj. Sadržaj.
</DETE> 
</RODITELJ>

Prvi tag u XML dokumentu se naziva "root" element, on je roditelj za sve ostale elemente. Svi XML dokumenti moraju da imaju "root" element, tj. glavni tag koji definiše sam XML dokument. Svi ostali tagovi moraju biti u okviru "root" elementa. Ostali elementi mogu da imaju svoju decu, deca moraju biti ispravno ugnježđeni sa svojim roditeljima, kao u prethodnom primeru.

Nazivi elementa su CASE SENSITIVE tj. osetljivi su na mala i velika slova, tag <poruka> je raličit od taga <Poruka>.

Ako element nesadrži nikakav sadržaj mora početi sa < i završiti sa /> poput <EMPTY/>.

Primer_2: Jednostvan XML dokument
<?xml version="1.0" encoding="UTF-8"?>
<!--trikovi last updated 2001-01-01-->
<trikovi>
  <css>CSS <quote>level 1</quote></css>
  <brovseri><quote>IE,NS</quote></brovseri>
  <uspesno/>
</trikovi>

Po XML deklaraciji koju sprovodi W3C svaki XML dokument započinje sa: <?xml ...?>. Koji u suštini definiše verziju XML u kome je napisan. Deklaracija može da sadrži i encoding atribut za definisanje kodnog rasporeda i standalone deklaraciju koja govori da dokument zavisi od informacija iz eksternog izvora kao npr. eksterni DTD. XML deklaracija nema završni tag, zato što to nije deo samog XML dokumenta niti je XML element, pa ne treba da ima završni tag.

Sledeća linija tj. <trikovi> opisuje "root element" dokumenta tj. on govori da je ovaj  dokument nosi informacije o trikovima. Ostale linije predstavljaju decu za element <trikovi> a suvišan prazan prostor "WHITE SPACE", XML preskače kao u HTML-u.

Prazni elementi poput u primeru: (<uspesno/>) jednostavno mapiraju gde se element nalazi. Prazni elementi mogu da budu zadati i u sledećoj sintaksi <uspesno></uspesno>.

Nema ništa specijalno u vezi XML, to je jednostavni tekstualni dokument kome su dodati XML tagovi. Programi koji mogu da rade sa običnim tekstom mogu i sa XML-om. U njima XML tagovi su vidljivi i neće biti obrađivani. Dok u aplikacijama koje rade sa XML-om, tagovi mogu da se obrađuju, i mogu da imaju značenje zavisno od prirode programa.

Najvažniji delovi XML dokumenta predstavljaju elementi i atributi.

Elementi

Elementi određuju prirodu sadržaja kojeg opkružuju. XML elementi nisu definisani, vi morate definisati sopstvene XML elemente. Pomoću njih se određuje strktura dokumenta i omogućava njihovo programiranje i vizualnu predstavu pomoću stilova. Neki elementi mogu biti prazni i nemoraju da poseduju sadržaj. Svaki element započinje sa početnim tagom <element>, i završava se sa krjanjim tagom, </element>.

Pogledajmo primer XML-a: Ukoliko imamo program koji može da obradi elemente <od>, <za>, i <telo> iz XML dokumenta da proizvede izlaz kao:
<poruka id="1">
<od>Meni</od>
<za>Njega</za>
<telo>Poseti me opet!</telo>
</poruka>
1.PORUKA 
Od: Mene
Za: Njega

Poseti me opet!

Jednostavnim dodavanjem novog elementa u XML neće narušiti njegovu funkcionalnost.
Program će i dalje biti u stanju da obrađuje elemente koje smo prethodno definisali i ako smo dodali nove elemente. XML JE PROŠIRIV!

Atributi

Atributi predstavljaju parove ime-vrednost koji se nalaze unutar početnog elementa, odmah posle imena elementa. Vrednosti atributa moraju biti uvek pod navodnicima. Najčešće se upotrebljavaju dvostruki navodnici, zato što nekad i same vrednosti atributa sadrže navodnike pa u tim slučajevima koristimo jednostruke navodnike. Primer:

<city name="NEW YORK 'BIG APPLE'">23.000</city>

Primer sadrži element sa nazivom city koji opet sadrži atribut sa nazivom name koji ima vrednost NEW YORK 'BIG APPLE'. 

Atributi najčešće obezbeđuju informacije koje nisu deo podataka na primer atribut ID koji smo koristili u prethodnim primerima nije deo sadržaja elemenata ali programima koji obrađuju te elemente su mnogo važni.

Podaci mogu da budu smešteni i u atribute ili elemente. Nema neko generalno pravilo ali treba izbegavati da se koriste atributi za smeštanje podataka. Naročito kada dodje do promene elemenata teško je menjati i atribute.

Evo nekoliko razloga za izbegavanja atributa:

  • Atributi se teže proširuju i menjaju

  • Atributi ne mogu da opišu strukturu

  • Atributi se mnogo teže manipuliše

  • Vrednosti atributa nije lako proveriti

Koristite elemente da opište podatke dok atribute samo kad treba ali samo kad treba da nose informaciju koja nije povezana sa samim podacima. Najčešći primer upotrebe atributa je korišćenje jednostavnog identifikator npr. ID koji nema veze sa podacima, ali omogućava lakši pristup elementima kao u HTML kada koristimo ID ili NAME atribute.

XML DOKUMENT

Između elemenata i njihovog sadržaja postoji veza. Zamislimo da nam je potreban XML dokument koji će da opiše npr. sajamske manifestacije. Znam i meni je to strano! Ukoliko si uspeo da pročitaš dovde super je, a sad idemo dalje. Spisak sajmova za našu zemlju može da izgleda ovako:

SPISAK SAJMOVA U JUGOSLAVIJA ZA 2001.

Beogradski sajam

12.06 - 12.06
XX MEDJUNARODNI SAJAM VINA, OSTALIH PIĆA I PREHRAMBRENO-POLJOPRIVREDNIH PROIZVODA - "MESVIPP" 
.....
Novosadski sajam

12.09 - 12.09
XII MEDJUNARODNI SAJAM POLJOPRIVREDE
.....

Na osnovu toga možemo napraviti i XML naprimer ovako :

<fairs id="000004">
   <country>YU</country>
   <foryear>2001</foryear>

   <fairorg id="0000001" name="Beogradski Sajam">
      <fair id="000001">
        <fairnumber>XX</fairnumber>
        <fairname>MEDJUNARODNI SAJAM VINA, OSTALIH PIĆA I PREHRAMBRENO-POLJOPRIVREDNIH PROIZVODA 
          <fairacronym>MESVIPP<fairacronym>
        </fairname>
       <fairlink></fairlink>
       <fairdate>
         <datestart>12.06</datestart>
         <dateend>16.06</dateend>
       </fairdate>
      </fair>
   </fairorg>
   <fairorg id="0000001" name="Novosadski Sajam">
      <fair id="000001">
       <fairnumber>XII</fairnumber>
       <fairname>MEDJUNARODNI SAJAM POLJOPRIVREDE
         <fairacronym>MESP<fairacronym>
       </fairname>
       <fairlink></fairlink>
       <fairdate>
         <datestart>12.09</datestart>
         <dateend>16.09</dateend>
       </fairdate>
      </fair>
   </fairorg>

   ...

</fairs>

Root element je fairs, dok su country i fairorg deca od fairs i predstavljaju sestre (siblings) zato što imaju istog roditelja. Kao što vidimo iz prethodnog primera, elementi mogu da imaju različite sadržaje. Sam element može imati druge element ili da sadrži i sadržaj i elemente ili da bude prazan kao i da sadrži atribute. 

Takodje u prethodnom primeru vidimo da element fairorg ima atribute id i name.

Prilikom imenovanja elemeta moramo se voditi sledećim pravilima:

  • Ime može da sadrži slova, cifre i ostale znakove 

  • Imena nesmeju da započinju sa brojem ili drugim znakovima 

  • Imena netreba da započinju sa slovima xml (ili XML ili Xml ...) 

  • Imena nesmeju da sadrže prazan razmak

Prilikom kreiranja imena vodite se sledećim pravilima:

  • Sve može da se koristi u nazivu elementa ali naziv treba da opiše sadržaj koji nosi. Primer: <fair_org>, <fair_name>.
     

  • Izbegavajte znakove "-" i "." u imenima, jer podsecaju na kod u nekom programskom jeziku.
     

  • Nazivi mogu da budu veliki koliko god želite, ali trudite se da smanjite na najmanju moguću meru umesto <fair_date_start> možete koristiti jednostavnije <date_start>. 
     

  • Znak ":" se ne koristi pošto je rezervisan za namespaces, za refernciranje šema pomoću kojih je opisan sam XML dokument.

XML dokumenta najčešće oslikavaju baze podataka, pa koristite nazive polja u bazi za nazive elemenata. Dobra prakasa je korišćenje pravila kod kreiranja imena u bazi podataka i kod XML dokumenata.

I naša slova mogu da se koriste poput ćčđšž ali ne bih preporučio, koristite engleski jezik za imenovanje XML elemenata.

Referenciranje Entiteta

U XML entiteti se koriste da reprezentuju specijalne znake, takođe se koriste da zamene često korišćene tekstove koji se ponavljaju. Naprimer znak, < , označava početni tag elementa ili krajnji, da bi se mogao isti taj znak koristi u dokumentu potrebno je alternativno rešenje za njihovu reperezentaciju a to su entiteti.

Svaki entitet mora imati jedinstveno ime. Definisanje sopstvenih enititeta možete pronaći na deklaraciji entiteta. Entiteti se koriste prostim referenciranjem na njihovo ime, oni započinju sa & a završavaju se sa ;.

Primer: lt enitet ubacuje znak < u dokument. Tako da string <element> može se predstaviti u XML dokumentu kao &lt;element&gt;.

Referenciranjem karaktera, u mogućnosti ste da ubacite Unicode karaktere u dokument pričemu se on ne unosi direktno preko tastature.

Postoje dve forme referenciranja karaktera: decimalna refernca, &#8478;, i heksadecimalna referenca, &#x211E;. I jedni i drugi referncirauju ka karakteru čiji je broj u Unicodu karakter setu: U+211E.

Komentari

Komentari su kao u HTML-u, počinju sa <!-- i završavaju sa -->. Oni sadrže sve podatke sem -- i postvljaju se na bilo kojem mestu u dokumentu. Komentari nisu deo tekstualnog sadržaja XML dokumenta.

Lokalna manipluacija

Pošto se podaci dostave klijentu, mogu se lako obrađivati lokalno pa se svaka manipulacija sa podacima prebacuje kod klijenta. Čime se poboljšavaju performanse servera pošto nije potrebno skakati na server pri svakoj obradi podataka, pošto se svako obrada premesta kod klijenta. Na ovaj način stvoren je moćan mehanizan sa interakciju sa korisnikom u offline režimu. 

DOM (Document Object Model) obezbeđuje interfejs za učitavanje, pristup i manipulaciju XML dokumentom. W3C DOM Level 1 Specification, sadrži standardni set osobina, metoda i događaja koje treba da sadrži objekat koji vrši manipulaciju sa XML-om. XML DOM omogućava jednostavan rad sa XML-om pomoću raznih programskih jezika. 

MSXML parser

Micorosoft-ova implementacija DOM-a podržava W3C standard ali je i proširen kako bi se obezbedio lakši rad sa XML dokumentom. Microsfot isporučuje svoj XML DOM objekat u okviru svog XML parsera MSXML u Internet Explorer 5, MS Office 2000, Win 2000, Win XP ... 

MSXML DOM obezbeđuje reprezentaciju kompletnog XML u memoriji sa strukturom drveta, omogućavajući slučajn pristup sadržaju celog XML dokumenta.

Parser je neutralan u odnosu na programske jezike koje podržava: JavaScript, VBScript, Perl, VB, Java, C++ ... 

Parser omogućava skriptovanje i kod klijenta i na serveru u okviru ASP fajlova. MSXML parser je COM (Component Object Model) objekat, tako da se može korstiti u bilo kojoj aplikaciji koja koristi COM. Može mu se pristupiti kao ActiveX kontroli u okviru browser-a.

XML DOM se neprekidno unapređuje, pa na vašoj mašini možete naći mnogo verzija XML parsera tipa xmldom.dll na Vašem računaru. Ako koristite MSXML.DOMDocument onda koristite verziju 2.5 dok MSXML.DOMDocument30 omogućava pristup verziji 3. Kada instalirate svežu verziju MSXML parsera, potrebno je da startujete program xmlinst.exe kako bi se registrovala zadnja verzija parsera. 

Ako koristite JavaScript u IE 5.0, možete kreirati XML objekat:

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") 

Ako koristite VBScript:

set xmlDoc = CreateObject("Microsoft.XMLDOM")

Ukoliko koristite VBScript u okviru Active Server Page (ASP):

set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")

Kada MSXML parser učita XML dokument u DOM, on čita od početka do kraja kreirajući logičan model strukture i sadržaja XML dokumenta.

<script>
//Kreiranje instace na XML parser
var objDoc = new ActiveXObject(“Microsoft.XMLDOM”);

//Ansihrono ucitavanje
objDoc.async = false;

//Ucitavanje XML-a iz stringa u parser
objDoc.loadXML(“<msg>ZDRAVO SVETE</msg>”)

//Provera validnosti XML-a
if (objDoc.parseError.errorCode==0){
  //Pristup root elementu XML-a
  var root = objDoc.documentElement;
  
  //Prikaz vrednosti root elementa
  alert(root.text);
}
else {
  
 //Ukoliko je doslo do grese prikazi je
 alert(“Greska:”+objDoc.parseError.reason);
}
</script>

Na sličan način može se učitati iz eksternog fajla XML:

<script> 
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 

xmlDoc.async="false";

xmlDoc.load("myXML.xml");

// ....... procesiranje 

</script>

Iz prethodna dva primera vidimo da se XML dokument može učitati na dva načina iz stringa i iz fajla refernciran URL-om.

async - Ova osobina omogućava setovanje pristupa XML dokumentu. Ako se setuje na false tada se ne može primeniti ni jedna akcija nad XML dokumentom dok se ne učita. Njena inicijalna vrednost je true. 

Pri većim XML dokumentim potrebno je asihrono učitavanje pa se primenom onreadystatechange obrade dogadjaja može proveravati dali se dokument učitao ili ne primenom readyState osobine koja proverava status učitavanja.

Vrednosti koje vraća readyState osobina:

  1. LOADING
    XML se učitava 
     

  2. LOADED
    XML je učitan i započeto je parsiranje 
     

  3. INTERACTIVE
    Neki delovi su parsirani i objektni model XML-a je sada na raspolaganju 
     

  4. COMPLETED
    Dokument je obrađen uspešno ili neuspešno 

<script>
function handleReadyState()
{
if (xmlDoc.readyState == 4)
{
//... Procesiranje .... 

//Pristup root elementu XML-a
var root = objDoc.documentElement;

//Prikaz vrednosti root elementa
alert(root.text);

//Prikaz naziva root elementa
alert(root.nodeName);

}
}

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 

xmlDoc.load("myXML.xml");

xmlDoc.onreadystatechange = handleReadyState; 

</script>

Validnost XML dokumenta provervamo pomoću parseError objekta koji ima sledeće osobine :

  • errorCode
    Broj greške u decimalnom formatu, ukoliko je 0 nema greške 
     

  • url
    URL (Link) ka XML fajlu gde se desila greška 
     

  • reason
    Razlog greske 

  • srcText
    Pun tekst linije gde se desila greška 
     

  • line
    Broj linije gde se desila greška 
     

  • linepos
    Pozicija karaktera u liniji gde se greška javila 
     

  • filepos
    Absolutna pozicija karaktera u fajlu gde se greška javila 

Kada porverimo validnost dokumenta pomoću parseError objekta možemo da manipulišemo podacima. 

Osobine pomoću kojih možemo pročitati vrednost i naziv XML elementa su text i nodeName. Ove dve osbine rade na bilo kom elementu XML dokumenta.

Atributi nekog elementa se smeštaju u kolekciju - niz koji je indeksiran prema nazivu atributa.

aid = root.attributes.getNamedItem("id");

if ( aid != null ) resultId = aid.nodeValue; 

Pristup elementima XML-a

<xml version="1.0"><root><one>1</one><two>2</two></root>

ele = root.childNodes;

for ( i = 0; i < ele.length; i++) 
{
   result += ele.item().text;
}

Vrednost promenljive result je 12;

Postoji i alternativni metod za pristup elemntima, Microsoft je implementirao dva metoda:

  • selectNodes(query) 
    Vraca listu nodova refrenciranih pomocu atributa query. 
     

  • selectSingleNode(query)
    Vraca jedan nod referenciran pomocu atributa query 

Query atribut sadrži putanju ka elementu u XML dokumentu, definisan po W3C xPath specifikaciji, ako je XML dokument glasio:

<xml version="1.0"><root><one>1</one><two>2</two></root>

Tada da bi pristupili elementu two u XML dokumentu koristimo upit: //root/two

result = root.selectSingleNode("two").text;
//ili
result = xmlDoc.selectSingleNode("//root/two").text; 

Ukoliko koristite ASP.NET i C#, obrada XML-a na serveru isto koristi DOM:

using System.Xml;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("myfile.xml");
XmlNode rootNode = xmlDoc.DocumentElement;
XmlNodeList oNodeList = rootNode.ChildNodes;
for (int i=0;i<oNodeList.Count;i++) 
{ ...procesiranje nodova... }

Data Islands

U Microsoft Internet Explorer 5.0 predstavljena su ostrva podataka koja omogućuju ubacivanje XML u HTML, W3C očekuje u sledećoj specifikaciji HTML da uključi ubacivanje XML u HTML dokument. XML tag je prisutan u DOM-u. Prisutupom root elementu pomoću DOM-a u XML tagu omogućeno je upravljanje ovim XML-om.

<head>
<xml id=“xmlID”>
<XMLDATA>
<DATA>TEXT</DATA> 
</XMLDATA>
</xml>
<script>
var objXml = xmlID.XMLDocument;
var data = objXml.documentElement.childNodes.item(1).text;
alert(data);
</script>
</head>

//ili

<XML SRC="http://localhost/xmlFile.xml"></XML>

MS XMLHTTP

XMLHTTP objekat kreiran je sa namerom da se obezbedi pristup sa klijentske strane serveru pomoću XML-a kroz HTTP protokol. Na taj način obezneđena je tehnologija koja omogućava mikro izmene, tj. prilikom izmene podataka u XML-u, nije potrebno da se cela struktura XML-a šalje na server da bi se registorvala izmena. 

Dovoljno je poslati samo podatak ili manji skup podataka koji je izmenjen. Pri tome izmenjeni elementi ostaju kod klijenta bez potrebe da se ponovo zahtevaju novi podaci sa servera, time se smanjuje saobraćaj na serveru. 

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 

xmlhttp.Open("POST", “https:\\www.24x7.com.mk\service\get.asp”, false);

xmlhttp.Send(objXml); 

objXml = xmlhttp.responseXML; 

alert (objXml.documentElement.text);

a ASP strana na serveru https:\\www.24x7.com.mk\service\get.asp

<%@ language=javascript %>
<% 
Response.Expires = -1000;
// Ucitava XML 
var doc = Server.CreateObject("Msxml2.DOMDocument");
doc.load(Request);
var result = Server.CreateObject("Msxml2.DOMDocument");
// Procesiranje i vracanje obradjenog XML dokumenta
Response.ContentType = "text/xml";
result.save(Response);
%>

Transformacija

XSLT - eXtensible Stylesheet Language: Transforamtions je jezik za transformaciju XML, on transformiše strukturu XML dokumenta. XSLT sadrži komande kao kod tradicionalnih programskih jezika kao što su promenljive, fukncije, iteracije i provera uslova. 

XPath je jezik za pristup strukturi XML dokumenta, tj. predstavlja izraze koji mogu da sadrže putanje ka elementima u XML dokumentu, pozive funkcija, refrence na promenljive, poređenja, matematičke operacije itd. Koristi se zajedno sa XSLT da se odabrao jedan ili skup elementa iz XML koji se želi transformisati.

XSLT omogućava:

  • Razdvajanja sadržaja od prezentacije
    Razdvajanje vršimo kao bi mogli da iste informacije prikažemo na različitim uređajima, u različitim bojama, različitim oblicima itd.. Najčešće se upotrebljava za transformaciju XML u HTML.
     

  • Razmenu podataka između aplikacija
    XSLT jednostvno trasformiše i XML u XML, kako bi uskladili protokole i integrisali različita rešenja. XML možemo da transformišemo u bilo šta. 

Kada se podaci jednom prebace na desktop, moguće je generisati prikaz u raznim formama. HTML opsuje prikaz podatak dok XML same podatke. Kombinujući HTML i XML dobijamo različite prikaze podataka npr. lokalni podaci mogu se prezentovati dinamički u zavisnosti od konfiguracije klijenta, korisničkih podešavanja i drugih kriterijuma.

Zaključak

XML je moćno oružije koje vam može omogućiti jednostavan život. Svi veliki igrači poput IBM, Microsoft-a prihvatili su XML i na scenu stupaju mnogi proizvodi, usluge i ko zna šta još. Budite i vi deo toga, XML je sadašnjost.

Slične teme

Resursi

  SveZaWeb : Web Design + Development Tutorials and Articles
Izdvajamo
XML opisuju podatke u tekstualnom formatu te omogućuje razmenu podataka nezavisno od sistema i formata podataka i predstavlja budućnost mrežnog programiranja. Veliku primenu ima u razmeni podataka, pogotov za komunikaciju client-server preko Interneta.

Slične teme

Prijavite se na naš informator
 
SveZaWeb Informator
Unesite vašu email adresu i kliknite na sliku.  

Powered by groups.yahoo.com

[ Informator SveZaWeb ]

»» Preporuči prijatelju

»» Upišite komentar

»» Knjiga otisaka

Pomoć!

Trudimo se da SveZaWeb bude koristan i ispravan, međutim uvek postoje greške, molimo Vas da nam pomognete kako bi ih ispravili.

Ova prezentacija je još uvek statička, nisam u stanju tehnički da izvedem kompletno svoju zamisao. Veoma mi je žao što zbog toga trpi naša interakcija.

Zamolio bih Vas da ako želite pošaljete vaša iskustva u razvoju, dizajnu i populaciji Web-a. 

Ukoliko imate primedbe, sugestije ili želite da učestvujete u izgradnji ovog sajta, javite se : webmaster@
svezaweb.dzaba.com

 


  Copyright 1998 - 2003 (c) SveZaWeb. Sva prava zadržana. Politika privatnosti. SveZaWeb Najbolji pregled u 800*600 sa najpopulanijim browser-ima  
SveZaWeb SveZaWeb SveZaWeb SveZaWeb SveZaWeb
 Razvoj   Dizajn   Kreiranje   Panorama   Usluge