Za prijenos se koristi Xml. XML datoteka: što je to i kako je otvoriti? Što je to XML format, čemu služi i gdje se koristi

U operacijskoj sali Windows sustav Većina programa pohranjuje svoje postavke u registar. Međutim, posebne datoteke također se često koriste za pohranjivanje parametara aplikacije, obično smještene izravno u direktorije s izvršne datoteke ili u podmapama. Konfiguracijske datoteke mogu imati različite formate, uključujući XML format, koji je predmet ovog kratkog članka.

Što je to XML format, čemu služi i gdje se koristi

Istina, ciljevi zbog kojih je stvoren XML format (pojavio se 1996.) bili su, da tako kažemo, globalni. XML ili eXtensible Markup Language, što se prevodi kao "proširivi označni jezik", razvijen je kao sredstvo za pružanje interoperabilnosti za prijenos strukturiranih podataka između različitih programski sustavi, posebno onih koji se koriste na internetu. Ovaj jezik je toliko univerzalan da XML datoteke razumiju čak i nekompatibilne aplikacije različitih operativnih sustava, što, naravno, uvelike pojednostavljuje zadatak programera da razmjenjuju informacije između softverskih platformi.

Osim toga, XML se aktivno koristi u dizajnu web stranica. Ponekad se promovira kao napredniji i svestraniji analog HTML jezika za označavanje hiperteksta, ali ti jezici zapravo služe različitim svrhama. HTML je prvenstveno odgovoran za prikaz podataka, dok je XML dizajniran za prijenos i pohranu tih podataka. XML se također koristi za stvaranje novih internetskih jezika. Inače, mnogima poznati RSS, koji se koristi u distribuciji putem kanala vijesti, temelji se upravo na XML-u.

Programi za otvaranje i pregled datoteka u XML formatu

Shvatili smo kakav je ovo XML format, a sada da vidimo kako s njim raditi. Zapravo, s potrebom za uređivanjem XML datoteka obično se suočavaju programeri i administratori sustava, ali ipak pretpostavimo da se ista potreba javila i vama. Kako otvoriti XML datoteku? Općenito, možete ga pregledati s bilo kojim uređivačem teksta, čak i Notepadom, ali mnogo je prikladnije koristiti posebne programe za te svrhe.

Notepad++

Ako tražite nešto čime biste otvorili XML, pokušajte Notepad++– univerzalni uređivač teksta dizajniran za izradu i uređivanje koda. Lagan, brz i jednostavan, idealan je za rad sa svim vrstama konfiguracijske datoteke. Uređivač podržava označavanje sintakse, mijenjanje kodiranja, postoji moćna ugrađena pretraga raznih parametara, jednom riječju, sve što programer, a ne samo on, treba.

XMLPad

Za razliku od Notepada++, XMLPad je visoko specijalizirani urednik. To je upravo ono što možete i trebate koristiti za otvaranje XML formata, jer je stvoren posebno za rad s datotekama ove vrste. Uz pregled i uređivanje XML dokumenata, uređivač XMLPad podržava provjeru valjanosti i pregled dokumenata, pretvorbu u DTD, uvoz podataka iz HTML-a i još mnogo toga. Kao što se i očekivalo, aplikacija ima podršku za sintaksu i alat za pretraživanje i zamjenu. Jedna od značajki programa je prisutnost ugrađenog mini-preglednika za otvaranje URL veza.

Za one koji se ozbiljnije bave učenjem web jezika nudimo napredan, a istovremeno jednostavan i praktičan XML editor na Java platformi. Program podržava stvaranje i uređivanje XML, XSL, XSD i DTD datoteka, također ima ugrađeni pretvarač u skripte, XSLT i XQuery debugger, alate za rad s vizualnim XML dijagramima i mnoge druge komponente. Nedostaci - program se plaća i ne podržava ruski jezik.

XML marker

Dobar način za otvaranje XML datoteke je korištenje jednostavnog uređivača XML marker. Nije tako sofisticiran kao Oxygen XML Editor, ali se dobro nosi s većinom zadataka s kojima se korisnik suočava pri radu s XML datotekama. Postoji prikaz strukture stabla dokumenta s mogućnošću brze navigacije do odabranih redaka pomoću oznaka, prikladne navigacije i punog skupa alata za rad s tekstualnim podacima. Nedostatak programa je što nema ruskog jezika.

Preglednici

Postoji još jedan najjednostavniji način, kako čitati XML datoteku, međutim, ovdje govorimo samo o čitanju. Otvori u Google Chrome ili bilo koji drugi preglednik Nova kartica i povucite XML datoteku u prozor preglednika. Dokument će biti prezentiran u strukturiranom obliku, s istaknutom sintaksom, sve kako treba.

Pregledajte XML datoteke na mreži

S XML dokumentima možete raditi ne samo pomoću programa za stolna računala; također je jednostavno otvoriti XML na mreži. Evo dva jednostavna mrežna uređivača koja možete razmotriti.

XmlGrid

Jednostavan, ali vrlo funkcionalan mrežni uređivač XML datoteka, dostupan na xmlgrid.net. Servis podržava kreiranje, modificiranje, provjeru valjanosti i konverziju XML dokumenata, a dodatno ima funkciju dizajniranja mapa web stranica. Kod uređene datoteke može se zalijepiti u web obrazac iz međuspremnika, putem URL-a ili učitavanjem samog dokumenta na poslužitelj. Sadržaj datoteke prikazuje se kao podatkovna tablica u kojoj je svako polje zasebna ćelija.

XML UREĐIVAČ

Također možete otvoriti XML datoteku na mreži koristeći mrežni XML EDITOR, koji je dio paketa aplikacija TutorialsPoint, jednog od najvećih resursa za učenje. Da biste koristili uslugu, idite na www.tutorialspoint.com, kliknite na poveznicu "Alati" na vrhu stranice, pronađite XML EDITOR na popisu web aplikacija i otvorite ga. Vidjet ćete jednostavan prozor uređivač teksta sa dva stupca. Lijevi je mjesto gdje se kod piše i uređuje, a desni prikazuje strukturu stabla dokumenta. Datoteku možete prenijeti u uređivač sa svog računala ili s bilo koje web stranice tako da navedete URL.

Jezik XML već je privukao dosta pozornosti programera i korisnika Interneta. Danas broj pristaša ove nove tehnologije raste jednako brzo kao i broj izvješća o sljedećim preprekama koje je svladala na putu sveopćeg priznanja. Unatoč činjenici da je XML vrlo mlad (međunarodna organizacija W3C odobrila je specifikaciju "Extensible Markup Language (XML) 1.0" prije nešto manje od godinu dana - početkom veljače 1998.) i da su pojedine komponente ovog jezika još uvijek u doradi, novi već se danas pojavljuju jezici, stvoreni na temelju XML-a, pojavljuju se brojni web poslužitelji koji ovu tehnologiju koriste za organiziranje informacija pohranjenih na njima. Internetski svijet oko nas ponovno se transformira, a sudionici tog procesa možemo postati već danas

Svrha ovog članka je na konkretnim primjerima pokušati prikazati neke od mogućnosti XML-a te odgovoriti na brojna pitanja koja se često javljaju pri upoznavanju novog jezika. Što je XML? Koje su njegove prednosti u odnosu na HTML jezik koji nam je već poznat? Možete li danas koristiti XML na svojim web stranicama? A ako je moguće, kako onda?

Na kraju članka nalaze se poveznice na druge internetske resurse, uz pomoć kojih također možete dobiti potpunije informacije o specifičnim pitanjima koja vas zanimaju vezana uz korištenje XML-a, a koja nisu obuhvaćena ovim člankom. Potpune specifikacije za XML i srodne jezike dostupne su na službenoj W3C stranici -

Za što je to potrebno novi jezik oznake?

Mnogo jednostavniji i praktičniji od SGML-a, HTML jezik vam omogućuje određivanje dizajna elemenata dokumenta i ima određeni ograničeni skup uputa - oznaka, uz pomoć kojih se provodi proces označavanja. HTML instrukcije prvenstveno su namijenjene kontroli procesa prikaza sadržaja dokumenta na ekranu klijentskog programa i time određuju način prikaza dokumenta, ali ne i njegovu strukturu. Element hipertekstualne baze podataka, opisan HTML-om, je tekstualna datoteka koja se lako može prenijeti preko mreže koristeći HTTP protokol. Ova značajka, kao i činjenica da je HTML otvoreni standard i ogroman broj korisnika ima priliku koristiti mogućnosti ovog jezika za dizajn svojih dokumenata, svakako je utjecala na rast popularnosti HTML-a i učinila ga danas glavnim mehanizam za predstavljanje informacija na webu

Međutim, moderne aplikacije zahtijevaju ne samo jezik za prezentaciju podataka na zaslonu klijenta, već i mehanizam koji vam omogućuje određivanje strukture dokumenta i opisivanje elemenata koje sadrži. HTML ima jednostavan skup naredbi i prilično se uspješno nosi sa zadatkom opisivanja tekstualnih informacija i njihovog prikazivanja na zaslonu preglednika preglednika. Međutim, sami prikazani podaci nisu ni na koji način povezani s oznakama koje se koriste za oblikovanje, tako da programi za raščlanjivanje nemaju mogućnost korištenja HTML oznaka za pronalaženje dijelova dokumenta koji su nam potrebni. Oni. naišavši npr. na takav opis

ruža,

gledatelj će znati kojom bojom prikazati tekst sadržan unutar oznaka i vjerojatno će ga ispravno prikazati, ali apsolutno je svejedno gdje se u dokumentu ova oznaka nalazi, u kojim drugim oznakama je trenutačni fragment zatvoren, postoje li fragmenti ugniježđeni u njemu ili jesu li odnosi između objekata izgrađeni ispravno. Ova "ravnodušnost" prema strukturi dokumenta dovodi do činjenice da se pretraživanje ili analiza informacija unutar njega neće razlikovati od rada s kontinuiranim dokumentom koji nije raščlanjen na elemente. tekstualna datoteka. A ovo, kao što znate, nije najučinkovitiji način rada s informacijama.

Drugi značajan nedostatak HTML-a je ograničen skup njegovih oznaka. DTD pravila za HTML definiraju fiksni skup deskriptora i stoga programer nema mogućnost unosa vlastitih, posebnih oznaka. Iako se s vremena na vrijeme pojavljuju nova jezična proširenja (do danas, najnovija HTML verzija je HTML 4.0), no dug put njihove standardizacije, popraćen stalnim nesuglasicama između glavnih proizvođača preglednika, čini gotovo nemogućim brzo prilagođavanje jezika i njegovu upotrebu za prikaz specijaliziranih informacija (primjerice, multimedijskih, matematičkih, kemijskih formula, itd.).

Sumirajući sve što je rečeno, može se tvrditi da HTML danas ne zadovoljava u potpunosti zahtjeve koje nameću moderni programeri za jezike ove vrste. Zamijenio ga je novi jezik za označavanje hiperteksta, moćan, fleksibilan i, u isto vrijeme, praktičan XML jezik. Koje su njegove prednosti?

XML ( Extensible Markup Language) je označni jezik koji opisuje cijelu klasu podatkovnih objekata koji se nazivaju XML dokumenti. Ovaj jezik se koristi kao sredstvo za opisivanje gramatike drugih jezika i za kontrolu ispravnosti dokumenata. Oni. Sam XML ne sadrži nikakve označne oznake, on jednostavno definira redoslijed kojim su stvorene. Tako, ako npr. smatramo da označava element ruža dokument mora koristiti oznaku ;, tada nam XML omogućuje slobodnu upotrebu oznake koju definiramo, au dokument možemo uključiti fragmente poput sljedećih:

ruža

Skup oznaka može se lako proširiti. Ako, pretpostavimo, također želimo naznačiti da bi opis cvijeta trebao smisleno ići unutar opisa staklenika u kojem cvjeta, tada jednostavno postavljamo nove oznake i biramo redoslijed kojim se pojavljuju:

ruža

Ako tamo želimo posaditi još nekoliko cvjetova, moramo napraviti sljedeće promjene:

ruža lala kaktus

Kao što možete vidjeti, proces kreiranja XML dokumenta je vrlo jednostavan i zahtijeva od nas samo osnovno znanje o HTML-u i razumijevanje zadataka koje želimo obaviti korištenjem XML-a kao jezika za označavanje. To programerima daje jedinstvenu mogućnost definiranja prilagođenih naredbi koje im omogućuju najučinkovitije definiranje podataka sadržanih u dokumentu. Autor dokumenta kreira njegovu strukturu, gradi potrebne veze među elementima, koristeći one naredbe koje zadovoljavaju njegove zahtjeve i postiže vrstu označavanja koja mu je potrebna za obavljanje operacija pregledavanja, pretraživanja i analize dokumenta.

Još jedna očita prednost XML-a je mogućnost da se koristi kao univerzalni jezik upita za repozitorije informacija. Danas se u dubinama W3C-a razmatra radna verzija XML-QL (ili XQL) standarda, koji bi u budućnosti mogao postati ozbiljan konkurent SQL-u. Osim toga, XML dokumenti mogu djelovati kao jedinstveni način pohranjivanja podataka koji uključuje i sredstva za analizu informacija i njihovo predstavljanje na strani klijenta. U ovom području, jedno od obećavajućih područja je integracija Java i XML tehnologija, što omogućuje korištenje snage obiju tehnologija pri izgradnji aplikacija neovisnih o stroju koje također koriste univerzalni format podataka prilikom razmjene informacija.

XML također omogućuje kontrolu ispravnosti podataka pohranjenih u dokumentima, provjeru hijerarhijskih odnosa unutar dokumenta i uspostavljanje jedinstvenog standarda za strukturu dokumenata, čiji sadržaj mogu biti različiti podaci. To znači da se može koristiti za izgradnju kompleksa informacijski sustavi, u kojem je vrlo važno pitanje razmjene informacija između različitih aplikacija koje rade na istom sustavu. Stvaranjem strukture za mehanizam razmjene informacija na samom početku rada na projektu, menadžer se u budućnosti može spasiti od mnogih problema povezanih s nekompatibilnošću formata podataka koje koriste različite komponente sustava.

Također, jedna od prednosti XML-a je što programi za obradu XML dokumenata nisu komplicirani i već su se pojavili i slobodno distribuiraju sve vrste softverskih proizvoda dizajniranih za rad s XML dokumentima. XML je danas podržan u Microsoft Internet Explorer 4/0 i u beta verzijama IE5. Najavljeno je da će biti podržan u sljedećim verzijama aplikacija Netscape Communicator, Oracle DBMS, DB-2 i MS-Office. Sve to daje razloga za pretpostavku da će najvjerojatnije u bliskoj budućnosti XML postati glavni jezik za razmjenu informacija za informacijske sustave, čime će zamijeniti HTML. Dobro poznati specijalizirani označni jezici kao što su SMIL, CDF, MathML, XSL već su stvoreni na temelju XML-a, a popis radnih nacrta novih jezika koje W3C razmatra stalno raste.

Kako izgleda XML dokument?

Prvi Drugi podstavak 1 Treći Posljednji

Pravila za izradu XML dokumenta

RusijaNovosibirsk</country>

Jezični konstrukti

Elementi podataka

ruža Novosibirsk ruža Novosibirsk Sibir Novosibirsko državno tehničko sveučilište
vrlo dobar institut Novosibirsko državno sveučilište
nije ni loše

Razmotrimo tehnologiju korištenja XML-a za prijenos podataka na poslužitelj.

Već smo pogledali 2 načina prijenosa podataka na poslužitelj: običan tekst s razdjelnikom i JSON. Ali oni imaju nedostatke:

  • Nedostatak vrsta podataka. JSON ima samo niz, broj, null, booleov. Oni. ograničen skup podataka.
  • Teško je kontrolirati integritet prenesenih podataka.
  • Teško je vizualizirati podatke, npr. složene objekte teško je prikazati, na primjer, u html obrazac kodirati.
  • Podatke je teško transformirati, tj. Teško je transformirati svojstva jednog objekta u svojstva drugog objekta.

Sada se okrenimo XML-u kao metodi prijenosa podataka. XML(eXtensible Markup Language) je označni jezik dizajniran za opisivanje, pohranu i prijenos strukturiranih podataka. Danas se XML koristi posvuda.

Postoje mnoge tehnologije temeljene na XML-u: DOM (programska interakcija s podacima), XLink (pokazivači i poveznice), XPath (opis i odabir elemenata), XSL, XSLT (XML transformacija dokumenata).

Raščlanjivanje XML paketa izgleda ovako:

//XMLHttpRequest objekt var req= getXmlHttpRequest (); //Instaliranje rukovatelja zahtijevati onreadystatechange= funkcija () ( if (req. readyState== 4 ) ( //stanje "4 - dovršeno" var xml= req. odgovorXML; ))

Ovdje čak ne trebate raditi serijalizaciju i deserijalizaciju. To čini sam objekt. Čim poslužitelj pošalje XML podatke, oni su već u raščlanjenom obliku (responseXML - DOM model dokumenta). Pročitajte više o DOM tehnologiji u prethodnim člancima na stranici.

Ponekad, za otklanjanje pogrešaka, morate serijalizirati i deserijalizirati XML podatke (za prijenos podataka na poslužitelj, to se radi automatski, ne morate to raditi ručno). Serializirajmo u niz:

//za IE var str = dom. xml //za Firefox var serijalizer = novi XMLSerializer (); var str = serijalizator. serijalizirajToString(dom);

Za IE radni kod je kraći, jer već ima ugrađeni objekt za serijalizaciju, dok se u drugim preglednicima XMLSerializer objekt za serijalizaciju samo pojavljuje.

Kada radimo s XML podacima, obično imamo posla s DOM modelom dokumenta. Stoga je vrijedno zapamtiti neke aspekte DOM-a (o tome pročitajte u prethodnim člancima). Samo da vas podsjetim na načine pristupa DOM elementu modela:

// korijenski element var root = xmlDOM. documentElement; //prvi element u kolekciji var knjiga = korijen. dijetečvorovi[ 0 ]; //podređeni element var naslov = knjiga. dijetečvorovi[ 0 ]; //element tekstualni čvor upozorenje(naslov. firstChild. nodeValue);

Također možete odabrati elemente iste vrste iz DOM-a modela dokumenta. Pažnja! Ne postoje funkcije getElemensById jer u XML-u id može značiti bilo što, ne samo identifikator, pa se ne koristi.

//odabir svih elemenata s jednom oznakom var knjige = xmlDOM. getElementsByTagName("knjiga");

XML se također aktivno koristi ne samo za predstavljanje podataka, već i za razmjenu podataka u poslužiteljski orijentiranoj arhitekturi. Riječ je o pristupu u kojem kompleksnu aplikaciju predstavljamo ne kao klasičnu klijent-poslužiteljsku aplikaciju, već kao skup servisa od kojih je svaki odgovoran za svoje zadatke. I svaka usluga ima ulazne točke (točke interakcije). Ovdje nema jasnog klijenta, jer... jedan servis može biti klijent drugog servisa. Ispostavilo se da je ovo distribuirana tehnologija. Postoji nekoliko pristupa izgradnji takvih tehnologija - udaljeni poziv procedure, SOAP.

Da bi usluge različitih klijenata mogle komunicirati, moraju govoriti istim jezikom (nije važno koji operacijski sustav na usluzi). I takav je jezik razvijen i nazvan RPC.

XML-RPC protokol

RPC(Remote Procedure Call) - udaljeni poziv procedure. Ovo je protokol za interakciju između dvije udaljene točke. Omogućuje točki "a" da pozove funkciju na udaljenoj točki "b".

Postoji nekoliko implementacija RPC protokola. Pogledajmo implementaciju temeljenu na XML-u.

U osnovi, klijent i poslužitelj jednostavno razmjenjuju neke XML fragmente.

XML-RPC pruža sljedeće vrste podaci:

  • Booleov.
  • cijeli broj.
  • dvostruko.
  • niz.
  • Datum vrijeme.
  • baza64.
  • niz.
  • strukturirati
  • ništavan.

Oni. Kada prosljeđujete određeni tip podataka, morate deklarirati koji je tip podataka. Struktura je slična JSON objektu.

Pretvaranje XML podataka

Za transformaciju podataka primljenih s poslužitelja u obliku XML-a koristi se XSLT.

XSLT(eXtendable Stylesheet Language Transformation) tehnologija je koja vam pomaže primiti XML kao ulaz i oblikovati što god želite kao izlaz.

Pretvaranje XSLT u javaScript - IE

var dom = novi ActiveXObject("MSXML2.DOMDocument"); dom. async = lažno; dom var xsl = novi ActiveXObject(" [e-mail zaštićen]" ); xsl. async = false; xsl. učitavanje ("my.xsl" ); //sama transformacija var rezultat = dom. pretvaračvor(xsl);

Pretvorite XSLT u JavaScript za Firefox. Ghrome, Opera

var xslStylesheet; var xsltProcessor var myXMLHTTPRequest = mew XMLHttpRequest(); mojXMLHTTPRequest. open("GET" , "example.xsl" , false); mojXMLHTTPRequest. poslati (nula); //dobijte xml xslStileshett = myXMLHTTPRequest. odgovorXML; xsltProcessor myXMLHTTPRequest = novi XMLHttpRequest(); mojXMLHTTPRequest. open("GET" , "example.xml" , false); mojXMLHTTPRequest. poslati (nula); //sama transformacija var xmlSource = myXMLHTTPRequest. odgovorXML; var resultDocument = xsltProcessor. transformiraj u dokument (xmlizvor); Zašto je potreban ovaj XML?

[U posljednje vrijeme, u vezi s pojavom ovih stranica, najčešće
Ispostavilo se da je pitanje za mene bilo: "Recite mi, zašto je uopće potreban, XML?
Zar nam HTML nije dovoljan? "Nemajući puno vremena (ili pameti;) za pripremu vlastitih publikacija, a uz to duboko poštujući klasike, radije sam brzo preveo izvrstan članak naslovljene teme
- možda je ovo prva epizoda serije "u pomoć"]

Jon Bosak, Tim Bray
XML i web druge generacije
iz Scientific Americana, svibanj 1999

Dajte ljudima nekoliko savjeta, a oni će sami shvatiti ostalo. Gledajući stranicu, gdje su veći blokovi teksta podijeljeni na manje, svatko brzo shvati da je to početak članka. Gledajući popis namirnica, brzo možete pogoditi da se radi o “uputama” za posjet trgovini. Kada vidite stupce s brojevima, shvatit ćete da se radi o bankovnom računu. Računala još nisu toliko pametna - sve im se to točno mora prenijeti - čime se točno moraju baviti i što se od njih za to traži.

Upravo u tu svrhu - kako bi informacije bile samoopisive - izumljen je novi jezik za označavanje dokumenata - Extensible Markup Language (XML). Ove lako izrečene promjene (“samoopisani” dokument, promjena pravila komunikacije s računalima) nose golem potencijal - uloga Interneta od medija za dostavu informacija počinje se širiti i na druge vrste ljudskih aktivnosti. Doista, od odobrenja W3C-a 1998., XML specifikacija je počela prodirati posvuda kao šumski požar - u industriju i znanost, u proizvodnju robe i medicine.

Entuzijasti su se nadali da će XML pružiti priliku za rješavanje brojnih globalnih problema Weba. Ovi problemi su poznati: prvo, internet, superbrza mreža, često se ponaša gore od kornjače; i drugo, iako su gotovo sve informacije dostupne na Internetu, tamo je često izluđujuće teško pronaći nešto potrebno.

Oba ova problema uzrokovana su uglavnom prirodom glavnog jezika weba - HTML-a. I dok je uspjeh HTML-a u odnosu na druge ikada predložene elektroničke izdavačke jezike očit, HTML je previše rijedak: on u biti samo govori pregledniku kako postaviti tekst, slike i gumbe na stranicu. HTML se fokusira na prezentaciju informacija i stoga ga je prilično lako naučiti, ali ima svoju cijenu.

To se odražava u složenosti razvoja web stranica, osim ako te stranice nisu zamišljene kao faks strojevi, koji šalju stranice svakome tko zatraži. Više od polovice ljudi i tvrtki diljem svijeta preferiralo bi web stranice koje mogu primati narudžbe od korisnika, slati dijagnoze bolesti, pa čak i izvoditi delikatne instrumentalne operacije u tvornicama i znanstvenim laboratorijima. HTML se _NIKAD_ nije suočio s takvim zadacima.

Na primjer, čak i ako vaš liječnik može "izvući" testove iz vaše medicinske kartice u svoj preglednik, malo je vjerojatno da će ih moći poslati putem mreže drugom stručnjaku kako bi primljeni odgovor umetnuo natrag u svoj baza podataka. Njegovo računalo ne zna što bi s informacijama koje su mu jasne kao

pčela pčela

ili pčela pčela.
Legendarni Kernighan jednom je primijetio da je cijeli trik WYSIWYG principa (što vidim to i dobijem) u tome da kada ne vidite ništa, obično uspijete dobiti točno isti iznos.

Te riječi iznad koje su zatvorene u uglastim zagradama nazivaju se oznakama. U HTML-u nema oznake za raščlanjivanje, a otuda i njegov drugi nedostatak: nefleksibilnost. Dodavanje nove oznake jeziku takva je birokratska birokratija, toliko duga da se nitko neće time zamarati. Ali bilo bi lijepo da svaki program ima svoje oznake, a ne samo ovaj u primjeru s doktorom.

To uvelike objašnjava trenutni spori tempo stvaranja online trgovina, kataloga za naručivanje poštom i drugih interaktivnih stranica. Ako promijenite broj jedinica narudžbe i način dostave, i vidite pregršt brojeva promijenjenih u polju "iznos", još uvijek morate zatražiti od udaljenog (već preopterećenog) poslužitelja da vam pošalje kompletnu novogeneriranu stranicu sa grafikom i sve ostalo. Dok tvoj vlastiti moćno računaloće stajati besposlen jer je upravo naučio nešto poput

I , ali ne i cijene s mogućnošću dostave.

Ovome dodajte lošu kvalitetu mogućnosti pretraživanja weba. Budući da ne postoji način da se posebno označi informacija o cijeni, to je apsolutno nemoguće Internet pretraga stranice na temelju "cijene".


Nešto staro, nešto novo

U principu, rješenje je jednostavno: oznake moraju označavati o kakvoj se informaciji radi, a ne kako bi trebala izgledati. Na primjer, označite komponente narudžbe za košulju oznakama "cijena, veličina, količina, boja", umjesto "podebljano, odlomak, redak, stupac", kao što je predloženo u HTML-u. Tada je programu lakše identificirati dokument kao narudžbu i obaviti ostatak posla: prikazati ovu narudžbu u ovom ili onom obliku, staviti je kroz računovodstveni sustav ili osigurati da nova košulja bude isporučena na vaš kućni prag. sljedeći dan.

Mi, radna skupina W3C je još 1996. godine počeo razvijati takav projekt. Ideja je bila snažna, iako ne sasvim originalna. Generacijama su urednici i tiskari obilježavali rukom pisane tekstove oznakama slovoslagača. Ovaj se “označni jezik” samostalno razvijao do 1986. godine, kada je kao rezultat desetogodišnjeg rada Međunarodna organizacija za standardizaciju (ISO) uvela sustav za stvaranje novih označnih jezika.

Nazvan SGML (Standard Generalized Markup Language), ovaj jezik za opis jezika - metajezik - dokazao je svoju korisnost u mnogim velikim izdavačkim sustavima. Čak je i HTML dobio svoju definiciju kroz SGML. Jedina poteškoća sa SGML-om bila je ta što je bio svejed - bilo je tu mnogo pametnih stvari za minimiziranje pritisaka tipki, budući da se u to vrijeme svaki bajt brojao. Zbog toga današnji internetski preglednici ne rade dobro s njim.

U stvaranju XML-a, naša radna grupa skinula je SGML ljuske i predložila visoko ciljani i probavljivi metajezik. XML baza je skup pravila prema kojima svatko može kreirati vlastiti označni jezik. Ova su pravila odabrana tako da se jedan mali program (također naziva parser ili analizator sintakse) može nositi s prepoznavanjem bilo kojeg novog jezika. Pogledajmo ponovno primjer liječnika koji želi prenijeti pretrage na specijaliste. Kad bi medicinski stručnjaci konstruirali vlastiti označni jezik od XML-a za kodiranje liječničkih bilješki (više grupa radi na problemu već duže vrijeme), tada bi poruka liječnika njegovom kolegi mogla sadržavati nešto poput


<имя пациента>bla bla
<аллергия на лекарство>bla bla bla

U ovoj postavci više nije teško napisati program za proizvoljno računalo tako da može prepoznati te standardizirane medicinske zapise i moći unijeti ovu doslovno vitalnu važna informacija u svoju bazu podataka.

Baš kao što je HTML osmišljen da svakome omogući čitanje internetskih dokumenata, XML nam daje esperanto koji svatko može čitati i pisati, unatoč gomili nekompatibilnih platformi. Da, čak i sa stajališta obične osobe, XML ima više semantičkog opterećenja (za razliku od drugih formata podataka), jer u njemu nema ničega što bi izgledalo kao nečitljiv tekst.

Snaga svestranosti XML-a dolazi iz minimalnog skupa dobro odabranih pravila. Prvo, oznake uvijek čine par, okružujući tekst na koji su primijenjene zagradama. Drugo, uparene oznake mogu se ugniježditi jedna u drugu poput navodnika, što vam omogućuje da izgradite složene strukture na više razina.

Pravilo ugniježđivanja automatski nameće jednostavnost u bilo kojem XML dokumentu, stvarajući strukturu poznatu u računalnoj znanosti kao stablo. Slično obiteljskom stablu, svaki grafički ili tekstualni element dokumenta je otac, sin ili brat (roditelj, dijete, brat ili sestra) nekog drugog elementa, a taj je odnos uvijek jedinstven. Naravno, stabla ne opisuju cjelokupnu raznolikost struktura podataka, ali pokrivaju većinu tipičnih slučajeva korištenja računala. Osim toga, stabla su izuzetno prikladna za programere. Nema problema u pisanju malog dijela koda za promjenu redoslijeda transakcija ili prikaz potpuno razumljivog računa kada je račun predstavljen kao stablo.

Drugi izvor univerzalne moći XML-a je njegovo oslanjanje na novi standard Unicode je sustav kodiranja koji omogućuje miješanje teksta na svim glavnim jezicima svijeta. Naprotiv, u HTML-u, kao iu većini programa za obradu teksta, dokument u pravilu može biti samo na jednom određenom jeziku, bez obzira na kojem - engleskom, japanskom ili arapskom.
A ako program ne poznaje kodiranje određenog jezika, možete zaboraviti na dokument (u HTML-u). Može biti i gore: na primjer, zbog nekonzistentnosti kodiranja, programi napisani u Tajvanu često ne mogu čitati tekstove namijenjene kontinentalnoj Kini. U slučaju XML-a, ako program zna kako ispravno raditi s njim, može se nositi s bilo kojom kombinacijom kodiranja. Dakle, XML ne samo da omogućuje razmjenu podataka između različitih računalnih platformi, već također omogućuje prevladavanje nacionalnih i kulturnih barijera.


Kraj svjetskog čekanja

S porastom XML-a, Web bi trebao postati puno osjetljiviji. Danas sve što mogu računalni uređaji na Internetu, nije važno radi li se o moćnim stolnim računalima ili džepnim rokovnicima, to nije ništa drugo nego primanje obrasca putem “GET-a”, ispunjavanje, zatim slanje natrag i naprijed na web poslužitelj dok se rad s obrascem ne završi . XML nam daje mogućnost prijenosa strukture i semantike podataka u obrazac, pa će stoga svi ovi uređaji moći obaviti osnovnu obradu u na pravom mjestu i odmah. Ovo ne samo da će smanjiti opterećenje poslužitelja, već bi trebalo dovesti i do značajnog smanjenja mrežnog prometa.

Za ilustraciju, zamislite da pomoću internetske putničke agencije pronađete let iz Londona za New York 4. srpnja. Najvjerojatnije ćete vidjeti popis nekoliko puta duži nego što može stati na ekran. Taj se popis može skratiti postavljanjem preciznijih parametara kao što su vrijeme polaska, cijena ili avioprijevoznik, no u tom slučaju jednostavno “učitate” server turističke agencije svojim zahtjevom i morate čekati odgovor. Međutim, ako vam je ovaj dugačak popis letova dostavljen u XML-u, ured bi ga mogao popratiti malim Java appletom, uz pomoć kojeg možete odmah i jednostavno razvrstati i filtrirati nepotrebne, bez pribjegavanja ikakvoj interakciji s poslužiteljem. Pomnožite to s milijunima web korisnika i ukupni učinak je impresivan.

Što je više mrežnih informacija označeno XML oznakama specifičnim za industriju, lakše ćete pronaći ono što tražite. Danas će vas internetska potraga za “posao za burzovnog mešetara” zatrpati lavinom oglasa, ali o poslu će vjerojatno biti samo nekoliko njih - većina posla krije se na besplatnim oglasnim pločama novinskih stranica koje pretražuju roboti ne volim raditi s. A sada Newspaper Association of America stvara vlastiti jezik za označavanje oglasa u XML-u, koji obećava da će proces pretraživanja učiniti mnogo učinkovitijim.

Nije važno ako je to samo međukorak. Knjižničari odavno znaju načine kako brzo pronaći nešto - ne gledajući dokumente, već njihove kompaktne ključne opise, koji samo upućuju na same izvore. Naime, radi se o katalozima s uzorkom u obliku knjižničnih iskaznica. Takve informacije o informacijama nazivaju se "metapodaci".

Stoga je od samog početka važnu ulogu u XML projektu dobila izrada pratećeg standarda metapodataka. Veljački okvir za opis izvora (RDF) trebao bi igrati istu ulogu koju su imale indeksne kartice za knjižnične knjige za informacije na webu. Kako se RDF metapodaci šire webom, pretraživanje će učiniti mnogo bržim i relevantnijim nego što je trenutno. Na webu nema knjižničara, ali svaki webmaster također želi da se njegova stranica lako pronađe, pa očekujemo da će RDF, kada ljudi otkriju njegovu moć, imati veliki utjecaj na Internet.

Naravno, informacije se mogu dobiti i bez traženja. Naposljetku, Web je hipertekst - milijarde stranica prožetih hipervezama - onim podcrtanim riječima na koje samo morate kliknuti da biste bili odbačeni na neku drugu stranicu. U XML-u je mehanizam hiperveze također uvelike poboljšan. Specifikacija XML povezivanja, nazvana XLink, koju W3C priprema do kraja godine, omogućit će korisniku da bira između više odredišta. Druga vrsta hiperveze omogućit će vam primanje teksta ili slike izravno na mjestu klika, dopuštajući posjetitelju da ne napusti stranicu.

Možda će najkorisniji dio XLinka biti dio specifikacije koji omogućuje autorima da pribjegnu neizravnim poveznicama, šaljući umjesto samih stranica u neku vrstu sažete baze podataka. Dakle, ako je autor promijenio adresu stranice, jednostavnim uređivanjem jednog unosa u takvoj bazi podataka, lako je ažurirati sve poveznice koje vode na njegovu stranicu. To će vam pomoći da se riješite sve češćih poruka "404 File". Nije pronađeno", signalizirajući "pokvarenu" vezu.

Kombinacija učinkovitije obrade, preciznijeg pretraživanja i fleksibilnijeg povezivanja revolucionizirat će strukturu Weba i otvoriti potpuno nove metode pristupa informacijama. Za korisnike će ova nova mreža biti znatno brža, snažnija i korisnija od današnje mreže.


Potrebna suradnja

Naravno, nije sve tako jednostavno. XML omogućuje svakome da konstruira novi jezik na svoj način, ali stvarajući dobar jezik- zadatak čiju složenost ne treba podcjenjivati. Smišljanje jezika samo je početak: naivno je očekivati ​​da će značenja vaših oznaka biti očigledna drugim ljudima sve dok ne date priručnik za taj jezik i da će biti jasna računalima dok ne napišete programe koji rade s oznakama jezika.

Nije teško objasniti zašto je to tako. Kad bi sve što je potrebno za učenje računala da obrađuje narudžbe bile oznake, onda XML ne bi bio potreban. Ne bi ni bilo potrebe za programerima, jer su računala dovoljno pametna da sve rade sama.

Zašto nam treba XML nije magija, već učinkovitost. XML uspostavlja temeljna pravila koja pojednostavljuju detalje programiranja u jednom sloju - tako da se ljudi sa sličnim interesima mogu koncentrirati na drugi tvrd orah - dogovore o tome kako točno žele formatirati podatke koje žele razmijeniti. Ovo je vrlo težak problem, iako nije nov.

A takvih će sporazuma biti, budući da nam rastuća nekompatibilnost računalnih platformi, kao rezultat kašnjenja rokova, daje, financijski gubici i dovodi do zabune u gotovo svim područjima djelovanja. Ljudi žele razmjenjivati ​​ideje i obavljati stvari, bez obzira na to što svatko ima različita računala - a da bi to postalo stvarnost, međusobni razvoj privatnih (za različita područja djelovanja) jezika još je dug put . Međutim, nalet novih akronima koji završavaju na "ML" pokazuje neporeciv inovativni duh koji je XML donio u znanost, poslovanje i obrazovanje.

Prilikom stvaranja novog XML jezika za označavanje, njegovi kreatori moraju se složiti oko tri stvari: koje će oznake biti tamo, kako se mogu ugnijezditi jedna u drugu i kako bi se trebale obrađivati. Prve dvije točke - jezični rječnik i struktura - sada su kodirane pomoću DTD (Definicija tipa dokumenta). XML standard ne obvezuje programere jezika da pribjegnu DTD-ovima, ali će većina novih jezika očito imati DTD opise - to programerima olakšava pisanje programa koji razumiju ovu oznaku i izvlače nešto smisleno iz nje. Trebat će nam i skupovi priručnika koji opisuju značenja svih oznaka na ljudskom jeziku. Na primjer, HTML ima DTD opis, ali postoje i stotine stranica poznatih HTML priručnika koje programeri koriste kada razvijaju preglednike i druge programe za Web.


Esej o stilu

Korisnicima je najvažnije što program može, a ne ono što je napisano u njegovom opisu. Općenito, ljudi više vole da im programi dopuštaju da vide XML kodirane informacije u čitljivom obliku. Ali u samim XML oznakama ne postoji posebna oznaka koja označava. kako bi podaci trebali biti prikazani na ekranu ili ispisanom listu.

Za izdavače koji žele "pisati jednom i objaviti posvuda", najvažnije je "roditi" publikaciju i zatim je "pretočiti" u bezbroj vrsta publikacija, tiskanih i elektroničkih. XML im pomaže na sljedeći način: sadržaj je označen opisnim oznakama koje su neovisne o okruženju prikazivanja. Dalje, nakladnik može formalizirati pravila prezentacije u obliku tzv. stylesheets (style sheets), automatski "stilizirajući" svoj rad kao različite uređaje i okoliš. Standard za takav XML jezik, razvijen za ove svrhe, zove se Extensible Stylesheet Language (XSL).

Najnovije verzije Preglednici mogu čitati XML dokumente, odabrati odgovarajuće stilske datoteke i koristiti ih za sortiranje i oblikovanje informacija na zaslonu. Čitatelj možda neće ni shvatiti da ima posla s XML-om, a ne s HTML-om, osim ako ne primijeti da su stranice s XML-om brže i jednostavnije za korištenje.

Osobe s oštećenjem vida također imaju koristi od načela objavljivanja XSL dokumenata, jer im XSL daje mogućnost čitanja XML-a na Brailleovom pismu ili glasom. Ove prednosti vrijede i za druge: na primjer, trgovačkom putniku koji želi surfati internetom iz udobnosti svog automobila vjerojatno bi bilo zgodno slušati stranice sa zvukom.

Iako su isprva jezgru Mreže činili znanstveni i obrazovni programi, današnja Mreža već je trgovina (dobro, ili moglo bi se reći, komercijalna očekivanja), skladištenje goriva za brzi početak. Svi se sjećaju nedavne rezonancije izazvane porastom internetske prodaje, ali nije potrebno spominjati koliko brzo poslovni ljudi komuniciraju jedni s drugima na mreži. Protok robe velikih proizvođača traži automatizaciju na mreži. No, današnji poslovni sustavi oslanjaju se na složene međuprogramske interakcije, au praksi to vrlo loše funkcionira jer je za uspjeh potrebna uniformnost procesnih procesa, što je još uvijek daleko od postignutog.

Ljudi su stoljećima uspješno poslovali razmjenom standardnih dokumenata: narudžbi, faktura, deklaracija, potvrda o primicima itd. itd. Dokumenti su služili poslu i nitko nije zahtijevao da jedna uključena strana zna unutarnje funkcioniranje druge. Svaki dokument prikazan je točno onoliko koliko je trebao biti prikazan primatelju informacije, i ništa više. Čini se da je razmjena dokumenata najispravniji način poslovanja i na webu. Ali to uopće nije bio zadatak za koji je HTML stvoren.

Nasuprot tome, XML je posebno dizajniran za svrhu razmjene dokumenata i jasno je da će se osnova elektroničke trgovine oslanjati na sporazume izražene milijunima XML dokumenata koji plutaju Internetom.

Stoga bi Web poboljšan XML-om trebao postati brzo, prijateljsko i bolje mjesto za poslovanje za svoje korisnike. Webmasteri i web dizajneri trebaju još više XML-a. Vojske programera trebat će poznavanje novih XML jezika "u potpunosti". I premda dani samoukih hakera [autori su mislili u najboljem smislu te riječi] još traju, njihova je populacija već ugrožena.

Web dizajner sutrašnjice mora biti vješt ne samo u izradi teksta i grafike, već iu izgradnji višeslojnih, međuzavisnih sustava temeljenih na DTD-ovima, podatkovnim stablima, strukturama hiperveza, metapodacima i stilskim komponentama - snažnoj i naprednoj infrastrukturi Web druge generacije.