XSLT <xsl:apply-templates> Element

Facultatieve cursus

Aanbevolen cursus:

Definitie en gebruik

Element <xsl:apply-templates> kan templates toepassen op het huidige element of de onderliggende elementen van het huidige element.

Als we de select-attribuut toevoegen aan het <xsl:apply-templates>-element, zal het alleen de subelementen verwerken die overeenkomen met de waarde van dit attribuut. We kunnen het select-attribuut gebruiken om de volgorde van het verwerken van sub-elementen te bepalen.
  Syntax
<xsl:apply-templates select="expression" mode="name">

</xsl:apply-templates>

</xsl:apply-templates> Eigenschap Waarde
select Uitleg Optioneel. Bepaal de te verwerken knooppunten. Een ster (*) selecteert de hele knooppuntenverzameling. Als dit attribuut wordt weggelaten, worden alle onderliggende knooppunten van de huidige knoop geselecteerd.
mode Naam Optioneel. Als er meerdere verwerkingsopties zijn gedefinieerd voor dezelfde element, kan mode gebruikt worden om ze te onderscheiden.

Voorbeeld

Voorbeeld 1

Gebruik de h1-element om elke title-element in het document te omkleden:

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

Example 2

Enclose all title elements of all child elements of the message with the 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>

Example 3

Enclose all child nodes of the message with the h1 element that have the mode attribute set to "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>