XSLT-Transformation

Fallstudie: Wie man XML mit XSLT in XHTML umwandelt.

Wir werden im nächsten Abschnitt die Details dieses Beispiels erläutern.

Richtige Stilblattdeklaration

Das Dokument wird als Wurzelelement eines XSL-Stilblatts durch <xsl:stylesheet> oder <xsl:transform> deklariert.

Anmerkung: <xsl:stylesheet> und <xsl:transform> sind vollkommen synonym und können beide verwendet werden!

Nach dem Standard von W3C XSLT ist die richtige Methode zur Deklaration eines XSL-Stilblatts:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

oder:

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Um auf die Elemente, Attribute und Eigenschaften von XSLT zugreifen zu können, müssen wir den Namensraum XSLT am Dokumentanfang deklarieren.

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" weist auf den offiziellen W3C XSLT-Namensraum hin. Wenn Sie diesen Namensraum verwenden, müssen Sie die Eigenschaft version="1.0" enthalten.

Von einem ursprünglichen XML-Dokument ausgehend

Wir müssen nun das folgende XML-Dokument ("cdcatalog.xml") in XHTML umwandeln:

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>

Betrachten Sie die XML-Datei in Internet Explorer und Firefox:

Öffnen Sie die XML-Datei (normalerweise durch Klicken auf einen Link) - Das XML-Dokument wird als farblich hervorgehobener Code angezeigt, wobei die Wurzelelemente und die Unterelemente hervorgehoben werden. Klicken Sie auf das Plus- oder Minuszeichen links vom Element, um die Struktur des Elements zu erweitern oder zu verkleinern. Um den ursprünglichen XML-Quellcode (ohne Plus- und Minuszeichen) anzuzeigen, wählen Sie im Browsermenü "Seitenquellcode anzeigen".

Betrachten Sie die XML-Datei in Netscape 6:

Öffnen Sie die XML-Datei und klicken Sie dann mit der rechten Maustaste im XML-Dokument und wählen Sie "Seitenquellcode anzeigen". Das XML-Dokument wird als farblich hervorgehobener Code angezeigt, wobei die Wurzelelemente und die Unterelemente hervorgehoben werden.

Betrachten Sie die XML-Datei in Opera 7:

Öffnen Sie die XML-Datei und klicken Sie dann mit der rechten Maustaste im XML-Dokument und wählen Sie "Ansicht"/"Quellcode anzeigen". Das XML-Dokument wird als reinen Text angezeigt.

Betrachten Sie "cdcatalog.xml".

Erstellen Sie ein XSL-Stilblatt

Erstellen Sie nun ein XSL-Stilblatt mit einem Transformationstemplate ("cdcatalog.xsl"):

<?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>
  <body>
    <h2>Meine CD-Sammlung</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Titel</th>
      <th align="left">Künstler</th>
    </tr>
    <xsl:for-each select="catalog/cd">
    <tr>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="artist"/></td>
    </tr>
    </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

Betrachten Sie "cdcatalog.xsl"

Verknüpfen Sie das XSL-Stilblatt mit dem XML-Dokument

Fügen Sie eine Referenz zum XSL-Stilblatt hinzu, das den XML-Dokument ("cdcatalog.xml") zugeordnet ist:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
.
.
.
</catalog>

Wenn Ihr Browser XSLT unterstützt, wird er Ihren XML Umwandeln in XHTML.

Ergebnisse anzeigen.

Wir werden in dem nächsten Abschnitt die Details des obigen Beispiels erläutern.