Konwersja XSLT

Analiza przypadku: jak używać XSLT do konwersji XML na XHTML.

Wyjaśnimy szczegóły tego przykładu w następnym rozdziale.

Poprawna deklaracja szablonu

Deklarowanie dokumentu jako korzenia XSL szablonu jest <xsl:stylesheet> lub <xsl:transform>.

Uwaga: <xsl:stylesheet> i <xsl:transform> są całkowicie synonimiczne i mogą być używane!

Zgodnie z standardem XSLT W3C, poprawnym sposobem deklarowania XSL szablonu jest:

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

Albo:

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

Aby uzyskać dostęp do elementów, atrybutów i właściwości XSLT, musimy zadeklarować przestrzeń nazw XSLT na początku dokumentu.

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" wskazuje na oficjalną przestrzeń nazw W3C XSLT. Jeśli używasz tej przestrzeni nazw, musisz zawrzeć atrybut version="1.0".

Zaczynamy od oryginalnego dokumentu XML

Teraz musimy przekształcić poniższy dokument XML ("cdcatalog.xml") na XHTML:

<?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>

Zobacz plik XML w Internet Explorer i Firefox:

Otwórz plik XML (zwykle poprzez kliknięcie linku) - Dokument XML zostanie wyświetlony w kolorowym kodzie, pokazującym elementy głównego i podrzędnych. Kliknięcie na plus lub minus po lewej stronie elementu rozwinie lub zwiń strukturę elementu. Aby zobaczyć oryginalny plik XML (bez plusów i minusów), wybierz w menu przeglądarki "Zobacz kod źródłowy strony".

Zobacz plik XML w Netscape 6:

Otwórz plik XML, a następnie kliknij prawym przyciskiem myszy w pliku XML i wybierz "Zobacz kod źródłowy strony". Dokument XML zostanie wyświetlony w kolorowym kodzie, pokazującym elementy głównego i podrzędnych.

Zobacz plik XML w Opera 7:

Otwórz plik XML, a następnie kliknij prawym przyciskiem myszy w pliku XML i wybierz "Ramki"/"Zobacz kod źródłowy". Dokument XML zostanie wyświetlony jako czysty tekst.

Zobacz "cdcatalog.xml".

Utwórz szablon XSL

Następnie utwórz szablon XSL z transformacją ("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>Moja kolekcja płyt CD</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Tytuł</th>
      <th align="left">Artysta</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>

Zobacz "cdcatalog.xsl"

Połącz szablon XSL z dokumentem XML

Dodaj odwołanie do szablonu XSL do dokumentu XML ("cdcatalog.xml"):

<?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>

Jeśli używana przez Ciebie przeglądarka jest zgodna z XSLT, przejdzie ona bez problemu Twoje XML Konwertuj na XHTML.

Zobacz wynik.

W następnym rozdziale wyjaśnimy szczegóły powyższego przykładu.