XML: Phần tử if

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Phần tử if là một phần tử dùng để kiểm tra điều kiện của một biểu thức logic, nếu biểu thức logic có fía trị true thì các phần tử bên trong phần tử if sẽ được thực hiện và ngược lại thì không (cách làm việc của nó cũng giống như câu lệnh if trong các ngôn ngữ lập trình khác). Phần tử này có thuộc tính tên là test, thuộc tính này chứa biểu thức điều kiện. Biểu thức này có thể là một biểu thức so sánh hoặc một biểu thức XPath, kết quả là true khi kết quả của biểu thức nhận một trong các giá trị sau:

  • Một nút có ít nhất một nút
  • Một con số khác không
  • Một mảnh cây
  • Một chuỗi không phải là rỗng

Ví dụ:

Tài liệu XSL lưu với tên test.xsl:

1 <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >

2 <xsl:output method = "text" />

3 <xsl:template match = "BBB | CCC" >

4 <xsl:if test = "position()=1" >

  <xsl:value-of select = "name()" />

  <xsl:text > : </xsl:text>

  </xsl:if>

5 <xsl:value-of select = "." />

6 </xsl:template>

</xsl:stylesheet>

Phần XML:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="test.xsl" ?>
<AAA>
  <BBB bbb="111">B-1</BBB>
  <BBB bbb="222">B-2</BBB>
  <CCC>222</CCC>
  <CCC>333</CCC>
  <CCC>111</CCC>
</AAA>

Kết quả hiển thị trên trình duyệt

BBB : B-1 B-2 222 333 111

Giải thích ví dụ:

Dòng 3: Dùng dể chỉ ra node khởi đầu của quá trình trích dữ liệu là node BBB hoặc CCC.

Dòng 4: Kiểm tra xem node hiện tại có phải là node thứ 1 hay không, nếu là node có vị trí 1 thì lấy tên của node này và dấu “:” và ngược lại thì không.

Dòng 5: Lấy nội dung của node hiện thời.

» Tiếp: Phần tử điều khiển choose
« Trước: Phần tử for-each
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!