Thẻ <xsl:apply-templates> XSLT
Định nghĩa và cách sử dụng
Phần tử <xsl:apply-templates> có thể áp dụng mẫu cho phần tử hiện tại hoặc các phần tử con của phần tử hiện tại.
Nếu chúng ta thêm thuộc tính select vào phần tử <xsl:apply-templates>, thì nó chỉ xử lý các phần tử con khớp với giá trị của thuộc tính này. Chúng ta có thể sử dụng thuộc tính select để quy định thứ tự xử lý các phần tử con.
Cú pháp
<xsl:apply-templates select="expression" mode="name"> <!-- Nội dung:(xsl:sort|xsl:with-param)* --> </xsl:apply-templates>
Thuộc tính
Thuộc tính | Giá trị | Mô tả |
---|---|---|
select | Biểu thức | Tùy chọn. Quy định phần tử cần xử lý. Tương tự (*) chọn toàn bộ tập hợp phần tử. Nếu bỏ qua thuộc tính này, sẽ chọn tất cả các phần tử con của phần tử hiện tại. |
mode | Tên | Tùy chọn. Nếu có nhiều phương pháp xử lý được định nghĩa cho cùng một phần tử, thì có thể sử dụng mode để phân biệt chúng. |
Mô hình
Ví dụ 1
Dùng thẻ h1 bao quanh mỗi phần tử title:
<?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="title"> <h1><xsl:apply-templates/></h1> </xsl:template> </xsl:stylesheet>
Ví dụ 2
Dùng thẻ h1 bao quanh tất cả các phần tử title thuộc về các phần tử con của message:
<?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="message"> <h1><xsl:apply-templates select="title"/></h1> </xsl:template> </xsl:stylesheet>
Ví dụ 3
Dùng thẻ h1 bao quanh tất cả các phần tử con của message có thuộc tính mode được thiết lập thành "big":
<?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="message"> <h1><xsl:apply-templates select="*" mode="big"/></h1> </xsl:template> </xsl:stylesheet>