Obsah
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∙.
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.