Element <xsl:apply-templates> XSLT
Definicja i użycie
Element <xsl:apply-templates> może zastosować szablon do bieżącego elementu lub jego podelementów.
Jeśli dodamy atrybut select do elementu <xsl:apply-templates>, będzie on przetwarzał tylko podelementy dopasowane do wartości tego atrybutu. Możemy użyć atrybutu select, aby określić kolejność przetwarzania podpunktów.
Gramatyka
<xsl:apply-templates select="expression" mode="name"> <!-- Content:(xsl:sort|xsl:with-param)* --> </xsl:apply-templates>
Atrybut
Atrybut | Wartość | Opis |
---|---|---|
select | Wyrażenie | Opcjonalnie. Określa węzeł do przetworzenia. Gwiazdka (* ) wybiera cały zbiór węzłów. Jeśli pominie się tę właściwość, wybierze się wszystkie podwęzły bieżącego węzła. |
mode | Nazwa | Opcjonalnie. Jeśli dla tego samego elementu zdefiniowano wiele metod przetwarzania, można je odróżnić za pomocą mode. |
Przykład
Przykład 1
Obejmuje elementem h1 każdy element title:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="title"> <h1><xsl:apply-templates/></h1> </xsl:template> </xsl:stylesheet>
Przykład 2
Obejmuje elementem h1 wszystkie elementy title, które są podelementami message:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="message"> <h1><xsl:apply-templates select="title"/></h1> </xsl:template> </xsl:stylesheet>
Przykład 3
Obejmuje elementem h1 wszystkie podelementy message, dla których atrybut mode ma wartość "big":
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="message"> <h1><xsl:apply-templates select="*" mode="big"/></h1> </xsl:template> </xsl:stylesheet>