XSLT hoạt động như thế nào nếu Tuyên bố hoạt động với các ví dụ? – xslt hoặc ví dụ điều kiện

Đây là hướng dẫn về XSLT nếu. Ở đây chúng ta thảo luận về phần giới thiệu, cách hoạt động của câu lệnh if XSLT? và ví dụ để hiểu rõ hơn.

Bạn đang xem : xslt hoặc ví dụ về điều kiện

XSLT if

Giới thiệu về XSLT if

XSLT if câu lệnh được định nghĩa là một mẫu điều kiện được sử dụng để xử lý một câu lệnh true và được coi là một câu lệnh đơn giản. Câu lệnh cung cấp một bài kiểm tra đơn giản để sử dụng liên quan đến tệp XML. Nếu một điều kiện nhất định được đáp ứng, mã tương ứng sẽ được thực thi. Nó cần một thuộc tính kiểm tra để trả về một giá trị Boolean thông qua biểu thức XPath. Nó không chấp nhận một mẫu nếu khác.

Cú pháp:

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, Kiểm tra phần mềm & amp; những người khác

Khai báo cú pháp của & lt; xsl: if & gt; được đưa ra là:

xsl: if test = "expression & gt;
& lt; // Phần THEN được thực thi ở đây & gt;
& lt; / xsl: nếu & gt;

Đây là dòng đầu tiên giải thích kiểm tra trong đó biểu thức được đánh giá, kiểm tra là bắt buộc để kiểm tra dữ liệu nguồn hoặc liệu mẫu có được thực thi hay không. Điều này sẽ dẫn đến một phần đúng.

XSLT hoạt động như thế nào nếu Tuyên bố hoạt động?

Các bước làm việc của câu lệnh if rất dễ dàng. Vì vậy, mẫu có một đầu vào và một đầu ra duy nhất. Thông tin phần tử nơi câu lệnh rơi được đưa ra ở đây. Chúng lần lượt là xsl: property, xsl: call-template, xsl: variable, xsl: for -each. Nếu mã của chúng tôi không cần bất kỳ phần tử hoặc thuộc tính nào, thì chúng tôi chỉ có thể sử dụng cấu trúc if-then cho quy trình.

& lt; Thesis & gt;
& lt; xsl: if test = "Publisher / Guide = 'Diana Cyril'" & gt;
& lt; xsl: value-of select = "'Giấy được Chọn'" / & gt;
& lt; / xsl: nếu & gt;
& lt; xsl: if test = "contains (Nhà xuất bản / Hướng dẫn, 'James')" & gt;
& lt; xsl: value-of select = "'A Best Paper Ever'" / & gt;
& lt; / xsl: nếu & gt;
& lt; / Luận văn & gt;

Đoạn mã trên xác định một câu lệnh đúng. Chúng ta có thể chèn giá trị của một biểu thức Xpath thông qua một câu lệnh value-of, điều này dẫn đến một điều kiện đúng. Phần tử value-of có thuộc tính select có cấu trúc này. Nếu XSLT cần phần khác, chúng tôi có thể sử dụng & lt; xsl: select & gt; với khối tạo mã của họ.

Để kiểm tra xem một chuỗi đã cho là NULL hay KHÔNG, định dạng sau được khởi tạo và trường hợp kiểm tra là:

& lt; xsl: if
test = "not (phần tử
tên) "& gt;
& lt; / xsl: nếu & gt;

Các & lt; nếu & gt; điều kiện kiểm tra nhiều biến đã cho thành ‘0’ và logic ở đây là:

& lt; xsl: if test = "not ((number ($ VAR_gross_bill) = 0)
và (số ($ VAR_work mỗi giờ) = 0)
và (số ($ VAR_work_midnite) = 0)
và (số ($ VAR_other_extra cho phép) = 0)) "& gt;

Điều kiện kiểm tra được đánh giá là đúng khi tất cả các biến đã cho khác 0. Nội dung khác nhau chỉ được cung cấp nếu một điều kiện nhất định được đáp ứng.

Ví dụ về XSLT nếu

Dưới đây là các ví dụ về XSLT nếu:

Tại đây, chúng tôi thực hiện các công việc trong các phiên bản XML và XSLT để đánh giá so sánh.

Ví dụ # 1

Đối với ví dụ của chúng tôi, chúng tôi đang sử dụng khái niệm sách điện tử như một XML đầu vào.

Mã:

XML:

& lt;? xml version = "1.0" encoding = "UTF-8"? & gt;
& lt; sách điện tử & gt;
& lt; dept & gt;
& lt; bkname & gt; Học Python-Cơ bản & lt; / bkname & gt;
& lt; tác giả & gt; Guido Van & lt; / author & gt;
& lt; country & gt; German & lt; / country & gt;
& lt; euro & gt; 9,90 & lt; / euro & gt;
& lt; pubyear & gt; 2001 & lt; / pubyear & gt;
& lt; / dept & gt;
& lt; dept & gt;
& lt; bkname & gt; XPath và XSLT & lt; / bkname & gt;
& lt; tác giả & gt; Peter Doug & lt; / tác giả & gt;
& lt; country & gt; Italy & lt; / country & gt;
& lt; euro & gt; 22,90 & lt; / euro & gt;
& lt; pubyear & gt; 1965 & lt; / pubyear & gt;
& lt; / dept & gt;
& lt; dept & gt;
& lt; bkname & gt; JEE Language & lt; / bkname & gt;
& lt; tác giả & gt; Evangeline Thomas & lt; / author & gt;
& lt; country & gt; German & lt; / country & gt;
& lt; euro & gt; 20,90 & lt; / euro & gt;
& lt; pubyear & gt; 1995 & lt; / pubyear & gt;
& lt; / dept & gt;
& lt; dept & gt;
& lt; bkname & gt; Shell Script Language & lt; / bkname & gt;
& lt; tác giả & gt; lousis Brain & lt; / tác giả & gt;
& lt; country & gt; Đan Mạch & lt; / country & gt;
& lt; euro & gt; 15,90 & lt; / euro & gt;
& lt; pubyear & gt; 1995 & lt; / pubyear & gt;
& lt; / dept & gt;
& lt; / ebook & gt;

XSLT:

Xem Thêm  Toán tử THÍCH SQL - chuỗi truy vấn sql như

& lt;? xml version = "1.0" encoding = "UTF-8"? & gt;
& lt; xsl: stylesheet version = "1.0"
xmlns: xsl = "http://www.w3.org/1999/XSL/Transform" & gt;
& lt; xsl: template match = "/" & gt;
& lt; html & gt;
& lt; body & gt;
& lt; h2 & gt; Bộ sưu tập Sách điện tử của tôi & lt; / h2 & gt;
& lt; table border = "2" & gt;
& lt; tr bgcolor = "yellow" & gt;
& lt; th & gt; bkname & lt; / th & gt;
& lt; th & gt; tác giả & lt; / th & gt;
& lt; th & gt; euro & lt; / th & gt;
& lt; / tr & gt;
& lt; xsl: for-each select = "ebook / dept" & gt;
& lt; xsl: if test = "euro & gt; 15" & gt;
& lt; tr & gt;
& lt; td & gt; & lt; xsl: value-of select = "bkname" / & gt; & lt; / td & gt;
& lt; td & gt; & lt; xsl: value-of select = "author" / & gt; & lt; / td & gt;
& lt; td & gt; & lt; xsl: value-of select = "euro" / & gt; & lt; / td & gt;
& lt; / tr & gt;
& lt; / xsl: nếu & gt;
& lt; / xsl: cho-từng & gt;
& lt; / table & gt;
& lt; / body & gt;
& lt; / html & gt;
& lt; / xsl: mẫu & gt;
& lt; / xsl: bảng định kiểu & gt;

Giải thích:

  • Ở đây, chúng tôi quan tâm đến việc chỉ lấy các thuộc tính bkname và author và hiển thị chúng trong một bảng được định dạng tốt bằng cách sử dụng điều kiện với phần tử euro nơi nó đáp ứng các tiêu chí euro & gt; 15 trong biểu thức XPath.
  • Để đạt được điều này, chúng tôi đã sử dụng for-each để lặp lại các phần tử.

Đầu ra:

XSLT if 1

Ví dụ # 2

Câu lệnh if với các chữ cái.

Mã:

XML:

& lt;? xml version = "1.0" encoding = "UTF-8"? & gt;
& lt; fish_class & gt;
& lt; type name = "không có hàm" & gt;
& lt; bycatch & gt;
& lt; tên & gt; Cá chép & lt; / tên & gt;
& lt; Địa điểm & gt; Maldives & lt; / Địa điểm & gt;
& lt; cá béo & gt; 15 phần trăm & lt; / cá béo & gt;
& lt; Smallbone & gt; có & lt; / Smallbone & gt;
& lt; / bycatch & gt;
& lt; / type & gt;
& lt; type name = "ediblefish" & gt;
& lt; bycatch & gt;
& lt; name & gt; Blue Fin Tuna & lt; / name & gt;
& lt; Địa điểm & gt; Hoa Kỳ & lt; / Địa điểm & gt;
& lt; cá béo & gt; 5 phần trăm & lt; / fatfish & gt;
& lt; Smallbone & gt; vâng & lt; / Smallbone & gt;
& lt; / bycatch & gt;
& lt; / type & gt;
& lt; type name = "Lean Fish" & gt;
& lt; bycatch & gt;
& lt; tên & gt; cá hồi chinook & lt; / name & gt;
& lt; Địa điểm & gt; Alaska & lt; / Địa điểm & gt;
& lt; cá béo & gt; 10 phần trăm & lt; / cá béo & gt;
& lt; Smallbone & gt; không & lt; / Smallbone & gt;
& lt; / bycatch & gt;
& lt; / type & gt;
& lt; / fish_class & gt;

XSLT:

& lt;? xml version = "1.0" encoding = "UTF-8"? & gt;
& lt; xsl: stylesheet version = "1.0" xmlns: xsl = "http://www.w3.org/1999/XSL/Transform" & gt;
& lt; xsl: template match = "type" & gt;
& lt; xsl: if test = "start-with (@name, 'j')" & gt;
Đây là kết quả phù hợp: & lt; xsl: value-of select = "./@ name" / & gt;
& lt; / xsl: nếu & gt;
& lt; / xsl: mẫu & gt;
& lt; / xsl: bảng định kiểu & gt;

Giải thích:

  • Đây là mã về cách XSL chuyển đổi mã XML cho một điều kiện thử nghiệm. Nếu một điều kiện thử nghiệm là đúng, nó sẽ xử lý các hướng dẫn khác. Vì vậy, ở đây điều kiện là tên phải bắt đầu bằng chữ cái ‘J.
  • Để xác định điều này, một giá trị lựa chọn được chỉ định và kiểm tra loại; nếu nó được tìm thấy, tên sẽ được ghi trên đầu ra như hình dưới đây.

Đầu ra:

XSLT if 2

Ví dụ # 3

Đánh giá với giới hạn giá trị tối thiểu và tối đa.

Mã:

XML:

& lt;? xml version = "1.0" encoding = "UTF-8"? & gt;
& lt; Dmartstore & gt;
& lt; shop category = "Tiện ích" & gt;
& lt; Model lang = "en" & gt; GT4352 & lt; / Model & gt;
& lt; Công ty & gt; Samsung & lt; / Công ty & gt;
& lt; năm & gt; 2020 & lt; / năm & gt;
& lt; ownat & gt; 120,00 & lt; / ownat & gt;
& lt; / cửa hàng & gt;
& lt; shop category = "Tiện ích" & gt;
& lt; Model lang = "en" & gt; GH5648 & lt; / Model & gt;
& lt; Công ty & gt; Redmi & lt; / Company & gt;
& lt; năm & gt; 2018 & lt; / năm & gt;
& lt; ownat & gt; 110,00 & lt; / ownat & gt;
& lt; / cửa hàng & gt;
& lt; shop category = "Tiện ích" & gt;
& lt; Model lang = "en" & gt; AMT234 & lt; / Model & gt;
& lt; Công ty & gt; Apple & lt; / Company & gt;
& lt; năm & gt; 2019 & lt; / year & gt;
& lt; ownat & gt; 130,00 & lt; / ownat & gt;
& lt; / cửa hàng & gt;
& lt; / Dmartstore & gt;

XSL:

Xem Thêm  Python While Loop - trong khi trong phạm vi python

& lt;? xml version = "1.0"? & gt;
& lt; xsl: stylesheet xmlns: xsl = "http://www.w3.org/1999/XSL/Transform"
xmlns = "http://www.java2s.com"
xmlns: xsd = "http://www.w3.org/2000/10/XMLSchema"
phiên bản = "1.0" & gt;
& lt; xsl: output method = "xml" / & gt;
& lt; xsl: template match = "*" & gt;
& lt; xsl: tên phần tử = "{name (.)}" & gt;
& lt; xsl: for-each select = "@ *" & gt;
& lt; xsl: if test = "(name (.)! = 'minOccurs') và (name (.)! = 'maxOccurs')" & gt;
& lt; xsl: tên thuộc tính = "{name (.)}" & gt;
& lt; xsl: value-of select = "." / & gt;
& lt; / xsl: thuộc tính & gt;
& lt; / xsl: nếu & gt;
& lt; / xsl: cho-từng & gt;
& lt; xsl: apply-Template / & gt;
& lt; / xsl: phần tử & gt;
& lt; / xsl: mẫu & gt;
& lt; / xsl: bảng định kiểu & gt;

Giải thích:

  • Tại đây, nếu giá trị thuộc tính “name” đáp ứng phạm vi tối thiểu và tối đa, thì giá trị mà nó mang lại sẽ được cung cấp dưới dạng.

Đầu ra:

XSLT if 3

Ví dụ # 4

Kiểm tra giá trị NIL.

XML:

& lt;? xml version = "1.0" encoding = "UTF-8"? & gt;
& lt; data_service & gt;
& lt; data xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" & amp; gt;
& lt; InBound & gt; 2006-10-15T01: 05: 00.000 & lt; / InBound & gt;
& lt; S_id & gt; 5220004 & lt; / S_id & gt;
& lt; message & gt; Client Frame & lt; / message & gt;
& lt; Lời cảm ơn & gt; NSent & lt; / Lời cảm ơn & gt;
& lt; / data & gt;
& lt; / data_service & gt;
& lt; data xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" & amp; gt; & gt;
& lt; InBound xsi: nil = ”true” & gt; & lt; / InBound & gt;
& lt; S_id & gt; 5220004 & lt; / S_id & gt;
& lt; message & gt; Client Frame & lt; / message & gt;
& lt; Lời cảm ơn & gt; NSent & lt; / Lời cảm ơn & gt;
& lt; / data & gt;

XSL:

& lt;? xml version = "1.0"? & gt;
& lt; xsl: stylesheet xmlns: xsl = "http://www.w3.org/1999/XSL/Transform"
xmlns = "http://www.edu.com"
xmlns: xsd = "http://www.w3.org/2000/10/XMLSchema"
phiên bản = "1.0" & gt;
& lt; xsl: output encoding = "UTF-8" indent = "yes" method = "xml" / & gt;
& lt; xsl: template match = "/" & gt;
& lt; xsl: element name = "File" & gt;
& lt; xsl: for-each select = "/ data_service / data" & gt;
& lt; xsl: if test = "count (.) & gt; 0" & gt;
& lt; xsl: tên phần tử = "data_service" & gt;
& lt; xsl: if test = "not (InBound / @ xsi: nil = true ())" & gt;
& lt; xsl: element name = "InBound" & gt;
& lt; xsl: value-of select = "InBound" / & gt;
& lt; / xsl: phần tử & gt;
& lt; / xsl: nếu & gt;
& lt; / xsl: phần tử & gt;
& lt; / xsl: phần tử & gt;
& lt; / xsl: mẫu & gt;
& lt; / xsl: bảng định kiểu & gt;

Giải thích:

  • Đoạn mã trên xuất ra một câu lệnh NIL sau khi đánh giá.

Ví dụ # 5

Thêm văn bản vào phần tử thoát trên if-Pattern.

Mã:

XML:

& lt;? xml version = '1.0'? & gt;
& lt;? xml-stylesheet type = "text / xsl" href = "baaa.xsl"? & gt;
& lt; giao hàng & gt;
& lt; product domestic = "yes" & gt; Franch Express & lt; / product & gt;
& lt; sản phẩm & gt; Điện tử & lt; / product & gt;
& lt; product internal = "yes" & gt; BigBaskets tạp hóa & lt; / product & gt;
& lt; product & gt; Libia, Ltd & lt; / product & gt;
& lt; product domestic = "yes" & gt; Peter England, Inc. & lt; / product & gt;
& lt; / delivery & gt;

Phân mảnh XSL:

& lt;? xml version = '1.0'? & gt;
& lt; xsl: stylesheet version = "1.0"
xmlns: xsl = "http://www.w3.org/1999/XSL/Transform" & gt;
& lt; xsl: template match = "/" & gt;
& lt; html & gt; & lt; body & gt;
& lt; xsl: apply-Template / & gt;
& lt; / body & gt; & lt; / html & gt;
& lt; / xsl: mẫu & gt;
& lt; xsl: template match = "product" & gt;
& lt; p / & gt;
& lt; xsl: if test = "@ nội địa" & gt; thông quan nội địa & lt; / xsl: if & gt;
& lt; xsl: apply-Template / & gt;
& lt; / xsl: mẫu & gt;
& lt; / xsl: bảng định kiểu & gt;

Giải thích:

  • Cùng với cấu trúc kiểm tra if, văn bản được thêm vào trong điều kiện và kết quả được đưa ra.

Đầu ra:

Thêm văn bản vào phần tử thoát trên If-Pattern

Ví dụ # 6

Điều kiện kiểm tra màu sắc.

Mã:

XML:

& lt;? xml version = '1.0'? & gt;
& lt;? xml-stylesheet type = "text / xsl" href = "ifcolor.xsl"? & gt;
& lt; educationba_web & gt;
& lt; Khóa học & gt; Khai thác dữ liệu & lt; / Khóa học & gt;
& lt; Khóa học & gt; Nhà phân tích dữ liệu & lt; / Khóa học & gt;
& lt; Khóa học & gt; Lập trình Python & lt; / Khóa học & gt;
& lt; Khóa học & gt; J2EE & lt; / Khóa học & gt;
& lt; Khóa học & gt; R Lập trình & lt; / Khóa học & gt;
& lt; Khóa học & gt; REST & lt; / Khóa học & gt;
& lt; Khóa học & gt; AWS & lt; / Khóa học & gt;
& lt; / educationba_web & gt;

XSLT:

Xem Thêm  Thực thể HTML Nbsp: Hướng dẫn về cách thêm không gian không ngắt - thực thể không gian không phá vỡ

& lt;? xml version = '1.0'? & gt;
& lt; xsl: stylesheet version = "2.0"
xmlns: xsl = "http://www.w3.org/1999/XSL/Transform" & gt;
& lt; xsl: template match = "/" & gt;
& lt; html & gt;
& lt; body & gt;
& lt; table border = "2" cellpadding = "1.8" cellspacing = "0" width = "60%" & gt;
& lt; xsl: apply-Template / & gt;
& lt; / table & gt;
& lt; / body & gt;
& lt; / html & gt;
& lt; / xsl: mẫu & gt;
& lt; xsl: template match = "Các khóa học" & gt;
& lt; tr & gt;
& lt; xsl: if test = "position () mod 2 = 0" & gt;
& lt; xsl: tên thuộc tính = "bgcolor" & gt; Màu đỏ & lt; / xsl: thuộc tính & gt;
& lt; / xsl: nếu & gt;
& lt; xsl: apply-Template / & gt;
& lt; / tr & gt;
& lt; / xsl: mẫu & gt;
& lt; / xsl: bảng định kiểu & gt;

Giải thích:

  • Các mẫu ở trên kiểm tra câu lệnh if với vị trí và định dạng đầu ra theo định dạng bảng.

Đầu ra:

Điều kiện kiểm tra về màu sắc

Kết luận

Mặc dù câu lệnh if được coi là kém thanh lịch, nhưng nó rất có lợi trong việc kiểm tra một điều kiện duy nhất. Do đó, trong bài viết này, chúng ta đã thấy logic if-then hoạt động như thế nào với việc triển khai cụ thể. Nếu các điều kiện thử nghiệm không đúng, thì điều gì sẽ xảy ra sau đó, các lập trình viên chuyển sang cấu trúc if-else.

Các bài báo được đề xuất

Đây là hướng dẫn về XSLT nếu. Ở đây chúng ta thảo luận về phần giới thiệu, cách hoạt động của câu lệnh if XSLT? và ví dụ để hiểu rõ hơn. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

0

Chia sẻ

Chia sẻ


Xem thêm những thông tin liên quan đến chủ đề xslt hoặc ví dụ điều kiện

XSLT XPath Tutorial

alt

  • Tác giả: arbitrarytechnology
  • Ngày đăng: 2021-01-28
  • Đánh giá: 4 ⭐ ( 7058 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tutorial on very basic XSLT and XPath usage. The focus on this is a from-scratch program, with particular emphasis on stand-alone programs processed with xsltproc. We describe XPath conceptually, with plenty of examples. Then the focus shifts to XSLT by taking a toy example and building its entire source code base for converting an XML data file into a CSV equivalent.

    The focus is not to develop sharable code (the toy example is not a general purpuse CSV builder), but to break down the coding style of XSLT by mapping the pseudocode of the problem to specific XSLT constructs.

Biến đổi XML với XSLT

  • Tác giả: www.voer.edu.vn
  • Đánh giá: 3 ⭐ ( 3948 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Một loại tài liệu XML đặc biệt bao gồm các thẻ xử lý cho phép biến đổi một tài liệu XML thành một tài liệu văn bản bất kỳ (giáo trình – tài liệu – học liệu từ VOER)

Câu điều kiện loại 1 (Conditional sentence type 1) và bài tập vận dụng

  • Tác giả: hocieltsdanang.edu.vn
  • Đánh giá: 3 ⭐ ( 9664 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết hôm nay, UEC chia sẻ về định nghĩa, công thức, cách dùng, bài tập về câu điều kiện loại 1 và Đảo ngữ câu điều kiện loại 1 nhé!

Kieu Trong Khanh: XSL trong ứng dụng thực tiễn

  • Tác giả: www.kieutrongkhanh.net
  • Đánh giá: 5 ⭐ ( 2638 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Xslt trong xml (Bài 6)

  • Tác giả: giasutinhoc.vn
  • Đánh giá: 4 ⭐ ( 2695 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

XSL và XSLT

  • Tác giả: code5s.com
  • Đánh giá: 3 ⭐ ( 1358 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Hàm IF lồng nhiều điều kiện trong Excel dễ hiểu nhất

  • Tác giả: www.dienmayxanh.com
  • Đánh giá: 3 ⭐ ( 3954 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Để có thể giải nhiều vấn đề phức tạp trong Excel, hàm IF lồng nhiều điều kiện trong Excel. Cùng Điện máy XANH chia sẻ cách sử dụng hàm IF nhiều điều kiện dễ hiểu nhất nhé

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình