XSLT-konvertering

Fallstudie: Hur man använder XSLT för att konvertera XML till XHTML.

Vi kommer att förklara detaljerna i detta exempel i nästa avsnitt.

Korrekt stylet-deklaration

Deklarera dokumentet som roden till en XSL-stylet är <xsl:stylesheet> eller <xsl:transform>.

Kommentar: <xsl:stylesheet> och <xsl:transform> är helt synonymer och kan användas lika!

Enligt W3C:s XSLT-standard är det korrekta sättet att deklarera en XSL-stylet:

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

Eller:

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

För att komma åt XSLT-element, egenskaper och egenskaper måste vi deklarera XSLT-namnrymden i dokumentets topp.

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" pekar på den officiella W3C XSLT-namnrymden. Om du använder denna namnrymd måste du inkludera attributet version="1.0".

Börja med en ursprunglig XML-dokument

Nu måste vi konvertera följande XML-dokument ("cdcatalog.xml") till 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>
    <pris>10.90</pris>
    <år>1985</år>
  </cd>
.
.
.
</catalog>

Visa XML-fil i Internet Explorer och Firefox:

Öppna XML-filen (vanligtvis genom att klicka på en länk) - XML-dokumentet visas som färgkoder för att visa rotlement och underlement. Klicka på plus- eller minus-tecknet till vänster om elementet för att utöka eller komprimera elementets struktur. Om du vill se den ursprungliga XML-källan (utan plus- och minus-tecken) välj "Visa sidkällkoden" i webbläsarmenyn.

Visa XML-fil i Netscape 6:

Öppna XML-filen, högerklicka i XML-filen och välj "Visa sidkällkod". XML-dokumentet kommer att visas som färgkodat kod som visar rotlement och underlement.

Visa XML-fil i Opera 7:

Öppna XML-filen, högerklicka i XML-filen och välj "Ram"/"Visa källkod". XML-dokumentet kommer att visas som ren text.

Visa "cdcatalog.xml".

Skapa XSL-stil

Skapa sedan en XSL-stil som innehåller en konverteringsmall ("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>Min CD-samling</h2>
    <table border="1">
    <tr bgcolor="#9acd32">
      <th align="left">Title</th>
      <th align="left">Artist</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>

Visa "cdcatalog.xsl"

Länka XSL-stilen till XML-dokumentet

Lägg till en XSL-stilreferens i XML-dokumentet ("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>
    <pris>10.90</pris>
    <år>1985</år>
  </cd>
.
.
.
</catalog>

Om din webbläsare är kompatibel med XSLT, kommer den att hantera din XML Konvertera XHTML.

Visa resultat.

Vi kommer att förklara detaljerna i de ovanstående exemplen i nästa avsnitt.