XSLT - Chuyển đổi
Nghiên cứu ví dụ: Làm cách nào để chuyển đổi XML thành XHTML bằng XSLT?
Chi tiết về ví dụ này sẽ được giải thích trong chương tiếp theo.
Khai báo biểu định kiểu đúng
Phần tử gốc khai báo tài liệu là biểu định kiểu XSL là <xsl:stylesheet> hoặc <xsl:transform>.
Lưu ý: <xsl:stylesheet> và <xsl:transform> hoàn toàn đồng nghĩa và có thể được sử dụng!
Cách chính xác để khai báo một biểu định kiểu XSL theo Khuyến nghị XSLT của W3C là:
<xsl:stylesheet version="1.0"
xmlns:xsl="https://www.w3.org/1999/XSL/Transform">
hoặc:
<xsl:transform version="1.0"
xmlns:xsl="https://www.w3.org/1999/XSL/Transform">
Để có quyền truy cập vào các phần tử, thuộc tính và tính năng XSLT, chúng ta phải khai báo vùng tên XSLT ở đầu tài liệu.
Xmlns:xsl="https://www.w3.org/1999/XSL/Transform" trỏ đến không gian tên chính thức của W3C XSLT. Nếu bạn sử dụng không gian tên này, bạn cũng phải bao gồm thuộc tính version="1.0".
Bắt đầu với Tài liệu XML thô
Chúng tôi muốn chuyển đổi tài liệu XML sau ("cdcatalog.xml") thành XHTML:
<?xml version="1.0" encoding="UTF-8"?>
<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>
Xem tệp XML trong trình duyệt: Mở tệp XML (bấm vào liên kết bên dưới) - Tài liệu XML sẽ được hiển thị với các phần tử gốc và phần tử con được mã hóa màu. Thông thường, có một mũi tên hoặc dấu cộng/trừ ở bên trái của các phần tử mà bạn có thể nhấp vào để mở rộng hoặc thu gọn cấu trúc phần tử. Mẹo: Để xem nguồn XML thô, hãy nhấp chuột phải vào tệp XML và chọn "Xem nguồn trang"!
Tạo một bảng định kiểu XSL
Sau đó, bạn tạo một Biểu định kiểu XSL ("cdcatalog.xsl") với mẫu chuyển đổi:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="https://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>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>
Liên kết Biểu định kiểu XSL với Tài liệu XML
Thêm tham chiếu biểu định kiểu XSL vào tài liệu XML của bạn ("cdcatalog.xml"):
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<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>
Nếu bạn có trình duyệt tuân thủ XSLT, nó sẽ chuyển đổi XML của bạn thành XHTML một cách dễ dàng.
Chi tiết về ví dụ trên sẽ được giải thích trong các chương tiếp theo.