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>