Hlavní navigace

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č.

Našli jste v článku chybu?

27. 7. 2002 12:06

brn (neregistrovaný)

diky za odpovedi!

ze je to experimentalni, je napsany v manualu;

tu knihovnu, co by to emulovala, jsem myslel asi tak, ze na serverech, kde pobezi moje aplikace a bude tam XSLT, tak to pojede pres XSLT a tam, kde mi to nedovoli, tak to pojede pomalejc pres tu library.

na pear jsem to hledal (diky za ten odkaz, nevedel jsem o tom) a nasel jsem toto:

http://pear.php.net/manual/en/packages.xml.xml_transformer.php

jmenuje se to xml transformer, ale nevypada to, ze by to melo bejt z…









24. 7. 2002 23:20

jozo (neregistrovaný)

XSLT pouzivam s PHP cca 3/4 roka a som uplne spokojny. Nikdy som to nevidel oznac ako experimental. v mdk je to uplne jednoduche staci doinstalovat php-xslt a php-xml.

Ta kniha je fakt dobra, mozem odporucit.



Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Vitalia.cz: Manželka je bio, ale na sex moc není

Manželka je bio, ale na sex moc není

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Na koho se v Křišťálové Lupě nedostalo?

Na koho se v Křišťálové Lupě nedostalo?

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Často čůrá a má žízeň? Příznaky dětské cukrovky

Často čůrá a má žízeň? Příznaky dětské cukrovky

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel