e mail marko krajnc izumn izum si adrej krajnc izum si dgorisek iface ch povzetek extensible markup language xml je novorojenec katerega starsi zivijo ze desetletja kljub delnemu uspehu njegovih prednikov mu mnogi napovedujejo svetlo prihodnost in so ga krstili za standard standardov prispevek obravnava poglavitne prednosti novinca ki mu omogocajo izpolnitev svetlih napovedi hkrati pa predstavlja podrocja na katerih bo xml odigral najpomembnejso vlogo motivacija informacijska tehnologija se ukvarja z informacijami toda v kaksni obliki je najbolj primerno hraniti cloveku razumljive informacije stoletja so bile knjige glavni medij zapisovanja informacij zadnja desetletja pa jih vse bolj izpodrinjajo elekronski mediji in ce smo po knjige vcasih hodili v knjiznice bomo po elektronske informacije hodili na internet digitalna elektronika omogoca predstavitev informacij v obliki bitov zaporedja nicel in enic ki se med seboj nenehoma izmenjujejo toda kdo bo cez stoletja razumel ta zapletena zaporedja ko jih pa ze danes malokdo teh bitnih zaporedij ne moremo uporabljati brez ustreznih aplikacij ki jih ze cez deset let ne bo poznal vec nihce in ki ne bodo vec delovala na nobenem takratnem racunalniku se manj pa bo takrat casa za njihovo pretvarjanje v takrat razumljiva zaporedja informacije morajo biti shranjene v taksni obliki da jih clovek razume brez zapletenih postopkov tudi cez stoletja in ce so informacije na elektronskih medijih ze po naravi neberljive s cloveskimi cutili jih ne rabimo se dodatno zakodirati z zapletenimi zaporedji nicel in enic sicer bo danasnje zapise cez stoletja se tezje razvozlati kot tisoc let stare egipcanske hieroglife kopiranje informacij iz starih medijev na nove je relativno enostavno njihovo pretvarjanje v nove oblike pa zelo zapleteno zato je potrebno elektronske informacije shraniti v taksni obliki ki ne potrebuje pretvarjanja v nove formate temvec za njihov obstoj zadosca ze samo kopiranje extensible markup language xml oznacevalni jeziki namen oznacevalnih jezikov je zapisovanje informacij v obliki strukturiranega teksta ki ga lahko bere vsak pismen clovek podatke o janezu novaku lahko v xmlu opisemo na nacin predstavljen na sliki oseba ime janez ime priimek novak priimek letorojstva letorojstva naslov dunajska ljubljana naslov oseba slika opis podatkov v xml zacetki oznacevalnih jezikov segajo skoraj v same zacetke racunalnistva ko so pri ibmu razvili general markup language gml ki je bil osnova za kasnejsi standard general markup language sgml sgml se uporablja v glavnem tam kjer imajo opravka z velikimi kolicinami dokumentov ali drugih besedil mnozicno uporabo je sgml tako dozivel na podrocju zaloznistva in za trajno spravljanje elektronskih dokumentov zakaj xml sgml je zelo siroko zastavljen oznacevalni jezik kar je tudi razlog za zahteven razvoj programske opreme namenjene njegovemu zapletenemu procesiranju extensible markup language xml je poenostavljena razlicica sgmla za uporabo na internetu xml vsebuje vse najpomembnejse elemente sgmla in je se dodatno optimiran za hiter prenos na internetu do danes se je na internetu uporabljal hyper text markup language html ki je primeren le za predstavitev hipermedijskih dokumentov ne pa tudi za druge informacije extensible markup language razsirljiv oznacevalni jezik na drugi strani omogoca sirjenje osnovnega jezika za podporo novim vrstam informacij osnove xml namen tega prispevka ni predstavitev xmla temvec moznosti za njegovo uporabo v praksi tukaj bodo predstavljene le osnove potrebne za razumevanje tega prispevka za natancnejso predstavitev bralcu priporocamo obstojeco literaturo sam xml pravzaprav ne predstavlja nobenega oznacevalnega jezika temvec skupek pravil za izdelavo oznacevalnega jezika xml doloca le v kaksni obliki naj bodo predstavljene strukture posameznega jezika tako da je mozno izdelati isto programsko opremo za procesiranje razlicnih opisnih jezikov xml doloca obliko datoteke v kateri so shranjene informacije na zacetku xml datoteke se nahaja xml deklaracija xml declaration v kateri je navedena verzija xml standarda in nacin kodiranja znakov character encoding primer xml deklaracije prikazuje slika xml version encoding utf slika primer dtd deklaracije xml deklaraciji sledi deklaracija tipa datoteke document type definition dtd ki doloca format v katerem so shranjeni podatki informacije dtd deklaracija povezuje podatke z njihovo deklaracijo ki se lahko nahaja znotraj datoteke ali v loceni datoteki deklaracija se mora nahajati pred zapisom podatkov dtd deklaracija natancno doloca kateri elementi in kateri atributi elementov se smejo uporabljati pri opisu podatkov primer dtd deklaracije prikazuje slika slika primer dtd deklaracije za dtd deklaracijo sledi opis podatkov ki je sestavljen iz oznacb markups in iz podatkov v obliki teksta character data oznacbe opisujejo strukturo podatkov in se vedno zacnejo z znakom ali ta dva znaka se nikoli ne moreta direktno pojaviti v tekstu namestu njiju se morata uporabiti oznacbi lt in amp pravtako so predefinirane nekatere druge oznacbe ki oznacujejo druge v strukturi uporabljane znake obstaja sest osnovnih vrst oznacb etiketa tag referenca komentar deklaracija tipa dokumenta document type declaration sekcije znakovnih podatkov cdata sections in procesni ukazi processing instructions znakovni podatki character data predstavlja glavni del podatkov ki se sestavljen iz vsega teksta z izjemo oznacb podprti so vsi unicode znaki dom sax ker xml standard doloca osnovno strukturo datoteke v kateri so zapisani vsi xml kompatibilni formati lahko razvijamo programsko opremo ki procesira podatke neodvisno od konkretnega formata v katerem se nahajajo za enotno procesiranje xml datotek sta bila standardizirana dva programska vmesnika api ki omogocata obdelovanje xml datotek document object model dom omogoca dostop do xml dokumenta v obliki drevesa dom omogoca branje in spreminjanje obstojecih xml dokumentov in kreiranje novih simple api for xml sax omogoca zaporedno sekvencno branje xml dokumentov brez vmesnega pomnilnika kar omogoca obdelavo zelo velikih xml datotek ob minimalni uporabi pomnilnika xsl css za predstavitev xml dokumentov lahko uporabimo extensible stylesheet language xsl in cascading style sheet css xsl je trenutno se v fazi razvoja in bo omogocal pretvarjanje med xml dokumenti tako bo mozno vsak dokument predstaviti v html obliki ki bo primerna za predstavitev na svetovnem spletu css je na drugi strani mnogo enostavnejsi deklarativni jezik ki ga lahko uporabimo za obstojece html dokumente na sliki je prikazan primer css deklaracije quote display block font size margin left in margin right in slika primer css deklaracije xlink xpointer xlink in xpointer sta standarda ki omogocata boljse povezovanje dokumentov kot to omogoca html povezave so lahko dvosmerne hkrati pa lahko naredimo tudi povezave na spreminjajoce se reference iz dokumentov ki se ne smejo spreminjati xpointer omogoca izdelavo povezav na katerikoli element znotraj xml datoteke podrocja uporabe odprtost in razsirljivost xmlu omogocata uporabo v najrazlicnejse namene v tem poglavju so predstavljena nekatera podrocja kjer je uporaba xmla se posebej zanimiva moznosti uporabo so urejene v naslednja tematska podrocja elektronska izmenjava podatkov in elektronsko trgovanje integracija poslovnih aplikacij publiciranje shranjevanje informacij razvoj programske opreme in nova generacija interneta elektronska izmenjava podatkov in elektronsko trgovanje odprti formati lazje procesiranje prvo veliko podrocje na katerega bo xml v bliznji prihodnosti naredil velik vpliv je elektronska izmenjava podatkov se posebej pa elektronsko trgovanje odprti formati omogocajo mnogo enostavnejso izmenjavo podatkov hkrati pa zaradi enotne infrastrukture lazje procesiranje lazje preverjanje pravilnosti zaradi formata v ascii obliki bo omogoceno mnogo lazje preverjanje pravilnosti saj je zaradi citljivih podatkov iskanje napak mnogo enostavnejse tudi tukaj se zgodovina ponavlja saj je bil iz podobnih razlogov protokol za elektronsko posto smtp osnovan na tekstovni obliki skupni imenovalec elektronska izmenjava podatkov bo izboljsana predvsem tam kjer se uporabljajo podatki z zapletenimi strukturami xml namrec postavlja skupni imenovalec za vse taksne formate ki so bili do sedaj vedno specificni in s tem za mnoge razvijalce programske opreme zapleteni elektronske transakcije s hitrih razvojem elektronskega trgovanja lahko pricakujemo pospeseno rabo xmla pri elektronskih transakcijah ki prenasajo podatke o nakupih med razlicnimi sistemi publiciranje xml nadomesca sgml ker xml zaobjema najpomembnejse lastnosti sgmla lahko v prihodnosti tudi v zaloznistvu pricakujemo razsirjeno rabi xmla namesto sgmla se posebej se bo to zgodilo tam kjer se informacije predstavljajo tudi na internetu en vir vec predstavitev trajnost informacij uporaba informacij v druge namene s stalisca publiciranja ima xml prednost pred drugimi formati html v tem da omogoca predstavitev informacij iz enega vira v vec predstavitvenih oblikah to pa omogoca enostavnejse publiciranje in tudi daljnorocno stabilnost informacij podatki opisani v xmlu so namrec neodvisni od platforme in aplikacij tako da omogocajo trajno shranjevanje in kasnejso spreminjanje oblike ali pa njihovo uporabo v popolnoma druge namene pisec skrbi za vsebino in strukturo oblikovalec za obliko pri publiciranju je vsekakor najpomembnejsa locitev podatkov od predstavitve to pa nima prednosti samo pri veckratnem raznolikem publiciranju temvec tudi v locevanju vlog pisec je namrec odgovoren le za vsebino in strukturo xml oblikovalec pa za njegovo obliko xsl css ponovna uporaba oblike locitev podatkov od predstavitve nam tudi omogoca da ponovno uporabimo oblikovanje dokumenta xsl css to pa ni le prednost v prihranitvi casa marvec tudi v enotnosti publiciranih dokumentov potrebno strukturirano pisanje dokumentov za uspesno uporabo xmla pa je nujno potrebno ljudi uciti strukturiranega pisanja potrebno je namrec locevanje med strukturo in obliko kar pa je z uporabo danasnjih urejevalnikov besedil za mnoge postalo zamegleno podrocje pisci torej potrebujejo izobrazevanje da bodo sposobni strukturiranega pisanja za uspesno uporabo xmla pa je potrebno pisce dokumentov nauciti strukturiranega pisanja shranjevanje informacij locitev informacij od uporabe neokrnjene informacije ena najvecjih prednosti xmla je standardizacija zapisa strukturiranih podatkov in s tem zapis podatkov neodvisno od predstavitve okolja ali orodij oziroma se sirse zapis informacij neodvisno od njihove uporabe zapis informacij neodvisno od uporabe si lahko predstavljamo kot zbiranje baze znanja ki jo lahko kasneje uporabimo v kakrsnekoli namene sistematicno zbiranje informacij in njihovo strukturirano shranjevanje v neodvisni obliki nam omogoca ponovno uporabo na najvisji abstrakcijski ravni pri tem je seveda potrebno poudariti da je strukturiran zapis informacij lahko mnogokrat zapleten saj se sama narava informacij mnogokrat prepleta z njeno uporabo meja med strukturo informacij in njihovo predstavitvijo mnogokrat ni ostra temvec prepletena trajnost informacij naslednja prednost xmla je da omogoca shranjevanje informacij v trajni obliki dokumenti ki jih morami hraniti vec desetletij morajo biti shranjeni v standardizirani obliki neodvisno od orodij in operacijskih sistemov ki se iz leta v leto spreminjajo potrebeno je tudi da so informacije shranjene v taksni obliki da so citljive brez uporabe posebnih orodij elektronskih informacij tako ali tako ne moremo uporabiti brez racunalnikov ce pa so le te shranjene se v kaksni zapleteni najveckrat binarni obliki potem ta problem se zaostrimo s svojo neodvisnostjo in odprtostjo podatko so shranjeni v ascii obliki predstavlja xml eno najboljsih resitev za shranjevanje trajnih dokumentov skupni imenovalec standardov xml sam po sebi ni format za shranjevanje podatkov temvec podlaga infrastruktura za izdelavo taksnih formatov pricakujemo se lahko da bo v prihodnosti vecina obstojecih formatov zamenjana z xml kompatibilnimi formati to pa pomeni da bo zelo enostavno v lastnih informacijskih sistemih uporabiti tuje formate saj ne bo potrebno razvijati parserjev ker bomo lahko uporabiti obstojeco skupno infrastrukturo xml parserje dom sax namesto v binarni obliki bodo podatki shranjeni v xml obliki v prihodnosti bo tako mozno v lastnih aplikacijah uporabljati dokumente ki so bili narejeni z znanimi urejevalniki besedil ceprav aplikacija ne bo razumela celotne semantike dokumenta bo kljub temu mozno uporabiti le tiste dele dokumenta ki so za aplikacijo relevantni odprtost citljivost in izdelava dokumentov brez orodij naslednja velika prednost xmla je njegova odprtost ki nam po eni strani omogoca citljivost dokumentov po drugi strani pa izdelavo dokumentov brez posebnih orodij orodja nam delo le olajsajo niso pa nujno potrebna za uporabo xml dokumentov to na eni strani pomeni da lahko xml zacnemo uporabljati ze danes ko podpora orodij se ni popolna po drugi strani pa zagotovilo da bomo dokumente uporabljali v prihodnosti tudi ce ne bomo imeli posebnih orodij kot je bilo ze omenjeno v zvezi s trajnostjo podatkov nova generacija interneta xml je narejen za internet xml je poenostavljena in optimirana razlicica sgmla za potrebe interneta to pa pomeni da bo xml izmed vseh omenjenih podrocij imel najverjetneje najvecji vpliv prav na svetovno omrezje poenotenje formatov boljse strukturiranje meta podatki v prihodnosti lahko pricakujemo narascajoce stevilo dokumentov v xml obliki ker le ta omogoca veliko boljso strukturo informacij in s tem boljse procesiranje obdelavo in iskanje vkljucitev strukturiranih meta podatkov bo omogocalo tudi lazjo uporabo medpomnilnikov caches in pa natancnejso iskanje poenotenje formatov pricakujemo lahko tudi da bodo formati kot so html vrml in drugo dobili xml enacico hkrati pa tudi razvoj novih standardov na podlagi xml to bo pomenilo prehod na enotno infrastrukturo in tudi na vecjo urejenost problem kam z obstojecimi dokumenti najvecji problem pri prehodu na xml bodo seveda predstavljalo na milijone obstojecih dokumentov v html obliki ki bodo se vedno ostali v nespremenjeni obliki ali pa bodo zelo pocasi zamenjani z xml razlicicami vprasanje pa je tudi v katero smer se bo razvijala integracija xml in html pri tem obstajajo moznosti uporabe xml znotraj html ali pa uporaba html na xml infrastrukturi problem kam z obstojecimi dokumenti skupna infrastruktura bo omogocala moznost delnega procesiranja brez poznavanja natancnejse strukture posameznega xml formata tako bo omogoceno iskanje po dokumentih njihovo povezovanje in povezave na njihove elemente kljub temu da programi ne bodo poznali vsakega posameznega xml formata boljse povezave xml infrastruktura omogoca tudi mnogo boljse povezovanje dokumentov kot je to omogoceno s tehnologijo html z xlink in xpointer standardi bo omogocena izdelava dvosmernih povezav in povezava na spreminjajoce se vire iz dokumentov ki se ne smejo spreminjati to pomeni prednost predvsem za koncnega uporabnika ki danes naleti na mnoge zlomljene povezave razvoj programske opreme locitev informacij od uporabe neokrnjene informacije omenjena locitev informacij od njihove uporabe predstavlja veliko moznosti za uporabo xml pri razvoju programske opreme informacije ki so danes v vecini primerov shranjene v obliki programske kode lahko pricnemo opisovati v xmlu in jih tako naredimo neodvisne od programskega jezika in platforme tako lahko npr poslovne modele ali poteke poslovnih dogodkov opisemo v xmlu in jih kasneje uporabimo v kateremkoli programskem jeziku podatkovno bazo in v kateremkoli okolju class name person attribute name first name type string attribute name date of birth type date relationship name father type person class slika objektni model v xmlu ker so informacije zapisane na visjem abstrakcijskem nivoju lahko govorimo o ponovni uporabi na ravni informacij za razliko od ponovne uporabe na ravni ze izdelanih programskih komponent na omenjeni nacin bi lahko opisali objektne modele uporabniske vmesnike poteke poslovnih dogodkov workflow vmesnike programskih komponent in dokumentacijo v samem programskem jeziku bi tako ostala le logika za obdelovanje teh informacij xml kot programski jezik tudi programsko logiko bi lahko opisali z xml vendar bi to otezilo programiranje sintaksa programskih jezikov je namrec bolj primerna za opisovanje logike kot pa je sintaksa xml v prihodnosti pa lahko pricakujemo tudi prevajalnike ki bodo programsko kodo izvorno kodo prevajali v drevesno strukturo v xml obliki in tako omogocili uporabo skupnih prevajalnikov optimizatorjev in kar je se najbolj pomembno moznost razsirjanja programskega jezika s strani razvijalca to pa pomeni da bo imel razvijalec po mnogih letih spet moznost izbrati zapis ki je najbolj primeren za njegov problem z leti je namrec postal razvoj lastnih programskih jezikov prevec zapleten in potraten z xmlom pa bi se lahko ti problemi delno resili omeniti je potrebno tudi moznost razvoja lastnega programskega jezika v xml in prevajalnika v enega izmed obstojecih programskih jezikov to je namrec z obstojecimi xml parserji postalo zelo enostavno saj razvijalcu z uporabo vmesnikov kot sta dom in sax ni vec potrebno preverjati pravilnosti strukture ker je ze ta vsebovana v sami infrastrukturi tako bo spet zazivel razvoj namenskih programskih jezikov ki je bil zaradi vse bolj zapletenega razvoja prevajalnikov zadnje desetletje postavljen na stranski tir z namenskimi programski jeziki ki so lahko specificni za posamezno domeno lahko mnogo bolje izrazimo abstraktne koncepte kot pa s splosnimi programskimi jeziki sami imamo tudi moznost dodajati nove elemente ki nam poenostavijo razvoj programske opreme task name new person choosemenu menu file item new chooseitem field type value person pressbutton label ok task slika namenski programski jezik xml pa je se posebej primeren za razvoj lastnih skriptnih jezikov saj nam zaradi obstojecih xml parserjev namrec ni vec potrebno razvijati celotnega prevajalnika temvec le tiste dele ki se ukvarjajo s semantiko obstojeca xml infrastruktura namrec omogoca uporabo obstojecih komponent za preverjanje veljavnosti xml dokumentov na podlagi njihovih definicij dtd integracija poslovnih aplikacij odprt prenos podatkov med aplikacijami zadnje veliko podrocje kjer bo xml odigral pomembno vlogo je integracija poslovnih aplikacij z odprto infrastrukturo bo omogoceno mnogo lazje povezovanje aplikacij vkljucno s podatkovnimi bazami podatki ki so znotraj aplikacije predstavljene v formatih specificnih za aplikacijo se bodo lahko z drugimi aplikacijami izmenjevali s pomocjo xml ker je xml dovolj mocan za predstavitev kakrsnihkoli struktur lahko vse podatke izvozimo v xml in jih nato uvozimo v drugo aplikacijo po potrebi lahko pred uvozom podatke pretvorimo v ustreznejso obliko npr z uporabo xsl podobno lahko pricakujemo od novejsih podatkovnih baz uvoz podatkov v xml obliki in s tem mnogo lazjo migracijo med podatkovnimi bazami serializacija naslednja vrsta izmenjave podatkov je distribuirano procesiranje kjer objekti iz enega sistema prehajajo v drugi sistem tudi na tem podrocju nastajajo xml standardi ki omogocajo odprt prenos objektov med sistemi namesto danasnjih binarnih in zaprtih formatov xml komunikacijski protokoli opis poizvedb zraven prenosa informacij pa lahko xml uporabimo tudi za komunikacijo med sistemi sodobni komunikacijski protokoli bodo velikokrat temeljili na xml pricakujemo lahko opise poizvedb query description posiljanje sporocil med objekti in opise elektronskih transakcij v xml obliki zakljucek xml prinasa mnogo prednosti ki jih lahko uporabimo na razlicnih podrocjih prednosti so nastete v naslednjem seznamu shranjevanje podatkov z zapleteno strukturo moznost razsirjanja osnovnega formata preverjanje veljavnosti v sami infrastrukturi na podlagi definicije dokumenta validation neodvisnost od platforme aplikacij in verzij programov locitev podatkov od predstavitve oziroma sirse locitev informacij od uporabe za xml lahko recemo da je to novi skupni jezik za svetovno omrezje ki bo omogocal boljso integracijo med aplikacijami na eni strani ter strukturirane in trajne informacije na drugi strani xml new network lingua franca kljub se ne popolni podpori aplikacij in orodij pa lahko xml pricnemo uporabljati ze danes saj je odprt in omogoca izdelavo dokumentov tudi brez orodij ko bodo dokoncana tudi orodja bo lahko xml zazarel v vsej svoji velicini in pokazal svoje najmocnejse adute literatura world wide web consortium the extensible markup language http www w org tr rec xml world wide web consortium web style sheets http www w org style charles f goldfarb the xml handbook prentice hall jp morgenthal portable data portable code xml javatm technologies http java sun com xml ncfocus html jon bosak and tim bray xml and the second generation web scientific american maj http www sciam com issue bosak html jon bosak xml java and the future of the web http www xml com xml pub w j s bosak html tim bray beyond html xml and automated web processing http developer netscape com viewsource bray xml html michael floyd beyond html xml opportunities knocking web techniques december http www webtechniques com features beyo beyo shtml vase mnenje o prispevku splosno odlicen vreden branja ni vreden branja dolzina predolg ravno prav prekratek strokovnost prevec strokoven ravno prav prevec splosen opombe vase ime priimek e posta podjetje