<Pełna XSLT element odniesienia
Definicja i Wykorzystanie
<xsl:apply-templates> Element stosuje szablon do bieżącego elementu lub do węzłów podrzędnych bieżącego elementu.
Jeśli dodamy do atrybutu select <xsl:apply-templates> elementem będzie przetwarzać tylko element podrzędny, który odpowiada wartości atrybutu. Możemy użyć select atrybut, aby określić, w jakiej kolejności węzły potomne mają być przetwarzane.
Składnia
<xsl:apply-templates select="expression" mode="name">
<!-- Content:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>
Atrybuty
Atrybut | Wartość | Opis |
---|---|---|
select | expression | Opcjonalny. Określa węzły do obróbki. Gwiazdka zaznacza cały zestaw węzłów. Jeśli ten atrybut jest pominięty, zostaną wybrane wszystkie węzły podrzędne bieżącego węzła |
mode | name | Opcjonalny. Jeśli istnieje wiele sposobów przetwarzania określonej dla tego samego elementu, wśród nich wyróżnia |
Przykład 1
Zawijać pojedynczy h1 elementu wokół każdego elementu tytułową w dokumencie:
<?xml version="1.0" encoding="UTF-8"?>
<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
Zawijać pojedynczy h1 elementu wokół wszystkich elementów, które są tytułowych dzieci komunikatem:
<?xml version="1.0" encoding="UTF-8"?>
<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
Owinąć wokół pojedynczego elementu h1 wszystkich węzłów potomnych wiadomości, które mają mode atrybut ustawiony na "big" :
<?xml version="1.0" encoding="UTF-8"?>
<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>
<Pełna XSLT element odniesienia