Stylové jazyky

aneb slušivý kabát pro dokumenty snadno a rychle

Jiří Kosek


Obsah

Připojení stylu k dokumentu
Kaskádové styly
Postup tvorby stylu
CSS a podpora prohlížečů
Zajímavé odkazy

V předchozích dílech našeho malého seriálu o XML jsme si ukázali, že XML lze použít pro uchovávání dat libovolné povahy. Můžeme tak XML využít pro ukládání informací a pro jejich přenos mezi různými systémy. Nepracují-li informační systémy jako černé díry, které informace jen pohlcují, je potřeba uživateli nabídnout uložené údaje v nějaké pěkné a srozumitelné podobě. Tou samozřejmě není zdrojový kód v XML, ale přehledně zformátovaný dokument, který můžeme vyrobit pomocí stylových jazyků.

Základní myšlenkou, na které staví většina značkovacích jazyků včetně XML a SGML, je důsledné oddělení obsahu dokumentu od jeho vzhledu. Značky použité v XML dokumentu vyznačují význam jeho jednotlivých částí – říkají např. toto je číslo faktury, toto popis obrázku a toto zase e-mailová adresa našeho zákazníka. O tom, jak se konkrétní údaj zobrazí na obrazovce nebo vytiskne na tiskárně, samotný jazyk XML nic neříká. Můžeme si však odděleně vytvořit definici vzhledu jednotlivých elementů, které se říká styl. S jeho pomocí je pak zobrazení dokumentu velice snadné, stačí mít k dispozici aplikaci, která umí číst XML dokumenty a rozumí použitému stylovému jazyku.

Tím se dostáváme k otázce, které stylové jazyky můžeme použít. Dnes se nejčastěji používají dva – kaskádové styly (CSS) a XSL (eXtensible Stylesheet Language). S kaskádovými styly se seznámíme ještě v tomto díle, XSL si necháme na příště. Existují samozřejmě i další jazyky, např. DSSSL a FOSI, ale těmi se zabývat nebudeme, protože nejsou zdaleka tak rozšířené jako CSS a XSL.

Pokud jste dosud pracovali s běžnými textovými editory, může vám připadat oddělnení obsahu dokumentu od jeho vzhledu (stylu) poněkud nepřirozené. Přináší to však některé výhody. Tou první je možnost formátovaní jednoho dokumentu pomocí více různých stylů. Máme-li ve formě XML uložen ceník naší firmy, můžeme pomocí jednoho stylu vytvořit pěkně zformátovaný ceník, který se stane součástí tištěného katalogu. Pomocí jiného stylu můžeme vytvořit webovou podobu ceníku. Styly přitom mohou respektovat rozdílné vlastnosti jednotlivých výstupních médií (papír, obrazovka) a umožní využít jejich plný potenciál. Tento přístup nám navíc šetří spoustu práce při aktualizaci dat – ta jsou uložena jen na jednom místě v XML dokumentu a odpadá tak potřeba ručního udržování dvou nebo více verzí jednoho dokumentu v několika formátech.

Druhou výhodou stylů oceníme v případech, kdy vytváříme větší množství dokumentů s jednotným vzhledem – např. firemní webové stránky, faktury, dokumentaci k výrobkům apod. Pomocí jednoho stylu můžeme formátovat celou skupinu dokumentů jednoho typu a tím snadno dosáhnout jednotného vzhledu. Pokud navíc chceme najednou změnit vzhled našich dokumentů, stačí upravit jeden styl, nemusíme se probírat stovkami dokumentů.

Připojení stylu k dokumentu

Pokud chceme, aby se při zobrazování dokumentu používal určitý styl, musíme to samozřejmě jednotlivým aplikacím sdělit. Používá se k tomu speciální instrukce zpracování xml-stylesheet. Vždy musíme určit URL adresu, na které je uložen styl, a typ použitého stylového jazyka.

<?xml-stylesheet href="mujstyl.css" type="text/css"?>

V tomto případě se jedná o styl v CSS. Pokud bychom chtěli použít XSL, museli bychom jako hodnotu type použít text/xsl. Styl je uložen v souboru mujstyl.css, který je ve stejném adresáři jako XML dokument.

Instrukci pro připojení stylu musíme uvádět na začátku dokumentu.

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="mujstyl.css" type="text/css"?>
<dokument>
  ...
</dokument>

Tomuto zápisu rozumí většina prohlížečů podporujících XML a některé editory. Stylů lze připojit k jednomu dokumentu dokonce více najednou. Lze například určit, který styl se použije pro tisk, a který při zobrazení na obrazovce.

© Jiří Kosek 2000-2001