对此慢慢发疯,并尝试了此处找到的各种解决方案,但到目前为止似乎没有任何效果。
我有一些这样的 XSL:
<xsl:variable name="reserved">
<xsl:value-of select="utils:getReservedCodes()"/>
</xsl:variable>
其中的值由一些 JScript 确定:
function getReservedCodes() {
reservedCodes = reservedCodesList.join("");
return reservedCodes;
}
如果我输出reserved
using的值
<xsl:value-of select="$reserved"/>
我得到这样的东西:
<codey value="-STB"></codey><codey value="-SO"></codey>
然后我尝试将此变量的内容用作节点集:
<xsl:for-each select="msxsl:node-set($reserved)/codey">
<xsl:value-of select="@value"/>
</xsl:for-each>
这个 for-each 循环不输出任何东西。我从这里的其他答案中得到的印象是这可能是一个命名空间问题,所以我尝试用 声明变量xmlns=""
,我已经用 包围了所有codey
条目,<Codes xmlns="">
并且我还尝试使用 JScript 前缀以防万一,但我似乎什么都做不了。
我的样式表中没有默认命名空间:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:utils="urn:utils">
如果它有任何用处,我的脚本标题如下所示:
<msxsl:script implements-prefix="utils" language="javascript">
如果有人有任何建议,我将永远感激不尽。