Definice Technologie XSL (eXtensible Stylesheet Language) je rodinou jazyků a specifikací, která byla navržena pro tvorbu a prezentaci XML dokumentů a dat ve specifikovaných formátech. Formáty přitom odpovídají požadavkům konečných výstupních médií nebo zařízení. *** konec definice
Značkovací (markup) jazyky existují od roku 1969, kdy trojice výzkumných pracovníků firmy IBM vytvořila Generalized Markup Language. Ten byl praotcem HTML (HyperText Markup Language), díky němuž funguje web, a XML (eXtensible Markup Language), jenž se stal primárním prostředkem definice, ukládání a formátování dat v mnoha oblastech včetně textových dokumentů, formulářů a databází. V srdci těchto jazyků se nachází systém zvaný značkování, kde text nebo data jsou označena indikátory uzavřenými v úhlových závorkách. Tyto indikátory vždy začínají útvarem (kde „tag“ je nahrazen příslušným popisem značky) a častou jsou ukončeny útvarem . HTML stránky využívají standardizovaných, předem definovaných značek. Například
znamená odstavec,
značí hlavičku a značka následovaná značkou znamená, že vložený text bude formátován tučným písmem. Webové prohlížeče interpretují tyto značky a formátují podle nich odpovídajícím způsobem text při zobrazování stránek. U XML již mohou značky definovat programátoři, přičemž prohlížeče nedisponují žádnými vestavěnými znalostmi o tom, co ta či ona značka znamená a jak by s ní měly naložit. Záležitost je dále komplikována tím, že značky mohou být využity jak k popisu samotných dat (obsahu), tak jako formátovací instrukce (jak by měl být daný prvek uspořádán nebo zobrazen). Například značka
by mohla stejně dobře znamenat jak maticové uspořádání položek na HTML stránce, tak kus nábytku (table = tabulka, ale i stůl). Tato flexibilita je silnou stránkou XML, nicméně současně ztěžuje rozlišování mezi obsahem a formátem. Pro formu Abychom byli schopni zobrazit XML užitečným způsobem, potřebujeme mechanismus, který identifikuje a popisuje význam formátovacích značek a ukazuje, jakým způsobem ovlivňují další části dokumentu. Mezi dřívější mechanismy používané k tomuto účelu patřil jazyk Document Styles Semantics and Specification Language a CSS (Cascading Style Sheets). Oba tyto mechanismy byly nyní rozšířeny a překonány standardem XSL, doporučeným ze strany World Wide Web konsorcia (W3C) v roce 2001. XSL nabízí komplexní model a slovní zásobu pro psaní seznamu stylů (stylesheet) s využitím syntaxe XML. Využívá se k definování způsobu, jakým by se měl XML soubor transformovat do formátu (například HTML), který je prohlížeč schopen rozeznat a pochopit. Pomocí XSL lze přidávat prvky k výstupnímu souboru nebo stávající prvky naopak odstraňovat či ignorovat. Vedle celé řady dalších věcí je možné měnit uspořádání prvků a prvky lze třídit, testovat a rozhodovat o tom, které z nich by měly být zobrazeny. Komponenty XSL XSL je ve skutečnosti rodinou tří nástrojů, které vytvořila W3C XSL Working Group: XPath, XSLT a XSF-FO. * XPath neboli XML Path Language se využívá ke specifikování částí XML dokumentu, které budou přetvořeny pomocí XSL Transformation (XSLT). XPath interpretuje XML dokument jako hierarchický strom uzlů, jež mohou obsahovat prvky, atributy nebo text. Tento hierarchický strom nazýváme source-node tree. * XSLT popisuje způsob filtrování nebo konverze (transformace) XML dokumentů na jiné druhy XML dokumentů, včetně XSL Formatting (XSL-FO) souborů. XSLT stylesheet obsahuje soubor pravidel pro šablony, jež slouží k transformaci zdrojového stromu pomocí porovnání vzorků proti jednotlivých prvkům zdrojového stromu. Pokud je nalezena shoda, pravidla se použijí k vytvoření nového uzlu ve výsledném stromu. Struktura výsledného stromu může být zcela odlišná od struktury stromu zdrojového, jelikož jednotlivé prvky lze filtrovat a přeuspořádat nebo přidat libovolnou strukturu. XSLT stylesheet je cosi jako složitá rutina pro vyhledávání a nahrazování. * XSL-FO jsou instrukce, které definují, jak přesně bude dokument formátován pro určité médium nebo zařízení. U dokumentu, který se má tisknout, mohou formátovací objekty zahrnovat znaky, bloky textu, obrázky, tabulky, ohraničení apod. XSL-FO specifikuje různá pravidla pro vzhled (například kde se může objevit zalomení stránky) a požadavky (například umístění zápatí), ale XSL-FO soubor sám o sobě neurčuje, kde přesně mají být jednotlivé prvky umístěny. To je realizováno pomocí samostatného formátovacího enginu, který tento soubor interpretuje. XSL-FO se ale neomezuje na tištěné stránky a vzhled na obrazovce, může specifikovat například i přehrávání audia. XSL-FO se někdy nesprávně označuje jako XSL. Proč XSL? Standard XSL je určen pro opakující se situace, kdy jsou dokumenty dynamicky generovány a formátovány na vyžádání, nikoliv pro dokumenty, u nichž modifikace vzhledu, obsahu a typografie vyžaduje kreativního profesionála k tomu, aby se docílilo přijatelného (byť statického) vzhledu. XSL se proto ideálně hodí pro dokumenty, u nichž je vyžadován výstup v celé řadě formátů a na mnoha různých typech zařízení, počínaje tiskárnami nebo počítačovými monitory a konče handheldy či mobilními telefony. *** překlad schématu XSL v akci Vstup XML dokument 1. XML data jsou vytvářena ve formě strukturovaného XML dokumentu. 2. Zdrojový strom. XSL čte zdrojový strom. 3. 3. XPath – výběr uzlu stromu. XPath soubor stanoví, které uzly je nutno transformovat. 4. 4. XSLT stylesheet. XSLT stylesheet uvádí detailní údaje o transformaci pomocí pravidel a šablon. Pravidla – Šablona Transformace (provádění instrukcí) 5. Výsledný strom uzlů. Vykonáním instrukcí vzniká výsledný strom. XSL-FO 6. Výsledný XSL-FO soubor. Pravidla pro vzhled a formátování v souboru XSL-FO jsou aplikována na výsledný strom, a tak vzniká výsledný XSL-FO soubor. 7. Formátovací engine. Samostatný formátovací engine zpracovává výsledný soubor. 8. Konečné, formátované XML. Výstup finálního, naformátovaného XML dokumentu. 9. Výstupní zařízení. Specifické výstupní zařízení zobrazuje správným způsobem nové dokumenty s příslušným stylem. *** popis obrázku Tvorbu XSL dokumentů usnadňuje řada specializovaných softwarových nástrojů Problematice XSL se věnuje řada webových stránek, mimo jiné například www.w3schools.com/xsl/
XSL nabízí komplexní model a slovní zásobu pro psaní seznamu stylů s využitím syntaxe XML.
Autor: Russel Kay, redaktor Computerworldu