XSLT <apply-template>
Thẻ <xsl: apply-template> báo hiệu cho bộ xử lý XSLT tìm mẫu thích hợp để áp dụng, dựa trên loại và ngữ cảnh của từng nút đã chọn.
Tờ khai
Sau đây là khai báo cú pháp của <xsl:apply-template> thành phần.
<xsl:apply-template
select = Expression
mode = QName >
</xsl:apply-template>
Thuộc tính
Sr.No | Tên & Mô tả |
---|---|
1 | select Được sử dụng để xử lý các nút được chọn bởi một biểu thức XPath, thay vì xử lý tất cả các nút con. |
2 | mode Cho phép một phần tử được chỉ định bởi các Tên Đủ điều kiện của nó được xử lý nhiều lần, mỗi lần tạo ra một kết quả khác nhau. |
Thành phần
Số lần xuất hiện | Vô hạn |
---|---|
Parent elements |
xsl: thuộc tính, xsl: bình luận, xsl: sao chép, xsl: phần tử, xsl: dự phòng, xsl: foreach, xsl: if, xsl: message, xsl: else, xsl: param, xsl: processinginstruction, xsl: template, xsl: biến, xsl: when, xsl: with-param, các phần tử đầu ra |
Child elements |
xsl: sắp xếp, xsl: với-param |
Ví dụ demo
Ví dụ này tạo danh sách phần tử <student> với thuộc tính của nó rollno và con của nó <firstname>, <lastname>, <nickname> và <marks> bằng cách lặp qua từng học sinh.
students.xml
<?xml version = "1.0"?>
<?xml-stylesheet type = "text/xsl" href = "students.xsl"?>
<class>
<student rollno = "393">
<firstname>Dinkar</firstname>
<lastname>Kad</lastname>
<nickname>Dinkar</nickname>
<marks>85</marks>
</student>
<student rollno = "493">
<firstname>Vaneet</firstname>
<lastname>Gupta</lastname>
<nickname>Vinni</nickname>
<marks>95</marks>
</student>
<student rollno = "593">
<firstname>Jasvir</firstname>
<lastname>Singh</lastname>
<nickname>Jazz</nickname>
<marks>90</marks>
</student>
</class>
students.xsl
<?xml version = "1.0" encoding = "UTF-8"?>
<xsl:stylesheet version = "1.0"
xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
<xsl:template match = "/">
<html>
<body>
<h2>Students</h2>
<xsl:apply-templates select = "class/student" />
</body>
</html>
</xsl:template>
<xsl:template match = "class/student">
<xsl:apply-templates select = "@rollno" />
<xsl:apply-templates select = "firstname" />
<xsl:apply-templates select = "lastname" />
<xsl:apply-templates select = "nickname" />
<xsl:apply-templates select = "marks" />
<br />
</xsl:template>
<xsl:template match = "@rollno">
<span style = "font-size = 22px;">
<xsl:value-of select = "." />
</span>
<br />
</xsl:template>
<xsl:template match = "firstname">
First Name:<span style = "color:blue;">
<xsl:value-of select = "." />
</span>
<br />
</xsl:template>
<xsl:template match = "lastname">
Last Name:<span style = "color:green;">
<xsl:value-of select = "." />
</span>
<br />
</xsl:template>
<xsl:template match = "nickname">
Nick Name:<span style = "color:red;">
<xsl:value-of select = "." />
</span>
<br />
</xsl:template>
<xsl:template match = "marks">
Marks:<span style = "color:gray;">
<xsl:value-of select = "." />
</span>
<br />
</xsl:template>
</xsl:stylesheet>