<xsl:apply-templates> |
Diese Anweisung weist den XSLT-Prozessor an, die entsprechenden Vorlagen (Templates) auf eine Knotenmenge anzuwenden.
Kategorie
Anweisung
Obligatorische Attribute
Keine
Optionale Attribute
select Dieses Attribut enthält einen XPath-Ausdruck, der die Knoten auswählt, auf die Vorlagen angewendet werden sollen. Ein zulässiger Wert ist * , wodurch die gesamte Knotenmenge ausgewählt wird. Ohne dieses Attribut werden alle Elemente ausgewählt, die dem aktuellen Knoten untergeordnet sind. mode Dieses Attribut definiert einen Verarbeitungsmodus, eine praktische Syntax, die das Erstellen spezifischer Vorlagen für spezifische Zwecke erlaubt. Sie könnten etwa eine < xsl:template > -Vorlage mit mode= " toc " erstellen, um einen Knoten für das Inhaltsverzeichnis eines Dokuments zu verarbeiten sowie weitere < xsl:template > -Vorlagen mit mode= " print " , mode= " online " , mode= " index " usw., um dieselbe Information für verschiedene Zwecke zu verarbeiten.
Inhalt
Das Element <xsl:apply-templates> kann eine beliebige Anzahl optionaler <xsl:sort>- und <xsl:with-param>-Elemente enthalten. In den meisten Fällen ist <xsl:apply-templates> leer.
Übergeordnetes Element
<xsl:apply-templates> erscheint innerhalb einer Vorlage.
Definition
XSLT-Abschnitt 5.4, Anwendung von Template-Regeln
Beispiel
In der Fallstudie mussten mehrere Ausgaben derselben Daten erstellt werden. Dieser Anforderung konnte durch das Attribut mode des Elements <xsl:apply-templates> entsprochen werden. Hier die Hauptvorlage (match="/"):
    <xsl:template match="/">
      <xsl:apply-templates select="tutorial" mode="build-main-index"/>
      <redirect:write select="concat($curDir, $fileSep, 'index.html')">
        <xsl:apply-templates select="tutorial" mode="build-main-index"/>
      </redirect:write>
      <xsl:apply-templates select="tutorial" mode="build-section-indexes"/>
      <xsl:apply-templates select="tutorial" mode="build-individual-panels"/>
      <xsl:apply-templates select="tutorial" mode="generate-graphics"/>
      <xsl:apply-templates select="tutorial" mode="generate-pdf-file">
        <xsl:with-param name="page-size" select="'ltr'"/>
      </xsl:apply-templates>

      <xsl:apply-templates select="tutorial" mode="generate-pdf-file">
        <xsl:with-param name="page-size" select="'a4'"/>
      </xsl:apply-templates>
      <xsl:apply-templates select="tutorial" mode="generate-zip-file"/>
    </xsl:template>
Beachten Sie, dass dieses Beispiel das Element <tutorial> acht mal auswählt, aber Vorlagen mit einem anderen Modus anwendet (bzw. mit anderen Parametern für denselben Modus).