XSLT-Elemente

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

 

 

xsl:next-match

Die Instruktion xsl:next-match dient zum Aufrufen eines anderen Templates. Hierbei wird explizit das Template aufgerufen, welches auf den gleichen Knoten passt wie das aktuelle Template, aber eine niedrigere Priorität hat.

Wird also für einen Kontextknoten zwei oder mehr treffende Templates gefunden, wird zuerst deren Priorität bestimmt (am einfachsten mit dem priority-Attribut) und das Template aktiviert, welches die höchste Priorität hat. Enthält dieses Template nun die Instruktion xsl:next-match wird an dieser Stelle das Template aufgerufen, welches ebenfalls auf den Kontextknoten passt und die nächst höhere Priorität hat.

Beispiel 2

<?xml version="1.0"encoding="UTF-8"?>
<root>
  <section>
    <para style="bold">
    Als Gregor Samsa eines Morgens aus unruhigen Träumen erwachte, 
    fand er sich in seinem Bett zu einem ungeheueren Ungeziefer 
    verwandelt.
    </para>
  </section>
  <section>
    <para style="italic">
    Er lag auf seinem panzerartig harten Rücken und sah, wenn er 
    den Kopf ein wenig hob, seinen gewölbten, braunen, von 
    bogenförmigen Versteifungen geteilten Bauch, auf dessen Höhe 
    sich die Bettdecke, zum gänzlichen Niedergleiten bereit, kaum 
    noch erhalten konnte.
    </para>
  </section>
  <section>
    <para>
    Seine vielen, im Vergleich zu seinem sonstigen Umfang kläglich 
    dünnen Beine flimmerten ihm hilflos vor den Augen.
    </para>
  </section>
</root>
<?xml version="1.0"encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:template match="/root" priority="10">
        <html>
            <head>
                <title>apply-imports</title>
            </head>
            <body>
                <p>
                    <xsl:value-of select="section[1]/para"></xsl:value-of>
                </p>
                <p>
                    <xsl:value-of select="section[2]/para"></xsl:value-of>
                </p>
                <xsl:next-match></xsl:next-match>
            </body>
        </html>
    </xsl:template>
    <xsl:template match="/root" priority="9">
        <p>
            <xsl:value-of select="/root/section[3]/para"></xsl:value-of>
        </p>
    </xsl:template>
</xsl:stylesheet>

 

 

  > nach oben
   
  > zurück zur alphabetischen Liste der XSLT Elemente