XSLT - Ứng dụng trên máy khách
- Trang trước XSLT apply
- Trang tiếp theo XSLT trên máy chủ
Nếu trình duyệt của bạn hỗ trợ XSLT, thì nó có thể được sử dụng để chuyển đổi tài liệu thành XHTML.
Giải pháp JavaScript
Trong các chương trước, chúng tôi đã giải thích cách sử dụng XSLT để chuyển đổi một tệp XML thành XHTML. Chúng tôi đã hoàn thành công việc này bằng cách: thêm bảng樣 thức XSL vào tệp XML và hoàn thành việc chuyển đổi thông qua trình duyệt.
Mặc dù phương pháp này có hiệu quả tốt, nhưng không phải lúc nào việc bao gồm tham chiếu bảng樣 thức trong tệp XML cũng là điều hài lòng (ví dụ, phương pháp này không hoạt động trong trình duyệt không thể nhận dạng XSLT).
Cách thông dụng hơn là sử dụng JavaScript để hoàn thành việc chuyển đổi.
Bằng cách sử dụng JavaScript, chúng ta có thể:
- Thực hiện thử nghiệm xác nhận trình duyệt
- Sử dụng các bảng樣 thức khác nhau dựa trên nhu cầu của trình duyệt và người dùng
Đó chính là sức hút của XSLT! Một trong những mục đích thiết kế của XSLT là để làm cho việc chuyển đổi từ định dạng này sang định dạng khác trở nên có thể, đồng thời hỗ trợ nhiều loại trình duyệt và nhu cầu của người dùng khác nhau.
Việc chuyển đổi XSLT trên đầu trình duyệt sẽ trở thành một trong những nhiệm vụ chính mà trình duyệt sẽ thực hiện trong tương lai, đồng thời chúng ta cũng sẽ thấy sự tăng trưởng của nó trong thị trường trình duyệt cụ thể (văn bản nổi, máy in mạng, thiết bị thính giác, v.v.).
Tệp XML và tệp XSL
Xin hãy xem tài liệu XML này đã được trình bày trong các chương trước:
<?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>
và mẫu XSL kèm theo:
<?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>My CD Collection</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>
Lưu ý rằng tệp XML này không chứa tham chiếu đến tệp XSL.
Lưu ý quan trọng:Câu trên có nghĩa là, tệp XML có thể được chuyển đổi bằng nhiều mẫu XSL khác nhau.
Chuyển đổi XML thành XHTML trong trình duyệt
Đây là mã nguồn để chuyển đổi tệp XML thành XHTML trên client:
<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") // Transform document.write(xml.transformNode(xsl)) </script> </body> </html>
Lưu ý:Nếu bạn không biết cách viết JavaScript, hãy học từ khóa của chúng tôi:Hướng dẫn JavaScript》。
Mã đoạn đầu tiên tạo ra một đối tượng bộ phân tích XML của Microsoft, sau đó nạp tệp XML vào bộ nhớ. Mã đoạn thứ hai tạo ra một đối tượng bộ phân tích khác, sau đó nạp tệp XSL vào bộ nhớ. Đoạn mã cuối cùng sử dụng tài liệu XSL để chuyển đổi tài liệu XML, và hiển thị kết quả dưới dạng XHTML trong trình duyệt. Công việc hoàn thành!
- Trang trước XSLT apply
- Trang tiếp theo XSLT trên máy chủ