XSLT - Trên máy chủ
- Trang trước XSLT trên máy khách
- Trang tiếp theo Chỉnh sửa XML bằng XSLT
Do không phải tất cả các trình duyệt đều hỗ trợ XSLT, một giải pháp khác là hoàn thành việc chuyển đổi từ XML sang XHTML trên máy chủ.
Giải pháp hỗ trợ nhiều trình duyệt
Trong chương trước, chúng ta đã giải thích cách sử dụng XSLT để hoàn thành việc chuyển đổi từ XML sang XHTML trong trình duyệt. Chúng ta đã tạo ra một đoạn mã JavaScript sử dụng bộ giải mã XML để thực hiện chuyển đổi. Giải pháp JavaScript không thể hoạt động trên các trình duyệt không có bộ giải mã XML. Để dữ liệu XML có thể sử dụng được trên tất cả các loại trình duyệt, chúng ta phải chuyển đổi tệp XML trên máy chủ và gửi nó dưới dạng XHMTL đến trình duyệt.
Đây là một trong những ưu điểm của XSLT. Mục tiêu thiết kế một trong những của XSLT là làm cho việc chuyển đổi dữ liệu từ định dạng này sang định dạng khác trên máy chủ trở nên có thể thực hiện và trả về dữ liệu có thể đọc được cho tất cả các loại trình duyệt.
Tệp XML và tệp XSL
Xem tệp XML này đã được trình bày trong 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à các bảng định dạng 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 cho thấy tệp XML có thể được chuyển đổi bằng nhiều biểu mẫu XSL khác nhau.
Chuyển đổi XML thành XHTML trên máy chủ
Đây là mã nguồn chuyển đổi tệp XML thành XHTML trên máy chủ:
<% Tải XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("cdcatalog.xml")) Tải XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("cdcatalog.xsl")) Chuyển đổi tệp Response.Write(xml.transformNode(xsl)) %>
Lưu ý:Nếu bạn không biết cách viết ASP, bạn có thể học từASP Hướng dẫn》。
Mã nguồn đoạn đầu tiên tạo ra một đối tượng phân tích XML của Microsoft và sau đó tải tệp XML vào bộ nhớ. Mã nguồn đoạn thứ hai tạo ra một đối tượng phân tích khác và sau đó tải tệp XSL vào bộ nhớ. Dòng mã cuối cùng sử dụng tài liệu XSL để chuyển đổi tài liệu XML và gửi kết quả dưới dạng XHTML đến trình duyệt của bạn. Công việc hoàn thành!
- Trang trước XSLT trên máy khách
- Trang tiếp theo Chỉnh sửa XML bằng XSLT