XSLT - Στο διακομιστή

Επειδή όχι όλοι οι περιηγητές υποστηρίζουν το XSLT, μια άλλη λύση είναι να ολοκληρωθεί η μετατροπή από XML σε XHTML στον διακομιστή.

Δια浏览器λύση

Στις προηγούμενες ενότητες, εξήγησα πώς να χρησιμοποιήσουμε το XSLT για να ολοκληρώσουμε τη μετατροπή από XML σε XHTML στον περιηγητή. Δημιουργήσαμε ένα JavaScript για την ανάλυση και τη μετατροπή. Η λύση JavaScript δεν λειτουργεί σε περιηγητές χωρίς ανάλυση XML. Για να κάνουμε τα δεδομένα XML συμβατά με όλους τους τύπους περιηγητών, πρέπει να μετατρέψουμε το XML έγγραφο στον διακομιστή και να το στείλουμε ως XHMTL στον περιηγητή.

Αυτό είναι ένας από τους άλλους πλεονεκτήσεις του XSLT. Ένας από τους στόχους της σχεδίασης του XSLT είναι να γίνει δυνατή η μετατροπή δεδομένων από ένα μορφοποιημένο μορφή σε μια άλλη μορφή στο διακομιστή και να επιστρέφονται δεδομένα που μπορούν να διαβαστούν από όλους τους τύπους περιηγητών.

XML αρχείο και XSL αρχείο

Δείτε αυτό το XML έγγραφο που έχει ήδη παρουσιαστεί στις προηγούμενες ενότητες:

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

Ελέγξτε αυτό το αρχείο XML.

και τα συνοδευτικά αρχεία στυλ 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>Η Συλλογή μου από CD</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>

Ελέγξτε αυτό το αρχείο XSL.

Παρακαλώ σημειώστε ότι αυτό το αρχείο XML δεν περιέχει αναφορές σε αρχεία XSL.

Σημαντική Ένδειξη:Αυτό το απόσπασμα δείχνει ότι το αρχείο XML μπορεί να μετατραπεί σε διάφορες διαφορετικές λίστες στυλ XSL για μετατροπή.

Μετατροπή XML σε XHTML στο διακομιστή

Αυτό είναι το κώδικας πηγής στο διακομιστή που μετατρέπει το XML σε XHTML:

<%
\"Yποφορτώ XML\"
setter xml = Συσκευή.ΔημιουργίαΑντικειμένου(\"Microsoft.XMLDOM\")
xml.async = false
xml.load(Συσκευή.ΠαράδειγμαΧώρου(\"cdcatalog.xml\"))
'Φόρτωση XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))
'Μετατροπή αρχείου
Response.Write(xml.transformNode(xsl))
%>

Σημείωση:Αν δεν γνωρίζετε πώς να γράφετε ASP, μπορείτε να μάθετε από τοΕκπαιδευτικό υλικό ASP》。

Το πρώτο κομμάτι κώδικα δημιουργεί μια instance του XML解析器的 της Microsoft και καλεί το αρχείο XML στη μνήμη. Το δεύτερο κομμάτι κώδικα δημιουργεί μια άλλη instance του解析器 και καλεί το αρχείο XSL στη μνήμη. Η τελευταία γραμμή κώδικα χρησιμοποιεί το έγγραφο XSL για να μετατρέψει το αρχείο XML και να στείλει το αποτέλεσμα ως XHTML στο πρόγραμμα περιήγησής σας. Η εργασία ολοκληρώθηκε!

Δείτε πώς λειτουργεί.