XSLT <xsl:apply-templates>-Element

Definition und Verwendung

Das <xsl:apply-templates>-Element kann Mustertemplate auf das aktuelle Element oder die Unter elemente des aktuellen Elements anwenden.

Wenn wir dem <xsl:apply-templates>-Element ein select-Attribut hinzufügen, wird es nur die Unter elemente verarbeiten, die dem Wert dieses Attributes entsprechen. Mit dem select-Attribut können wir die Reihenfolge der Verarbeitung der Unter elemente bestimmen.

Syntax

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

Attribut

Attribut Wert Beschreibung
select Ausdruck Optional. Definiert den zu verarbeitenden Knoten. Ein Stern (*) wählt den gesamten Knotensatz. Wird dieses Attribut weggelassen, werden alle Unter knoten des aktuellen Knotens ausgewählt.
mode Name Optional. Wenn mehrere Verarbeitungsmethoden für denselben Element existieren, kann mode verwendet werden, um sie zu unterscheiden.

Beispiel

Beispiel 1

Mit dem h1-Element umschließt man jeden title-Element im Dokument:

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

Beispiel 2

Um alle title-Elemente aller Unter节点 des Dokuments, die zu message gehören, mit dem h1-Element einzuklammern:

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

Beispiel 3

Um alle Unter节点 des Dokuments, deren mode-Attribut auf "big" gesetzt ist, mit dem h1-Element einzuklammern:

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