我使用的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