XSLT - Στο Πελάτη

Αν ο περιηγητής σας υποστηρίζει το XSLT, τότε μπορεί να χρησιμοποιηθεί για να μετατρέψει το αρχείο σε XHTML.

Λύση με JavaScript

Στο προηγούμενο κεφάλαιο, σας εξήγησα πώς να χρησιμοποιήσετε το XSLT για να μετατρέψετε ένα XML αρχείο σε XHTML. Το κάναμε προσθέτοντας το XSL μορφή στο XML αρχείο και ολοκληρώνοντας τη μετατροπή μέσω του περιηγητή.

Αν και αυτή η μέθοδος λειτουργεί καλά, η περιεχόμενη στο XML αρχείο αναφορά των μορφών δεν είναι πάντα ικανοποιητική (π.χ., σε περιηγητές που δεν αναγνωρίζουν το XSLT αυτή η μέθοδος δεν λειτουργεί).

Μια πιο γενική μέθοδος είναι η χρήση του JavaScript για την ολοκλήρωση της μετατροπής.

Με τη χρήση του JavaScript, μπορούμε:

  • Δοκιμή επιβεβαίωσης περιηγητή
  • Χρήση διαφορετικών μορφών ανάλογα με τον περιηγητή και τον χρήστη

Αυτό είναι το γοητευτικό της XSLT! Ένα από τους στόχους της σχεδίασης του 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 μπορεί να μετατραπεί σε XHTML χρησιμοποιώντας πολλαπλές διαφορετικές λίστες μοτίβων XSL.

Μετατροπή του XML σε XHTML στον περιηγητή

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

<html>
<body>
<script type="text/javascript">
// Φόρτωση XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")
// Φόρτωση XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cdcatalog.xsl")
// Μετατροπή
document.write(xml.transformNode(xsl))
</script>
</body>
</html>

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

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

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