我在xsl文件中使用符號>
,該工作正常,但當我使用像<=
時,它什麼也沒有顯示。使用xsl中的符號
有誰可以告訴我,它有什麼問題<=
和我應該使用哪種替代方法?
<xsl:if test="price < 100">
<xsl:if test="price > 100">
我在xsl文件中使用符號>
,該工作正常,但當我使用像<=
時,它什麼也沒有顯示。使用xsl中的符號
有誰可以告訴我,它有什麼問題<=
和我應該使用哪種替代方法?
<xsl:if test="price < 100">
<xsl:if test="price > 100">
的W3C XML spec說,一個字面<
未在屬性允許的(>
是OK):
任何實體的替換文本中提及的一個屬性值直接或間接地不能包含<。
所以在測試屬性,你需要逃跑<
。如果你的條件是price <= 100
那麼你將它寫成:
<xsl:if test="price <= 100">
這不是真的,>字符必須逃脫。閱讀規格(當然,試試看)。 :) – 2011-05-11 12:53:51
@Dimitre Novatchev:你絕對正確!我按照你的建議嘗試了它,當然,它工作。我相應地更新了我的答案。每天學習新東西:) – riff 2011-05-12 03:19:00
好。我很高興我的回答對你有用。 – 2011-05-12 03:24:42
XSLT樣式表必須有一個良好的XML文檔。這就是爲什麼當<
字符(和&
字符)不在CDATA部分時必須始終轉義的原因。
二者必選其一:
<xsl:if test="price <= 100">
,或者,如果你不喜歡逃避:
<xsl:if test="not(price > 100)">
或'
問得好,+1。看到我的答案有兩個可供選擇的解決方案和解釋。 :) – 2011-05-11 04:16:01