使用类似于在这个问题中找到的答案,我将一个基于 off 的函数组合在一起,以创建一个 XML 结果树片段,并将其加载到一个变量中。
我能够转换这个 XML
<Summary> <Summary>
<Category>
<Category>Tuition and Fees</Category>
<TotalDebits>0.00</TotalDebits>
<TotalCredits>-3509.45</TotalCredits>
</Category>
<Category>
<Category>Miscellaneous</Category>
<TotalDebits>60.62</TotalDebits>
<TotalCredits>-234.36</TotalCredits>
</Category>
</Summary>
</Summary>
对此
<Summary>
<Category>
<Category>Tuition and Fees</Category>
<TotalDebits>0.00</TotalDebits>
<TotalCredits>-3509.45</TotalCredits>
</Category>
<Category>
<Category>Miscellaneous</Category>
<TotalDebits>60.62</TotalDebits>
<TotalCredits>-234.36</TotalCredits>
</Category>
</Summary>
包含在此变量中
<xsl:variable name="SummaryItems">
<xsl:call-template name="TheGreatUnescape">
<xsl:with-param name="escaped" select="string(//Summary)" />
</xsl:call-template>
</xsl:variable>
现在我的问题是我试图用来exslt:node-set()
访问这个变量中的节点,但我没有得到任何信息。
使用类似的功能时
<xsl:for-each select="exslt:node-set($SummaryItems)/Summary/Category">
它不会产生任何结果。
我确实在 中包含了xmlns:exslt="http://exslt.org/common"
声明,xsl:stylesheet
并且我已经测试了该node-set
函数,所以我知道它不能与变量中的转换后的 XML 一起工作。
我是否使用可以访问的代码创建了一个真实的结果树片段exslt:node-set
?