XSLT <xsl:apply-templates> Element

Definitie en gebruik

Het <xsl:apply-templates>-element kan een sjabloon toepassen op het huidige element of de subelements van het huidige element.

Als we de select-attribuut toevoegen aan het <xsl:apply-templates>-element, zal het alleen de subelements verwerken die overeenkomen met de waarde van dit attribuut. We kunnen het select-attribuut gebruiken om de volgorde van het verwerken van subelements te bepalen.

Syntaxis

<xsl:apply-templates select="expression" mode="name">
  <!-- Content:(xsl:sort|xsl:with-param)* -->
</xsl:apply-templates>

Eigenschap

Eigenschap Waarde Beschrijving
select Uitdrukking Optioneel. Bepaal de te verwerken nodes. Een ster (*) selecteert de hele nodeset. Als dit attribuut wordt weggelaten, worden alle subnodes van de huidige node geselecteerd.
mode Naam Optioneel. Als er meerdere verwerkingmethoden zijn gedefinieerd voor dezelfde element, kan mode worden gebruikt om ze te onderscheiden.

Voorbeeld

Voorbeeld 1

Gebruik de h1-element om elk title-element te omringen:

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

Voorbeeld 2

Gebruik de h1-element om alle title-elementen binnen alle subelements van message te omringen:

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

Voorbeeld 3

Gebruik de h1-element om alle subnodes van de message met de eigenschap mode ingesteld op "big" te omringen:

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