Câu trả lời:
Nó phải được gói trong <xsl: select> vì đó là khi. Và viết thường chữ "và".
<xsl:choose>
<xsl:when test="4 < 5 and 1 < 2" >
<!-- do something -->
</xsl:when>
<xsl:otherwise>
<!-- do something else -->
</xsl:otherwise>
</xsl:choose>
Từ XML.com :
Giống như xsl: if hướng dẫn, xsl: khi các phần tử có thể có nội dung phức tạp hơn giữa các thẻ bắt đầu và thẻ kết thúc của chúng, ví dụ, các phần tử kết quả bằng chữ, các phần tử xsl: phần tử hoặc thậm chí xsl: if và xsl: chọn các phần tử để thêm vào cây kết quả. Các biểu thức kiểm tra của chúng cũng có thể sử dụng tất cả các thủ thuật và toán tử mà xsl: nếu thuộc tính kiểm tra của phần tử có thể sử dụng, như, và, và các lệnh gọi hàm, để xây dựng các biểu thức boolean phức tạp hơn.
Có thể đây là một người không có trí tuệ cho xslt-chuyên nghiệp, nhưng đối với tôi ở cấp độ mới bắt đầu / trung cấp, điều này khiến tôi bối rối. Tôi muốn làm chính xác điều tương tự, nhưng tôi phải kiểm tra giá trị thời gian đáp ứng từ xml thay vì số đơn giản. Theo chủ đề này, tôi đã thử điều này:
<xsl:when test="responsetime/@value >= 5000 and responsetime/@value <= 8999">
mà tạo ra một lỗi. Những công việc này:
<xsl:when test="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
Mặc dù vậy, đừng hiểu tại sao nó không hoạt động mà không có số (). Có thể là không có số () giá trị được coi là một chuỗi và bạn không thể so sánh các số với một chuỗi?
Dù sao, hy vọng điều này sẽ cứu ai đó rất nhiều tìm kiếm ...