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>