XSLT cs

Úvod
Stylové jazyky
CSS
XSLT
XSL FO

Counter

XSLT je samostatným standardem W3C, který definuje jazyk pro transformaci XML dokumentů. Jazyk XSLT je nejvhodnější pro transformaci XML dokumentů do XML. XSLT je koncipován jako součást stylového jazyku pro XML --- XSL. Druhou součástí XSL je slovník formátovacích objektů známý jako XSL FO.

Transformace XML dokumentu je vyjádřena v syntaxi XML. XSLT definuje syntaxi i sémantiku jazyka XSLT. XSLT si vyhrazuje pro svoje značky vlastní jmenný prostor http://www.w3.org/TR/1999/XSL/Transform. Kromě vlastních značek pro transformaci může dokument obsahovat i značky z jiných jmenných prostorů. Transformace vyjádřená v XSLT se nazývá předloha (stylesheet).

Transformace v jazyce XSLT popisuje pravidla pro převod zdrojového stromu do stromu cílového. Pravidla jsou složena ze vzorů a šablon, které jsou spolu svázány. Když uzel ze zdrojového stromu odpovídá vzoru, pak je spuštěna příslušná šablona, která vygeneruje část stromu cílového. Struktura cílového stromu se může výrazně od zdrojového stromu lišit. Pravidla pro převod zdrojového stromu na cílový mohou uzly filtrovat, přeuspořádávat i přidávat nové podstruktury.

Šablona může obsahovat přímo literálová data, která jsou zkopírována do výsledného stromu; může také obsahovat elementy XSLT, které jsou chápány jako instrukce, jejichž výsledek se stává součástí výsledného stromu. Instrukce mohou vybírat a zpracovávat potomky zdrojového elementu. Takovéto zpracování potomků je zpravidla delegováno na další šablony s příslušnými vzory.

Při výběru šablony, která bude aplikována, se stává, že je možné použít více vzorů. Aplikována bude ale jenom jedna šablona, a tak standard XSLT popisuje i způsob, jakým se mají tyto konflikty rozhodovat.

K určení vzorů, při podmíněném zpracování a při generování textu založeného na zdrojovém stromu se používá jazyk XPath. Většina instrukcí XSLT je relativní k aktuálnímu kontextu; kontext mění jen několik instrukcí. Aktuální kontext je pak používán i v příslušných partiích XPath.

Jazyk XSLT není uzavřeným jazykem bez možnosti rozšiřování. Standard XSLT umožňuje rozšiřování elementů XSLT a rozšiřování knihovny funkcí využitelných v XPath.

XSLT obsahuje také prostředky pro

  1. modularizaci - import, include
  2. definování jak zacházet s bílými znaky - strip-space, preserve-space
  3. bližší určení formátu výstupu - output
  4. parametrizovatelnost šablon pomocí proměnných - param, variable
  5. číslování - number, decimal-format
  6. podmíněné zpracování - if, choose
  7. tvorbu prvků cílového dokumentu - element, attribute, comment, processing-instruction, text, value-of
  8. ladění šablony - message

Tato kapitola sloužila pouze jako úvod do transformačního jazyka XSLT. Další informace lze nalézt ve standardu (XSLT Standard, 1999) .