Inne działy

 

XSLT - na serwerze

 

Ponieważ nie wszystkie przeglądarki obsługują XSLT, jednym z rozwiązań jest  przekształcenie XML do XHTML na serwerze.

W poprzednim rozdziale wyjaśniono jak XSLT może być użyty do transformacji dokumentu XML do XHTML w przeglądarce. Stworzyliśmy skrypt JavaScript, który używa parsera XML aby wykonać transformację. Rozwiązanie JavaScript nie działa w przeglądarce, która nie ma parsera XML.

Aby udostępnić dane XML dla wszelkiego rodzaju przeglądarek, musimy przekształcić dokument XML na serwerze i wysłać go jako XHTML do przeglądarki.

To kolejna piękna rzecz XSLT. Jednym z celów projektu XSLT, jest to aby było możliwe, aby przekształcić dane z jednego formatu na inny na serwerze, zwracając dane czytelne dla wszystkich rodzajów przeglądarek.


 

Plik XML i plik XSLT

Spójrz na dokument XML, który widać w poprzednich rozdziałach:

 

<?xml version="1.0" encoding="UTF-8"?>
<katalog>
  <cd>
    <tytuł>Empire Burlesque</tytuł>
    <artysta>Bob Dylan</artysta>
    <kraj>USA</kraj>
    <wytwórnia>Columbia</wytwórnia>
    <cena>10.90</cena>
    <rok>1985</rok>
  </cd>
.
.
</katalog>

I towarzyszący arkusz stylów XSL:

 

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
  <h2> Moja kolekcja CD </h2>
  <table border="1">
    <tr bgcolor="#9acd32">
      <th style="text-align:left">Tytuł</th>
      <th style="text-align:left"="left">Artysta</th>
    </tr>
    <xsl:for-each select="katalog/cd">
    <tr>
      <td><xsl:value-of select="tytuł" /></td>
      <td><xsl:value-of select="artysta" /></td>
    </tr>
    </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

Należy zauważyć, że plik XML nie odwołuje się do pliku XSL.

Uwaga:Powyższe zdanie wskazuje, że plik XML może być przekształcony za pomocą wielu różnych arkuszy stylów XSL.


 

Przekształcenia XML do XHTML na serwerze

Oto kod źródłowy ASP, potrzebny do transformacji XML do pliku XHTML na serwerze:

 

<%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdkatalog.xml"))

'Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdkatalog.xsl"))

'Transform file
Response.Write(xml.transformNode(xsl))
%>

Pierwszy blok kodu tworzy wystąpienie programu Microsoft XML parser (XMLDOM) i ładuje plik XML do pamięci. Drugi blok kodu tworzy wystąpienie programu analizator i ładuje plik XSL do pamięci. Ostatni wiersz kodu przerabia dokument XML przy użyciu dokument XSL i wysyła wynik jako XHTML do przeglądarki. Ładne!

 

Zobacz nasze wszystkie kursy

WWW


HTML
HTML - Znaczniki
CSS - Tutorial
CSS - Selektory
PHP
JavaScript

XML

XSLT

Bazy danych


SQL
SQLite
MySQL
PostgreSQL

 

 

Programowanie


C
C++
C#
Java
VisualBasic
Python

Linux


Podstawy Linuxa
Bash
Linuks artykuły

Windows


Excel funkcje
Windows wskazówki
Outlook

Pozotałe działy


Programy
Rozrywka

 

 

 

This email address is being protected from spambots. You need JavaScript enabled to view it.