www.xml-xslt.de


Startseite

Das Buch

Auszeichnungssprachen

XML-Dokument

Struktur: dtd

Retrieval: XSLT
Grundbegriffe
Daten selektieren
Vorlagen anlegen
Vorlagen aufrufen
Elementinhalte ausgeben
Attributinhalte ausgeben
Pfadangaben

9.2.3    Inhalt der Elemente ausgeben

Bisher wurden nur Vorlagen geschrieben, die andere Vorlagen aufrufen. In dem genann-ten Beispieldokument wäre jetzt wünschenswert, den Autornamen auszugeben. Durch das XSLT-Element <xsl:value-of select=””/> ist es möglich, den Wert eines Elements in das Zieldokument (genauer in dessen Knotenbaum) auszulesen. Im Attribut select wird durch den Wert “.“ der Text des aktuellen Knotens ausgegeben.
    Im folgenden Beispiel wird der Autorname aller Autoren ausgegeben:

<?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="/">
    <xsl:apply-templates/>
</xsl:template>
<xsl:template match="buecher">
            <xsl:apply-templates/>
</xsl:template>
<xsl:template match="buch">
      <xsl:apply-templates select="autor"/>
</xsl:template>
<xsl:template match="autor">
      <xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>

Als Ausgabe dieses XSLT-Stylesheets wird nach der Transformation ausgegeben:

Doug TidwellNicola DixenHerman MelvilleJ. R. R. Tolkien

Es fehlt noch die Formatierung des Textes – z.B. in HTML. Zu diesem Zweck können in das XSLT-Stylesheet die bekannten HTML-Formatierungscodes eingefügt werden. Bei der Transformation wird dann ein HTML-Dokument gemäß den Formatierungsangaben aus dem XSLT-Stylesheet erstellt, das dann in einem Internetbrowser angezeigt werden kann. Einige Internetbrowser führen diese Transformierung selbstständig durch und zei-gen dann auch das HTML-Dokument direkt an.


    Die HTML-Codes werden direkt in die Vorlagen geschrieben. Im folgenden Beispiel generiert die Vorlage für den Wurzelknoten das Element <html> sowie den Bereich <head> und <title> des HTML-Dokuments.

<xsl:template match="/">
    <html>
        <head>
            <title>Autorenverzeichnis</title>
        </head>
        <xsl:apply-templates/>
    </html>
</xsl:template>


Als Erweiterung generiert die Vorlage für das Wurzelelement der XML-Quelldatei den Bereich <body> sowie eine Überschrift in <h2> in HTML:

<xsl:template match="/">
    <html>
        <head>
            <title>Autorenverzeichnis</title>
        </head>
        <xsl:apply-templates/>
    </html>
</xsl:template>
<xsl:template match="buecher">
    <body>
        <h2>Das Autorenverzeichnis der Website</h2>
            <xsl:apply-templates/>
    </body>
</xsl:template>
<xsl:template match="buch">
      <xsl:apply-templates select="autor"/>
</xsl:template>
<xsl:template match="autor">
      <xsl:value-of select="."/>
</xsl:template>


In der Ausgabe in einem Browser mit Transformationsfähigkeit wird daraus:

Zu beachten ist, dass der folgende Quellcode dasselbe Ergebnis in dem HTML-Dokument produziert.

<?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="/">
    <html>
        <head>
            <title>Autorenverzeichnis</title>
        </head>
        <xsl:apply-templates/>
    </html>
</xsl:template>
<xsl:template match="buecher">
    <body>
        <h2>Das Autorenverzeichnis der Website</h2>
            <xsl:apply-templates/>
    </body>
</xsl:template>
<xsl:template match="buch">
    <p>
       <xsl:apply-templates select="autor"/>
     </p>
</xsl:template>
<xsl:template match="autor">
    <xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>

Bei der Konstruktion dieser HTML-Outputdokumente ist wichtig, dass auch ein HTML-Dokument einen Knotenbaum darstellt. Mit der Abarbeitung des XSLT-Knotenbaums wird also aus dem XML-Knotenbaum des XML-Quelldokuments ein HTML-Knotenbaum für das Zieldokument.


    Im genannten Zieldokument ist im Quelltext nach einer serverseitigen Transformierung nur noch der generierte HTML-Code sichtbar. Damit wurden Daten ausgewählt und in einem gewünschten Format präsentiert (z.B. mit einer Überschrift versehen). Der Benut-zer kann dabei nur die Daten und diese Daten nur in der Form sehen, die der Designer des XSLT-Dokuments vorgesehen hat.

Zu beachten ist, dass der folgende Quellcode dasselbe Ergebnis in dem HTML-Dokument produziert.

<?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="/">
    <html>
        <head>
            <title>Autorenverzeichnis</title>
        </head>
        <xsl:apply-templates/>
    </html>
</xsl:template>
<xsl:template match="buecher">
    <body>
        <h2>Das Autorenverzeichnis der Website</h2>
            <xsl:apply-templates/>
    </body>
</xsl:template>
<xsl:template match="buch">
    <p>
       <xsl:apply-templates select="autor"/>
     </p>
</xsl:template>
<xsl:template match="autor">
    <xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>

Bei der Konstruktion dieser HTML-Outputdokumente ist wichtig, dass auch ein HTML-Dokument einen Knotenbaum darstellt. Mit der Abarbeitung des XSLT-Knotenbaums wird also aus dem XML-Knotenbaum des XML-Quelldokuments ein HTML-Knotenbaum für das Zieldokument.


    Im genannten Zieldokument ist im Quelltext nach einer serverseitigen Transformierung nur noch der generierte HTML-Code sichtbar. Damit wurden Daten ausgewählt und in einem gewünschten Format präsentiert (z.B. mit einer Überschrift versehen). Der Benut-zer kann dabei nur die Daten und diese Daten nur in der Form sehen, die der Designer des XSLT-Dokuments vorgesehen hat.


 
 
 
 
 
 
 
 
 
 

Das XML/XSLT-Seminar
(zur Zeit als Buch nicht lieferbar)