我是XSLT新手,我正在使用w3schools「自己試試」頁面進行一些測試。我用下面的演示:position()= 1正常工作,但沒有定位()<5
http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=tryxsl_choose
這包含以下行:
<xsl:for-each select="catalog/cd">
我測試通過過濾position()
呈現的HTML,但我使用的是<
時有問題操作數。
我已經試過如下:
<xsl:for-each select="catalog/cd[position()=1]">
而這個返回從XML數據中的第一項(如預期)。
我然後設法:
<xsl:for-each select="catalog/cd[position()<5]">
我期待這回第4項,而是我沒有得到任何結果。
我的猜測是,也許position()=1
正在做一個字符串比較,這就是爲什麼它返回第一個項目,但它不能理解position()<5
作爲一個字符串不能用這種方式比較?
爲什麼會發生這種情況,以及獲得我希望實現的結果的正確語法是什麼?
更新:閱讀@ joocer的響應,並測試這個自己,用>
操作不工作,爲相反的結果後:
<xsl:for-each select="catalog/cd[(position()>5)]">
這似乎並不奏效:S''。嘗試編輯以下內容,並返回0結果http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=tryxsl_choose –
Curt
奇數。我從http://www.w3.org/TR/xpath/#booleans的第二個註釋中獲得了這些信息。它應該沒有關係,但嘗試在'<' –
的任一側添加空白我試過這個但沒有成功。很奇怪。 – Curt