XSLT στο Server

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

Περίμετρος κουτίου

Στα προηγούμενα κεφάλαια, εξήγησα πώς να χρησιμοποιήσουμε το XSLT για να ολοκληρώσουμε τη μετατροπή από XML σε XHTML στον προγραμματιστή. Δημιουργήσαμε ένα JavaScript για την ανάλυση XML. Η λύση JavaScript δεν λειτουργεί σε προγράμματα που δεν υποστηρίζουν το XML parser. Για να κάνουμε τα δεδομένα 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 στον διακομιστή:

<%
Φόρτωση XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("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

第一段代码创建了微软的 XML 解析器的一个实例,然后把 XML 文件载入了内存。第二段代码创建了解析器的另一个实例,然后把这个 XSL 文件载入了内存。最后一行代码使用 XSL 文档转换了 XML 文档,并把结果作为 XHTML 发送到您的浏览器。任务完成!

请看它如何工作