LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> Zaostřeno na XML

V dnešním článku se podíváme na problematiku prezentací dokumentů. Speciálně na to, co nám nabízí technologie XML, jaké jsou její výhody a použití.

14.5.2004 08:00 | Josef "jose" Kadlec | Články autora | přečteno 7473×

Co stálo za vznikem značkovacích jazyků a samotného XML?

Byla to jistě složitá situace, která začala se vznikem počítaců někdy v šedesatých letech, kdy byl tisk hodně složitý. Pokud někdo chtěl tisknout třeba noviny nebo časopisy, musel složitými procedurami převádět text na speciálni média, ze kterých mohly jistá zařízení tisknout. Problém byl v tom, že výrobců těchto zařízení bylo více a nebyly navzájem kompatibilní. Možná by se hodilo přirovnání k tomu, že zhruba v téhle době, v době sálových počítačů, běžel na každém počítači jiný OS (resp. později jiný UNIX), takže tu opět nebyla vzájemná kompatibilita a pokud chtěl administrátor jednoho počítače přijít pracovat k jinému, bylo to složité. Zní to asi dost hrozně, když žijeme v době postscriptových tiskáren a systémů, které se snažíme standardizovat například POSIXem, atd. Pak přišla éra TeXu od matematika Donalda Knutha a jemu příbuzných jazyků. Byla to jistá revoluce, vždyť TeX, resp. LaTeX, jakožto sada maker pro TeX, se používá hojně do dnes. Tyto programy byly ovšem určeny především pro tisk, ale co když potřebujeme text prezentovat jak tiskem, tak například na webových stránkách? To byl podnět k tomu, aby vznikl jakyk, kde není možné určit pouze vzhled (jako u TeXu), ale i samotný význam jednotlivých částí textu - např. odstavec, nadpis, kapitola apod. Do této skupiny patří právě XML (eXtensible Markup Language). A není zdaleka jediné a první. Z této skupiny můžeme jmenovat ještě GML, které bylo asi jako prvni jazyk této skupiny. Dále např. SGML (Standard Generalized Markup Language), ze kterého se později pomocí určitého DTD (Document Type Definition), vyvinulo HTML, které jistě mnozí důvěrně znají. Problém je v tom, že značky určující význam textu určené pomocí DTD pro HTML se stávají postupem času nedostačující a bylo nutné vytvořit jazyk, který by umožňoval definici vlastních DTD značek.

Co je to tedy XML?

XML je jazyk podřízený SGML, který ovšem narozdíl od SGML umožňuje definování vlastních značek (sada těchto značek dohromady tvoří DTD). Na druhou stranu je to ovšem jazyk přísný na dodržování synstaxe. Abych uvedl příklad. V HTML si můžete například dovolit udělat plně funkční stránku tímto zápisem:

<HTML>
<BODY>
Nejake telo dokumentu.

Všiměte si, že tagy <HTML> a <BODY> nejsou sparované, ale přes parser vše vesele projde. Tohle bychom si v XML dovolit nemohli a parserem by to neprošlo. Možná to vypada jako nevýhoda pro vývojáře, ale naopak. To že má jazyk daný pevný a přísný řád zjednodušuje výrobu parserů, zpracování samotného dokumentu, takže je zobrazení rychlejší a je možno jej využít například v mobilech. Mohu vás, kteří se chystají psát XML dokumenty, uklidnit, že lepší XML editory doplňují parové tagy sami;-) Další věcí syntaxe je to, že se v tazích rozlišují velká a malá písmena, takže <firma> a <Firma> jsou dva odlišné tagy. V HTML bylo opět jedno, jestli jste napsali <HTML> ci <html>.

Co dál...

Podle mě asi největší výhodou psaní v XML je univerzálnost dokumentu. Pokud mě někdo pošle dokument v XML, budu vždy schopen převést tento dokument do jiného formátu nebo ho editovat v kterémkoliv textovém editoru. Pokud mě někdo pošlě dokument v proprietárním formátu MS Word, tak tento soubor na svém GNU/Linux boxu při velkém stěstí možná správně otevřu. O nějakém převádení na jiné formáty se nedá skoro mluvit. XML je vlastně ještě univerzálnější než například TeX. Na tuto výhodu těsně navazuje další a to, že si každý může pomocí vlastních prostředků definovat samotný vzhled a formátování. Někdo potřebuje daný dokument prezentovat na webu, tak zřejmě nasadí CSS (Cascading Style Sheets), což jsou mnohým důvěrně známé kaskádové styly. Někdo jiný může použít sofistikovanější XSL (eXtensible Stylesheet Language), které se hodí spíše na dokumenty konvertované třeba do formátu PDF. Ne méně důležitou výhodou je i podpora širokého spektra jazyků - někdy i dost bizardních. XML používá 32bitovou znakovou sadu ISO 10646.

Co je to přesně to DTD?

DTD (Document Type Definition) je vlastně sada značek, která celkově definuje určitý typ dokumentu většinou dané pro konkrétní typy dokumentů. Takže například značky <nazevfaktury>, <nazevfirmy>, <ICO>, <DPH>, ... by patřily k DTD, které specifikuje fakturu. Ovšem jaká je pravděpodobnost toho, že si dvě firmy zvoli uplně stejné značky? Co když jedna použije pro název faktury tag <nazevfaktury> a druha <faknazev>? Právě proto vznikají skupiny, které se snazi standardizovat DTD pro určité oblasti. Asi nejznámější DTD se nazýva DocBook a je určeno pro psaní knih.

Co je to tedy DocBook?

DocBook je DTD vytvořené ve dvou verzích - jedna pod SGML a jedna pod XML. Jak už sem zmiňoval, je tento formát určen pro psaní knih a dokumentace. Asi si to neuvědomujete, ale v DocBooku je napsána např. dokumentace k PHP, GNU/Linuxu, FreeBSD, KDE či Gnome. Někdy v době 1999 se udržování DocBooku přesunulo pod záštitu sdružení OASIS, které se stará o mnoho dalších DTD. V DocBooku lze psát skoro jakýkoliv rozsáhlejší strukturovaný text - např. i bakalářskou práci. Existují editory, které DocBook podporují.

Jak s tim vším souvisí XHTML?

XHMTL je vlastně jakési zkřížení HTML (jakožto jazyka založeného na SGML) a XML. XHMTL a HTML jsou si velmi podobní. Vlastně používané značky jsou prakticky stejné. Rozdíl je pouze v tom, že XHTML využívá syntaxi XML. Výhody tohoto jazyka opět plynou z vlastností XML. XHTML se například zobrazí v každém prohlížeči stejně, narozdíl od HTML, kde jsou mnohdy patrné velké rozdíly při použití různých prohlížečů. Další výhody nemá cenu ani jmenovat - patří sem opět vytvoření svých nových jmených prostorů (DTD), atd.

Sami jistě vidíte, jak může XML zjednodušit život. Možná XML používáte a ani o tom nevíte. XML je totiž používáno mnoha aplikacemi (např. v podobě konfiguračních souborů), do kterých byste to možná ani neřekli. Do důsledku je XML jakousi normalizační technologií. Snaží se sjednodit a standardizovat formáty, aby se usnadnila implementace a s tím plynoucí výšše uvedené výhody. XML prostě ruluje:-)

http://www.xml.org/
http://www.root.cz/clanek/1472 - seriál
http://www.kosek.cz/clanky/swn-xml/index.html
http://zvon.org/index.php?nav_id=173 - slovník XML pojmů
http://www.kosek.cz/xml/index.html
http://www.oasis-open.org/docbook/
http://www.docbook.org
http://www.kosek.cz/xml/db/index.html
http://www.root.cz/clanek/1570
http://www.root.cz/clanek/1587
http://www.fi.muni.cz/~xpavlov/xml/

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2024) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze