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">
// Load XML 
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cdcatalog.xml")
// Load 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 στο browser. Η εργασία ολοκληρώθηκε!

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