<xsl:apply-templates select="XPath
"/>
standardně xsl:apply-templates
zpracovává
všechny dětské uzly (select="child::node()"
)
v atributu match
lze používat pouze vzory
(patterns) ne úplné výrazy (expressions)
lze používat pouze osy child, descendant, attribute
ostatní osy lze použít až v případném predikátu
Příklad 7. katalog-sablony-vyber-uzlu.xsl
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <!-- Nastavení výstupní metody a kódování --> <xsl:output method="html" encoding="utf-8"/> <!-- Šablona pro kořenový uzel generuje kostru HTML --> <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> <!-- K dalšímu zpracování vybereme pouze položky --> <xsl:apply-templates select="/katalog/polozka"/> </table> </body> </html> </xsl:template> <!-- Šablony pro jednotlivé elementy --> <xsl:template match="polozka"> <tr> <!-- Zpracováváme jen vybrané podlementy položky --> <xsl:apply-templates select="nazev | kategorie | 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>