0
我是新來的xslt,並獲得以下行爲。嘗試使用具有模式條件的節點集對項目進行計數時,會得到不同的結果。如果我將條件的值轉換爲字符串或不如下,結果會發生變化。有些專家可以幫助解釋導致此行爲的原因嗎?msxsl:節點設置的奇怪行爲
<xsl:for-each ....
//there is two area that why we need the position()=1
<xsl:variable name="checkLocation" select="area[position()=1]" />
方案A - 錯誤的結果
<xsl:value-of select="count(msxsl:node-set($allItems)//item[area[position()=1] = $checkLocation])"/> will show 10
方案B - 鑄造左側條件轉換成字符串
<xsl:value-of select="count(msxsl:node-set($allItems)//item[string(area[position()=1]) = $checkLocation])"/> will show show 1