XSLT <xsl:apply-templates> element
Definition og brug
<xsl:apply-templates>-elementet kan anvende skabeloner til det aktuelle element eller underelementer af det aktuelle element.
Hvis vi tilføjer en select-attribut til <xsl:apply-templates>-elementet, vil det kun behandle underelementer, der matcher værdien af attributten. Vi kan bruge select-attributten til at bestemme rækkefølgen af behandling af underpunkter.
Syntaks
<xsl:apply-templates select="udtryk" mode="navn"> <!-- Content:(xsl:sort|xsl:with-param)* --> </xsl:apply-templates>
Egenskab
Egenskab | Værdi | Beskrivelse |
---|---|---|
select | Utryk | Valgfri. Angiver den node, der skal behandles. Stjernen vælger hele nodesæt. Hvis attributten udelades, vælges alle undernoder til den aktuelle node. |
mode | Navn | Valgfri. Hvis der er flere behandlingsmetoder defineret for samme element, kan mode bruges til at skelne mellem dem. |
Eksempel
Eksempel 1
Brug h1-element til at omgøre hver 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>
Eksempel 2
Omslut alle title-elementer, der tilhører message, med h1-elementet 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>
Eksempel 3
Omslut alle undernoder i dokumentet med mode-attributten sat til "big" med h1-elementet:
<?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>