XSLT - Příručka internetového vývojáře

Martin Kysela 23. 7. 2002

V dnešní knižní recenzi se podíváme na skvělou knihu od Stevena Holznera, která se zabývá problematikou XSLT, tedy především konverzí dokumentů z jazyka XML do jiných formátů. Povíme si něco málo o tom, co nás v této knize čeká, a věřím, že každý, kdo s jazykem XML pracuje, ocení informace, které mu tato publikace poskytne. Tak tedy pojďme na to...

Jazyk XML se těší stále větší oblibě snad už téměř ve všech odvětvích, která se na Internetu prosazují. Před programátory však zůstává mnohdy téměř neřešitelný úkol – jak přetransformovat dokument v jazyku XML do dokumentu ve formátu DOC, RTF, JScript, TXT, HTML nebo třeba i XML (s jinou vnitřní strukturou). Právě tento problém řeší XSLT (Extensible Stylesheet Language Transformations). Dostupných informací o tomto jazyku je bohužel poměrně málo, obzvláště pak těch kvalitních. A právě proto vydalo v letošním roce nakladatelství New Rider's Publishing knihu Inside XSLT. Její překlad od nakladatelství Computer Press se brzy objevil i na pultech českých obchodů.

Kniha je rozdělena do dvanácti částí a dvou dodatků. Postupně se v ní dozvíme téměř vše, co nás o jazyku XSLT vůbec může zajímat. Povíme si o základech jazyka, vytváření porovnávacích vzorů nebo třeba o vytváření šablon a stylů. Vše je doplněno srozumitelnými příklady, které také nalezneme na přiloženém CD.

Ale nepředbíhejme a proberme si jednotlivé části knihy postupně. První část nese název Základy XSLT. Její obsah je tedy zřejmý. Dozvíme se tady něco o struktuře jazyka, něco málo o XML a o tom, jak probíhá samotná transformace dokumentu pomocí XSLT. Tato kapitola je jakýmsi „nudným úvodem“, který je však pro další pochopení předkládané látky zcela nezbytný. Když se prokoušeme přes tuto první část, dostaneme se k dalšímu oddílu knihy, kterým je Tvorba a používání stylů XSLT. Asi nemá příliš smysl tuto část komentovat. Na necelých čtyřiceti stránkách je rozebrána problematika tvorby stylů dokumentů. Mimo jiné se zde dozvíme i něco málo o šablonách, které jsou však mnohem podrobněji probrány v další části – Tvorba a používání šablon. Konečně se dostáváme k něčemu, co zavání skutečným programováním. Nejprve se naučíme vytvořit si novou šablonu, zpracovat vnořené uzly a následně bude řeč o přístupu k hodnotám uzlů. Když jsem kdysi hledal dokumenty o XSLT na Internetu, právě tyto části bývaly silně zanedbány. V této knize se o nich však dozvíme poměrně dost. Co také oceňuji, je přítomnost nejrůznějších rad pro zabezpečení činnosti, upozorňování na nejčastější chyby apod. Je vidět, že autor je skutečný profesionál. Jako čtvrtá se na řadu dostává Tvorba porovnávacích vzorů. Ačkoli to v mnohém vývojáři může vzbuzovat asociace s regulárními výrazy, není tomu tak. :-) Řeč bude především o skokových vzorech a o způsobech vyhledávání. Pátou v pořadí je kapitolka Rozhodovací procesy a třídění dat. Zde se dozvíme něco o podmínkách a cyklech, které můžeme v jazyku XSLT používat. Samozřejmě, že jejich činnost je mírně odlišná od klasických konstrukcí, které známe třeba z C, ale význam je stejný – zhodnotit činnost a rozhodnout o dalším postupu. Jako šestá je v knize zařazena kapitola s názvem Transformace z XML na XML, HTML, XHTML, RTF a úprava obsahu dokumentu. Tuto část knihy bych považoval vůbec za jednu z nejdůležitějších v celé knize. Dozvíme se zde právě o hlavním smyslu jazyka XSLT, který slouží k převádění dokumentů v jazyku XML na dokumenty v XML s jinou strukturou nebo na jiné formáty (už zmíněné HTML, RTF, XHTML,…). Kromě toho zde nalezneme i něco málo o vytváření jedinečných identifikátorů a některých zajímavých funkcích, které s těmito oblastmi souvisí. Sedmá část knihy volně navazuje na čtvrtou a prohlubuje čtenářovi znalosti o jazyku XPath, který je v XSLT využíván mimo jiné právě i pro tvorbu porovnávacích vzorů. Název kapitoly – Jak pochopit a používat jazyk XPath – vůbec nelže. Skutečně se zde dozvíte maximum informací, které o jazyku XPath budete kdy potřebovat. V závěru této kapitoly se také čtenář dozví něco o chystaných vylepšeních v jazyku XPath 2.0, který by se měl brzy objevit. Osmá kapitola – Používáme funkce jazyků XSLT a XPath – je jakousi náhradou za referenční příručku, dá-li se to tak říci. Obsahuje stručný popis všech používaných funkcí, s nimiž se v jazycích XSLT a XPath můžeme setkat. O něco zajímavější, z praktického hlediska, je devátá část knihy – Pojmenované šablony, argumenty a proměnné. Po odlehčení u čtení popisu funkcí jsme drasticky vtaženi zpět do světa programování. Naučíme se tvořit proměnné v jazyku XSLT, povíme si něco o jejich platnosti a především o jejich použití. Obdobný proces se opakuje ještě s argumenty. Dále se zde dozvíme něco o generování stylů XSLT. Desátou část knihy – Aplikační rozhraní procesorů XSLT – ocení především „okenní uživatelé“. Je zde rozebrána problematika spolupráce XSLT s JavaScriptem v MSIE a řada dalších témat, vztahujících se právě k Internet Exploreru. Autor se zde také zaměřuje na transformaci XML na databázi SQL nebo použití XSLT na stránkách ASP a JSP. Předposlední kapitola knihy – Práce s XSLT při tvorbě dokumentů XSL-FO: Text a tabulky – se podrobněji zabývá jazykem XSL-FO, který výrazně překračuje rámec specifikace jazyka XSLT a slouží pro různé pokročilejší úkony. Dozvíme se zde o formátovacích vlastnostech jazyka XSL-FO a objektech, které používá. Podrobně je rozebrána transformace stylu XSLT na formát XSL-FO. V této kapitole zkrátka získá zkušenější čtenář větší jistotu v oblastech, ve kterých si dříve nebyl příliš jistý a které by chtěl prohloubit. Celou knihu pak zakončuje kapitola Práce s XSLT při tvorbě dokumentů XSL-FO: Seznamy, obrázky, novinové sloupce a rozvržení. Tady získá čtenář poslední zbytky informací, které mu zatím ještě unikaly. Autor se zde zaměřuje především na doplnění různých znalostí týkajících se stylů, apod. V přílohách pak nalezneme úryvek ze XSLT DTD (Document Type Definition) a především kompletní popis formátovacích vlastností jazyka XSL-FO.

Zní to hezky, co říkáte? Řekněme si ale, jaká tato kniha vlastně je. Především je to učebnice kombinovaná s referenční příručkou. Je určena začátečníkům, ale předpokládá alespoň základní znalost jazyků HTML a XML. Bez splnění těchto předpokladů bude snaha o pochopení probíraných témat vesměs marná. Veškerá probíraná témata jsou okořeněna celou řadou výstižných příkladů, což jistě oceníte především u méně srozumitelných pasáží (v knize jsem jich moc neobjevil, snad jen datové typy v jazyku XPath mohly být lépe popsány). Tyto příklady, samozřejmě s plnou lokalizací, nalezneme na přiloženém CD. To je ostatně kapitola sama pro sebe – na tomto CD nás kromě příkladů čekají také nejznámější editory a procesory jazyka XSLT (Saxon, XT, Xalan,…) a některé zajímavé programy, které oceníte hlavně při práci se styly XSL.

Přemýšlel jsem, co bych knize vytknul. Moc mě toho nenapadlo, protože ji nemohu porovnat s jinými knihami o XSLT – v ČR jich, pokud vím, více nevyšlo. Po obsahové stránce se mi kniha zdá zcela dostačující k pochopení jazyka XSLT a práce s ním. Občas má ale autor tendenci sklouzávat k extrémům, co se sdílnosti týče – někdy je výřečný až příliš a čtenář málem usne (to je případ hlavně úvodních kapitol) a jindy bývá zase poměrně stručný a nezabývá se podrobnějším rozebíráním problematiky. Průměrně inteligentní člověk se však brzy zorientuje a rychle pochopí některé nejasnosti, které mohou vzniknout. Nezbývá mi tedy, než tuto publikaci doporučit.

Knihu vydalo nakladatelství Computer Press v roce 2002 a prodejní cena byla stanovena na 690 Kč (včetně CD). K recenzi ji poskytlo Internetové knihkupectví Mareček, kde ji můžete získat za zvýhodněnou cenu 552 Kč.

Ohodnoťte jako ve škole:

Průměrná známka 3,31

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
120na80.cz: Tady se vaří padělané léky

Tady se vaří padělané léky

Lupa.cz: Válka e-shopů. Alza končí s Heurekou

Válka e-shopů. Alza končí s Heurekou

120na80.cz: 10 dezinfekcí: Vede „starý dobrý“ peroxid

10 dezinfekcí: Vede „starý dobrý“ peroxid

Podnikatel.cz: Proměny stavebnice Seva. Znáte ji?

Proměny stavebnice Seva. Znáte ji?

120na80.cz: Co lidi tropí se sádrou

Co lidi tropí se sádrou

120na80.cz: Poznáte, který z léků je pravý?

Poznáte, který z léků je pravý?

Lupa.cz: Kam si doma dáte internet věcí? Na polici?

Kam si doma dáte internet věcí? Na polici?

Podnikatel.cz: Když už je sexy, tak ať taky funguje

Když už je sexy, tak ať taky funguje

Lupa.cz: Jak EET vidí ajťák aneb Drahá vražda UX

Jak EET vidí ajťák aneb Drahá vražda UX

DigiZone.cz: Změní se veřejnoprávní status ČT?

Změní se veřejnoprávní status ČT?

Root.cz: Zákon o hazardu je v rozporu s ústavou

Zákon o hazardu je v rozporu s ústavou

Vitalia.cz: Syndrom počítačového vidění: stačí dvě hodiny denně

Syndrom počítačového vidění: stačí dvě hodiny denně

DigiZone.cz: Konec geoblokace? Ani náhodou…

Konec geoblokace? Ani náhodou…

DigiZone.cz: Šlágr TV: pokuta 100 tisíc za on-line

Šlágr TV: pokuta 100 tisíc za on-line

DigiZone.cz: UPC umí televizi sedm dní nazpět

UPC umí televizi sedm dní nazpět

120na80.cz: 5 triků, jak zastavit krvácení po holení

5 triků, jak zastavit krvácení po holení

Podnikatel.cz: Šizený guláš na pultě. Jako Lidl to nedělejte

Šizený guláš na pultě. Jako Lidl to nedělejte

Vitalia.cz: Taky ji kupujete? Je šizená

Taky ji kupujete? Je šizená

Vitalia.cz: Dnešní patolog o mrtvolu téměř nezavadí

Dnešní patolog o mrtvolu téměř nezavadí

Vitalia.cz: 7 nemocí očí, které musíte léčit včas

7 nemocí očí, které musíte léčit včas