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 på detta attribut. Vi kan använda select-attributet för att definiera ordningen för 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 den nod som ska behandlas. Stjärna (*) väljer hela noduppsättningen. Om attributet utelämnas väljs alla undernoder till 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

Omslut alla title-element som tillhör alla underelement av message med h1-element:

<?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

Omslut alla undernoder till message med h1-element 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>