Moderní značkovací jazyky a jejich aplikace

8. týden 10. 4. 2006

Dokončení tématu XSLT transformací:
  • volání transformací z aplikací (přes Java Core API, balík javax.xml.transform)
  • princip: na vstupu transformace "cokoli": strom (DOMSource), vstupní proud (StreamSource), proud SAX událostí (SAXSource)
  • na výstupu obdobně -- DOMResult - výstup do existujícího (prázdného) stromu dokumentu, StreamResult (např. do souboru), SAXResult (do posluchače SAX událostí)
Pro opakované vykonávání transformace definované jedním stylem je vhodné předkompilovat styl do podoby
objektu Templates a pro každou transformaci z Templates vytvořit unikátní Transformer.

Parametry: styl může deklarovat parametry, které lze zvenčí předat. Klíčem je vždy název parm. (řetězec), hodnotou může být "cokoli", tj. objekt.

Parametry lze předávat i mezi šablonami v rámci stylu, viz přiložené demo.

Skkládání stylů pomocí "xsl:import" (s nižší prioritou importovaných šablon) nebo "xsl:include" (s toutéž prioritou).
Transformace s parametry
XSLT styl deklaruje parametry, hodnoty se předávají zvenčí před spuštěním transformace. Parametry se mohou předávat i mezi šablonami - jak pojmenovanými, tak běžnými "xsl:template match="