XML -- úvod

Tento text má poskytnout pouze základní orientaci v problematice dělání webu pomocí XML. Předpokládám znalost základů HTML. Hodně zjednodušuji.

Co je XML

XML je takové jakoby HTML, ale každý si tam může vytvořit vlastní tagy. Takže je to značkovací jazyk Značky nepopisují vzhled obsahu, ale co obsah znamená.

Příklad dopisu napsaného v XML:

<?xml version="1.0" encoding="windows-1250" ?>

<dopis>

<pozdrav>Ahoj Pavle!</pozdrav>

<text>Hele, jak je dneska v Praze to NATO, tak mi do Prahy nejedou autobusy, vezmu si dovolenou, jo?</text>

<podpis>Yuhu</podpis>

</dopis>

XML kód se píše normálně v textovém editoru. Pokud tento text napíšete do souboru pojmenovaného třeba pokus.xml, máte vytvořen první xml dokument. Ten se dá zobrazit nebo transformovat (aneb konvertovat) do jiných formátů.

K čemu je to dobré

XML dokumenty obsahují pouze obsah, vlastní sdělení. Můžete si tak udržovat dokumenty bez zbytečných formátovacích balastů (vyznačování barev apod.). Jedna informace bude jen na jednom místě. Velmi snadno se to mění a udržuje. Dokumenty půjdou velmi snadno programově zpracovávat a transformovat do webových stránek nebo do libovolného formátu.

Velikost webu \ technologie statické HTML XML
Malý web (osobní stránky) dobrý způsob možná zbytečně složité
Velký web šíleně pracné ideální

Zobrazení XML

XML se dá prohlížet normálně v prohlížeči (ale jenom v nějakém novějším).

Zobrazení XML v novějším prohlížeči

Žádná krása, co? Pomocí CSS (kaskádových stylů) se sice může XML dokument trochu zformátovat (takže se tam nebudou zobrazovat ty tagy), ale ani pak jednoduché XML nelze použít na normálním webu. Hlavně protože starší prohlížeče (čtvrté verze) XML zobrazovat neumějí, současné prohlížeče to dělají každý ji (bez XSL transformace)nak a budoucí prohlížeče to taky budou dělat jinak. Zobrazení XML přímo v prohlížeči je ale dobré na hraní a na pokusy.

Seriózní práce přinášející výborné výsledky začíná s použitím transformačních XSL šablon.

Konverze XML pomocí XSLT

XML dokument se dá snadno konvertovat do mnoha různých fomátů (např. html, jiné xml, rtf, txt atd.). Konverze se provádí pomocí XSLT šablon a XSLT procesoru, což je bezesporu ta nejlepší věc, co XML nabízí. (XSLT znamená eXtended Stylesheet Language - Transformation, volně přeloženo rozšiřitelný stylový jazyk transformací.)

Nejčastěji se XML konvertuje do HTML. Schematicky:

XML dokument + XSLT šablona = HTML stránka

Dá se ale konvertovat do skoro všech jiných formátů:

Možnosti převodu XML pomocí XSLT šablon

Pomocí XSL se dá například zařídit, aby se hezky strukturovaný XML dokument automaticky převedl na příšerné (ale v prohlížeči dobře vypadající) HMTL. Přitom stačí napsat jednu XSL šablonu pro celý web.

Jedna XSL šablona se použije mnohokrát

Příklad XSL transformace

 jsem strašně línej!!!! zatím nedopsáno.

Jak použít XSLT

Na začátku stojí vždy několik XML dokumentů. Předpokládám konverzi do HTML stránek. Nejdůležitější je rozlišovat, kde se transformace uskuteční:

Transformace u autora

Autor stránek má dokumenty někde u sebe. U sebe má také XSLT šablony, které obsahují HTML formátování. Jednou za čas spustí export, zautomatizovanou konverzi do HTML souborů. Tyto soubory se pošlou normálně na server. Původní soubory zůstanou nezměněny a veškeré změny se provádějí jenom v nich. Když se něco změní, spustí se znovu konverze a stránky se znovu odešlou.

Pro export (konverzi) stránek je třeba mít nainstalovaný nějaký XSLT procesor. Dnes už existuje hodně výborných XSLT procesorů, některé i pro Windows.

Na serveru nemusí běžet nic, jenom statické stránky. Osobně považuji toto řešení za skvělé.

Transformace na serveru

XML dokumenty i XSLT šablony se pošlou na server. Na serveru je nainstalovaný XSLT procesor, který stránky on-line konvertuje. Na klienta se posílá jen XML. Změny stránek se provádějí posíláním změněných XML a XSLT souborů na server.

Je to jednoduché na správu, ale na serveru musí být nainstalovaný XSLT procesor jako CGI skript nebo jako modul serveru. Ačkoli se to už docela často používá, rozhodně to není na serverech běžné. Navíc je taková serverová řešení mají velké problémy s výkonem a pro zatížené aplikace se vyloženě nehodí.

Transformace u klienta

XML dokumenty i XSLT šablony leží na serveru. Netransformují se ale, nýbrž se odesílají na klienta. Prohlížeč přijme XML dokument, stáhne si k němu XSLT šablonu a pokusí se stránku správně sestavit. To se mu:

Správně umí XSLT šablony transformovat pouze Mozilla 1.0 a podle mých zkušeností také Internet Explorer 6.0. Experti tvrdí, že IE6 má nějaké problémy, nevím. IE 5.5 konvertuje XSLT neúplně a spoustu důležitých věcí neumí (například xsl:value-of).

Kvůli nejisté podpoře prohlížečů se stále nedoporučuje používat na webu soubory XML pro klienty. Nicméně je to výborná metoda pro první pokusy s XML a XSLT.

 

Stránka není hotová a dost dlouho asi nebude.

 

Píše Yuhů
dusan@pc-slany.cz
Jak psát web O tvorbě, údržbě a zlepšování internetových stránek.

Základy HTML CSS FrontPage JavaScript

Hledání


Rozšířené


Jak psát web: http://dusan.pc-slany.cz/internet/

Píše Yuhů: autorova stránka, mail: dusan@pc-slany.cz

Poslední aktualizace 15.12.2002