jednotlivé šablony i celý styl mohou mít deklarovány parametry
při volání šablony nebo stylu lze parametrům předávat hodnoty
parametry lze předávat přes příkazovou řádku, API, funkci XSLT IDE, …
Příklad 18. katalog-parametry.xsl
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <!-- Podle jakého elementu se má výsledek seřadit --> <xsl:param name="raditPodle">cena</xsl:param> <!-- Datový typ položky, podle které se řadí --> <xsl:param name="typ">number</xsl:param> <!-- Směr řazení dat (vzestupně/sestupně) --> <xsl:param name="smer">ascending</xsl:param> <xsl:template match="/"> <html> <head> <title><xsl:value-of select="/katalog/nazev"/></title> <style type="text/css"> body { color: black; background-color: white; } table { border: solid 2px black; border-collapse: collapse; } th a { text-decoration: none; color: black; } th { background-color: #FF8000; } th, td { border: solid 1px black; } </style> </head> <body> <h1><xsl:value-of select="/katalog/nazev"/></h1> <table width="100%"> <tr> <th>Název</th> <th>Kategorie</th> <th>Cena</th> </tr> <!-- Před zpracováním jsou položky seřazeny pole vybraných kritétií --> <xsl:apply-templates select="//polozka"> <xsl:sort select="*[local-name() = $raditPodle]" data-type="{$typ}" order="{$smer}"/> </xsl:apply-templates> </table> </body> </html> </xsl:template> <xsl:template match="polozka"> <tr> <xsl:apply-templates select="nazev"/> <xsl:apply-templates select="kategorie"/> <xsl:apply-templates select="cena"/> </tr> </xsl:template> <xsl:template match="nazev"> <td align="center"><xsl:apply-templates/></td> </xsl:template> <xsl:template match="kategorie"> <td align="center"><xsl:apply-templates/></td> </xsl:template> <xsl:template match="cena"> <td align="right"><xsl:apply-templates/> Kč</td> </xsl:template> </xsl:stylesheet>