我使用的node-set
內置功能到一個xsl變量轉換成節點集,如下面的代碼查詢結果:節點集不工作
<xsl:variable name="allotmentValuesNodeSet" select="msxsl:node-set($allotmentValues)"/>
命令<xsl:copy-of select="$allotmentValuesNodeSet"/>
產生以下輸出:
<values>
<month>Mar</month>
<incomeQTD>1499.63109246680</incomeQTD>
<realizedQTD />
<incomeYTD>1519.35773710483</incomeYTD>
<realizedYTD />
<incomePrevYTD>1519.35773710483</incomePrevYTD>
<realizedPrevYTD />
<month />
<incomeQTD />
<realizedQTD />
<incomeYTD />
<realizedYTD />
<incomePrevYTD />
<realizedPrevYTD />
</values>
當我試圖查詢這個XSL命令<xsl:value-of select="count($allotmentValuesNodeSet/values/month)"/>
節點設置可變我總是0
,但結果應該是2
。
allotmentValues
變量包含在其他外部xml節點之間。如果我沒有將它包含在任何xml節點之間,那麼代碼將按預期工作。
爲什麼查詢xsl節點集可能會中斷,是否有任何明顯的casue(例如namespace related可能?)?
如果需要,我會試着想出一個簡單的例子來說明我的問題(由於它是專有代碼,我不能完全發佈問題的代碼片段)。
這是一個優雅的修復。 – teodron