XSLT <xsl:apply-templates>-element
Definition och användning
Elementet <xsl:apply-templates> kan tillämpa mallar på aktuellt element eller underelement till aktuellt element.
Om vi lägger till ett select-attribut till <xsl:apply-templates>-elementet, kommer det endast att hantera underelement som matchar värdet för detta attribut. Vi kan använda select-attributet för att reglera ordningen på att hantera underpunkter.
Syntaks
<xsl:apply-templates select="expression" mode="name"> <!-- Innehåll:(xsl:sort|xsl:with-param)* --> </xsl:apply-templates>
Egenskap
Egenskap | Värde | Beskrivning |
---|---|---|
select | Uttryck | Valfritt. Anger vilken nod som ska behandlas. Stjärna (*) väljer hela nodgruppen. Om attributet utelämnas väljs alla undernoder av den aktuella noden. |
mode | Namn | Valfritt. Om det finns flera behandlingsmetoder definierade för samma element, kan mode användas för att skilja dem från varandra. |
Exempel
Exempel 1
Använd h1-element för att omge varje title-element i dokumentet:
<?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>
Exempel 2
Använd h1-element för att omge alla title-element som tillhör alla underelement av message i dokumentet:
<?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>
Exempel 3
Använd h1-element för att omge alla undernoder av dokumentet som har mode-egenskapen satt till "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>