XSLT <tin nhắn>
Phần tử thẻ <message> giúp gỡ lỗi xử lý XSLT. Nó tương tự như cảnh báo javascript. Thẻ <xsl:> đệm một thông báo tới bộ xử lý XSLT, việc này sẽ kết thúc quá trình xử lý và gửi một thông báo đến ứng dụng người gọi để hiển thị thông báo lỗi.
Tờ khai
Sau đây là khai báo cú pháp của <xsl:message> thành phần.
<xsl:message
terminate = "yes" | "no" >
</xsl:message>
Thuộc tính
Sr.No | Tên & Mô tả |
---|---|
1 | terminate Nó chỉ định liệu chuyển đổi có nên kết thúc khi thực hiện lệnh này hay không. Mặc định là "có". |
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: apply-template, xsl: property, xsl: call-template, xsl: select, xsl: comment, xsl: copy, xsl: copy-of, xsl: element, xsl: for-each, xsl: if, xsl: xử lý-hướng dẫn, xsl: text, xsl: value-of, xsl: biến, các phần tử đầu ra |
Ví dụ demo
Ví dụ này tạo một bảng gồm phần tử <student> với thuộc tính của nó rollnovà con của nó <firstname>, <lastname>, <nickname> và <marks> bằng cách lặp qua từng học sinh. Nó kiểm tra key as firstname để có mặt và sau đó in thông tin chi tiết về học sinh, nếu không sẽ hiển thị thông báo lỗi.
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></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>
<table border = "1">
<tr bgcolor = "#9acd32">
<th>Roll No</th>
<th>First Name</th>
<th>Last Name</th>
<th>Nick Name</th>
<th>Marks</th>
</tr>
<xsl:for-each select = "class/student">
<xsl:if test = "firstname = ''">
<xsl:message terminate = "yes">A first name field is empty.
</xsl:message>
</xsl:if>
<tr>
<td><xsl:value-of select = "@rollno"/></td>
<td><xsl:value-of select = "firstname"/></td>
<td><xsl:value-of select = "lastname"/></td>
<td><xsl:value-of select = "nickname"/></td>
<td><xsl:value-of select = "marks"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>