Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


xsl:apply-templates

xsl:apply-templates

Dasselbe Resultat können Sie mit einem anderen Ansatz erreichen: im Template / wird der generelle Aufbau des HTML-Zieldokuments definiert; an geeigneter Stelle wird mit "xsl:apply-templates select" wiederum über XPath ein zweites Template aufgerufen, das für alle Ort-Knoten zuständig ist. Dieses Prinzip können Sie weiter treiben: im Template Ort wird das Template name aufgerufen, das nun endlich die formatierte Ausgabe aus dem aktuellen Knoten (.) erzeugt.

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
      <body>
        <h3>Erste Transformation aus XML</h3>
        <xsl:apply-templates select="/Orte/Ort"/>
      </body>
    </html>
  </xsl:template>
  <xsl:template match="Ort">
    <xsl:apply-templates select="name"/>
  </xsl:template>
  <xsl:template match="name">
    <p>Dieser Ort heisst: <b><xsl:value-of select="."/></b></p>
  </xsl:template>
</xsl:stylesheet>

Der Template-Ansatz bietet die Möglichkeit, dass Sie diverse Templates in externe XSL-Dateien auslagern und diese später über <xsl:import href=""/> bzw. <xsl:include href=""/> einbinden können. Damit können Sie Stylesheets für diverse Ansätze leichter wieder verwenden.

Der Unterschied liegt in der Ranghierarchie der Templates: während beim include die eingebundenen Templates denselben Rang haben wie die Templates des inkludierenden Stylesheets, haben importierte Variable und Templates einen geringeren Rang als jene des importierenden Stylesheets.

Ob sich die Auslagerung und der Re-Import tatsächlich als vorteilhaft erweisen, wird noch zu untersuchen sein.

qrpic/XSL_Beispiel2_.jpg

wg / 31. August 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

Mobil: 0151. 750 360 61 * eMail: info10@wilfried-grupe.de