XML je v²born² formßt vhodn² pro uchovßvßnφ dat vÜeho druhu. Aby se jeho pou₧φvßnφ rozÜφ°ilo, je pot°eba, aby byl podporovßn co nejv∞tÜφm mno₧stvφm aplikacφ. Podφvejme se nynφ proto na jednotlivΘ typy aplikacφ, kterΘ se p°i prßci s XML-dokumenty b∞₧n∞ pou₧φvajφ.
Pokud budeme chtφt psßt dokumenty v XML, budeme k tomu dozajista pot°ebovat n∞jak² vhodn² editor. Jeliko₧ je XML-dokument obyΦejn² textov² soubor dopln∞n² o tagy, m∙₧eme k jeho vytvß°enφ a nßslednΘ editaci pou₧φt libovoln² textov² editor. P°ijdeme tak vÜak o spoustu u₧iteΦn²ch funkcφ -- lepÜφ editor m∙₧e automaticky kontrolovat strukturu dokumentu. Nedovolφ nßm pak vytvo°it dokument, kter² nenφ sprßvn∞ strukturovan² Φi neodpovφdß po₧adovanΘmu DTD. Chytr² editor nßm takΘ m∙₧e napovφdat, kterΘ elementy a atributy m∙₧eme v danΘm mφst∞ dokumentu pou₧φt.
XML editory m∙₧eme rozd∞lit do n∞kolika skupin, podle toho, jak moc je u₧ivatel vystaven styku se samotn²m jazykem XML. NejjednoduÜÜφ editory zobrazujφ p°φmo zdrojov² k≤d XML s tφm, ₧e mohou tagy zv²raznit jinou barvou pro odliÜenφ od textu. PokroΦilejÜφ editory ji₧ pracujφ v ΦßsteΦnΘm WYSIWYG re₧imu, kdy je text vid∞t zformßtovan² pomocφ stylu, ale jsou v n∞m vid∞t jednotlivΘ tagy. Poslednφ stupe≥ ji₧ p°ed u₧ivatelem XML ·pln∞ schovß. Vklßdßnφ tag∙ je pak pln∞ v re₧ii editoru, kter² m∙₧e podle n∞jak²ch pravidel mapovat jednotlivΘ vizußlnφ styly na XML elementy.
Ji₧ dnes je jasnΘ, ₧e pro masovΘ rozÜφ°enφ XML bude zapot°ebφ zejmΘna editor∙ poslednφ skupiny. Uv∞domme si, jak se v poslednφ dob∞ zaΦal hodn∞ vyu₧φvat editor FrontPage pro tvorbu HTML strßnek. U₧ivatel v n∞m do styku s HTML k≤dem nemusφ v∙bec p°ijφt. FrontPage zßkladnφ formßtovacφ p°φkazy automaticky p°evßdφ do odpovφdajφcφch struktur jazyka HTML.
Editory, o kter²ch jsme dosud mluvili, byly urΦeny p°edevÜφm pro textovΘ dokumenty. Jak jsme ji₧ °ekli, XML se hodφ i pro uchovßvßnφ a p°enos r∙zn²ch metadat a datov²ch struktur obecn∞. Pro editaci slo₧it∞jÜφch datov²ch struktur m∙₧e b²t v²hodn∞jÜφ specißlnφ editor, kter² cel² XML dokument zobrazuje jako stromovou strukturu navzßjem vno°en²ch element∙. Pro siln∞ strukturovanß data je takov² editor vhodn².
Krom∞ obecn²ch editor∙ XML existujφ i editory urΦenΘ pouze pro editaci XML-dokument∙ vyhovujφcφch urΦitΘmu DTD. To co tyto editory ztrßcφ na obecnΘ pou₧itelnosti, v∞tÜinou bohat∞ vynahradφ rozÜφ°enou funkΦnostφ. Ji₧ dnes m∙₧eme matematickΘ vzorce zapsanΘ pomocφ MathML vytvß°et pohodln∞ ve vizußlnφm editoru rovnic, jeho₧ v²stupem je XML vyhovujφcφ jednomu konkrΘtnφmu DTD pro MathML.
Na Webu se dnes pou₧φvß jazyk HTML, ale v blφzkΘ budoucnosti bude nahrazen n∞jak²m jazykem zalo₧en²m na XML. Ne₧ se tak stane, musφ existovat dostateΦnΘ mno₧stvφ dostateΦn∞ kvalitnφ prohlφ₧eΦ∙, kterΘ zvlßdnou prßci s XML-dokumenty.
Co by m∞l takov² prohlφ₧eΦ zvlßdnout. P°edn∞ musφ um∞t zobrazit XML-dokument podle pravidel urΦen²ch v p°ipojenΘm stylu (CSS nebo XSL). Krom∞ toho by m∞l podporovat vÜechny b∞₧nΘ formßty pro p°enos grafiky a multimΘdiφ. D∙le₧itß bude i podpora XLL -- prßce s odkazy bude p°eci jen slo₧it∞jÜφ ne₧ dnes.
Dobr² prohlφ₧eΦ by m∞l nabφzet i dalÜφ funkce mezi n∞₧ pat°φ navigace v dokumentu a kontextovΘ vyhledßvßnφ. Pod navigacφ si m∙₧eme p°edstavit nap°φklad schopnost vygenerovat a zobrazit strom struktury dokumentu, kter² m∙₧e poslou₧it zßrove≥ jako obsah a jako v²bornß navigaΦnφ pom∙cka. KontextovΘ prohledßvßnφ nenφ nic jinΘho, ne₧ ₧e p°i hledßnφ textu na strßnce m∙₧eme zadat element, ve kterΘm se mß text hledat. Prohledßvßnφ tak m∙₧eme omezit nap°φklad jen na popisy tabulek.
Prakticky se s pou₧itelnou podporou XML setkßme v "p∞tkov²ch" verzφch prohlφ₧eΦ∙ Netscape Navigator a Internet Explorer. Zatφm dostupnΘ betaverze program∙ majφ sice mnohΘ problΘmy, zejmΘna se zpracovßnφm XSL, ale doufejme, ₧e finßlnφ verze budou pracovat spolehliv∞. Od nov²ch prohlφ₧eΦ∙ vÜak nem∙₧eme Φekat zßzraky. P°inesou sice podporu XML, XSL a XLL, ale to je vÜe. Prohlφ₧eΦe s lepÜφ mo₧nostφ navigace Φi vyhledßvßnφ, budeme muset hledat u jin²ch v²robc∙ ne₧ jsou Netscape a Microsoft. Jednak mezi v²robci tradiΦnφch SGML-prohlφ₧eΦ∙, kte°φ svΘ programy rozÜi°ujφ o podporu XML, a druhak mezi mlad²mi firmami, kterΘ se sna₧φ zaplnit nov∞ vzniklou mezeru na trhu.
Aby bylo mo₧nΘ XML strßnky zobrazovat ve starÜφch prohlφ₧eΦφch, je zapot°ebφ je jeÜt∞ na serveru p°evΘst do HTML. Ji₧ dnes existujφ °eÜenφ, kterß umo₧nφ automatickΘ zaslßnφ XML-dokumentu v podob∞ vhodnΘ pro klienta.
Dnes jsou na Internetu vyu₧φvßny zejmΘna techniky fulltextovΘho vyhledßvßnφ. Schopnosti fulltextov²ch technologiφ vÜak narß₧ejφ na velk² objem informacφ, kterΘ jsou na Webu p°φtomny. Pokud tedy zadßme n∞jakΘmu fulltextovΘmu vyhledßvaΦi slovo, kterΘ nßs zajφmß, dostaneme jako odpov∞∩ tisφce strßnek.
Pokud by byly dneÜnφ fulltextovΘ vyhledßvaΦe schopnΘ vyu₧φt p°φdavnΘ informace ulo₧enΘ v XML-dokumentech, byla by mo₧nost efektivnφho vyhledßvßnφ na Internetu op∞t o n∞co lepÜφ. Vyhledßvacφ servery by mohly lΘpe rozpoznat d∙le₧itost dokument∙ podle Φßstφ textu, kde se hledanΘ slovo vyskytuje. Dokument, kter² danΘ slovo obsahuje v nadpisu, je jist∞ vφce relevantnφ, ne₧ kdy₧ ho obsahuje pouze v n∞jakΘ poznßmce pod Φarou. ZlepÜenφ p°inese i kontextovΘ vyhledßvßnφ, kterΘ umo₧nφ u hledanΘho slova zadat, zda se jednß o jmΘno Φlov∞ka, jmΘno ulice nebo popis fotografie.
Jeliko₧ se XML hodφ na uchovßnφ informacφ libovolnΘho typu, nebyl p°edchozφ v²Φet typ∙ aplikacφ kompletnφ. Pokud pracujeme s velk²m mno₧stvφm dokument∙, budeme pot°ebovat n∞jak² systΘm pro sprßvu dokument∙. Funkce tohoto systΘmu mohou sahat od jednoduchΘ databßze, kterß bude n∞kde uklßdat naÜe dokumenty, a₧ po slo₧itΘ systΘmy, kterΘ podporujφ workflow dokument∙ a sprßvu verzφ.
Pro lidstvo je tiÜt∞n² v²stup stßle jeÜt∞ nejpou₧φvan∞jÜφ. Nenφ tedy divu, ₧e existuje mnoho program∙, kterΘ umo₧≥ujφ XML-dokumenty formßtovat a tisknout. Do podobnΘ kategorie spadajφ i r∙znΘ konvertory, kterΘ umo₧≥ujφ p°evody dat mezi r∙zn²mi formßty.
Pokud pro naÜe vlastnφ aplikace pot°ebujeme n∞jak² datov² formßt, m∙₧e b²t XML tou pravou volbou. Vytvß°enφ XML-dokument∙ je velice jednoduchΘ -- jednß se o textovΘ soubory. Pro jejich Φtenφ m∙₧eme pou₧φt n∞kter² z mnoha voln∞ dostupn²ch parser∙. Takov² parser p°itom existuje snad pro vÜechny dnes b∞₧n∞ pou₧φvanΘ programovacφ a skriptovacφ jazyky.