首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XSL node-set from variable。选择不查找路径。

XSL node-set from variable。选择不查找路径。
EN

Stack Overflow用户
提问于 2018-07-24 23:26:18
回答 1查看 167关注 0票数 1

慢慢地对此发疯,并尝试了这里找到的各种解决方案,但到目前为止似乎都没有起作用。

我有一些XSL:

代码语言:javascript
复制
<xsl:variable name="reserved">
    <xsl:value-of select="utils:getReservedCodes()"/>
</xsl:variable>

它的值是由一些JScript决定的:

代码语言:javascript
复制
function getReservedCodes() {
    reservedCodes = reservedCodesList.join("");
    return reservedCodes;
}   

如果我使用以下命令输出reserved的值

代码语言:javascript
复制
<xsl:value-of select="$reserved"/> 

我得到的东西是这样的:

代码语言:javascript
复制
<codey value="-STB"></codey><codey value="-SO"></codey>

然后,我尝试将此变量的内容用作节点集:

代码语言:javascript
复制
<xsl:for-each select="msxsl:node-set($reserved)/codey">
    <xsl:value-of select="@value"/>
</xsl:for-each>

这个for-each循环不会输出任何内容。我从这里的其他答案中得到的印象是,这可能是一个名称空间问题,所以我尝试使用xmlns=""声明变量,我用<Codes xmlns="">括起了所有的codey条目,我还尝试使用JScript前缀,以防出现这种情况,但我似乎无法正常工作。

我的样式表中没有默认名称空间:

代码语言:javascript
复制
<?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">

如果它有任何用处,我的脚本头如下所示:

代码语言:javascript
复制
<msxsl:script implements-prefix="utils" language="javascript">

如果有人有任何建议,我将永远感激不尽。

EN

回答 1

Stack Overflow用户

发布于 2018-07-26 16:10:49

为了防止对其他人有帮助,我通过应用this问题中的代码并让我的JScript返回一个逗号分隔的字符串,设法解决了我的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51502407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档