Để bắt đầu, tôi muốn hỏi, là có một sự khác biệt giữa hai câu sau đây cho các nút XML:Kiểm tra nếu một nút tồn tại sử dụng XSLT
- kiểm tra liệu một nút là một nút rỗng;
- kiểm tra xem nút có tồn tại hay không;
Giả sử tôi có một tập tin XML như thế này:
<claim_export_xml>
<claim_export_xml_row>
<claim_number>37423</claim_number>
<total_submitted_charges>0</total_submitted_charges>
<patient_control_no/>
<current_onset_date>2009-06-07 00:00:00</current_onset_date>
và tôi muốn kiểm tra xem "current_onset_date" nút tồn tại hay không, tôi đã sử dụng XSLT sau:
<xsl:for-each select="claim_export_xml_row ">
<xsl:if test="claim_number =$mother_claim_no and /current_onset_date ">
Vòng lặp for-each là một số logic mà tôi phải chịu đựng để vòng lặp hoạt động. Nhưng tôi đã nhận được kết quả sai sau khi chạy XSLT này, dữ liệu xml ở trên sẽ không được lấy bởi XSLT của tôi. Nhưng tôi không nghĩ rằng bằng cách sử dụng "current_onset_date = ''" là chính xác, hoặc, vì nó là thử nghiệm cho "cho dù current_onset_date không có gì".
Ai có thể cho tôi biết sai lầm của tôi ở đâu và cũng giúp tôi với câu hỏi của tôi được liệt kê trong đầu, cảm ơn!
khi tôi thoát khỏi/hàng đầu, nó sẽ khiếu nại rằng đây là xpath không hợp lệ và "và" là lỗi đánh máy, xin lỗi – Kevin
Thông báo lỗi bạn nhận được khi bạn xóa /? Tôi đã thử nghiệm một cấu trúc tương tự và nó hoạt động tốt. – biziclop
nó chỉ phàn nàn rằng XPath này không hợp lệ, không có lý do cụ thể. Tuy nhiên, tôi tìm thấy một cách giải quyết khác, đó là sử dụng count (current_onset_date)! = 0. Bạn có nghĩ rằng nó đang làm thử nghiệm đúng không? – Kevin