Przekształcanie XSLT

Analiza przypadku: Jak używać XSLT do przekształcania XML na XHTML.

W następnym rozdziale wyjaśnimy szczegóły tego przykładu.

Poprawna deklaracja szablonu

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

Komentarz: <xsl:stylesheet> i <xsl:transform> są synonimami i mogą być używane!

Zgodnie z standardem XSLT W3C, poprawnym sposobem deklaracji 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 cech XSLT, musimy zadeklarować przestrzeń nazw XSLT na początku dokumentu.

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

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

W Internet Explorer i Firefox przeglądaj pliki XML:

Otwórz plik XML (zwykle poprzez kliknięcie linku) - Dokument XML zostanie wyświetlony w formie kolorowego kodu, pokazującej elementy głównego oraz ich elementy podrzędne. Kliknij plus lub minus po lewej stronie elementu, aby rozwinąć lub zwinąć strukturę elementu. Aby zobaczyć oryginalny plik źródłowy XML (bez plusów i minusów), wybierz w menu przeglądarki "Zobacz kod strony".

W Netscape 6 przeglądaj pliki XML:

Otwórz plik XML, a następnie kliknij prawym przyciskiem myszy w pliku XML i wybierz "Zobacz kod strony". Dokument XML zostanie wyświetlony w formie sformatowanego kodu.

Zobacz plik XML w Opera 7:

Otwórz plik XML, a następnie kliknij prawym przyciskiem myszy w pliku XML i wybierz "Widok kodu źródłowego". Dokument XML zostanie wyświetlony jako tekst.

Zobacz "cdcatalog.xml".

Utwórz szablon XSL

Następnie utwórz szablon XSL z modelem transformacji ("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"

Podłącz szablon XSL do dokumentu XML

Dodaj odniesienie 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żywany przez Ciebie przeglądarka jest kompatybilna z XSLT, bez problemu przekształci Twój XML Konwertuj na XHTML.

Zobacz wynik.

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