如何使用exsl:nodejs/nodexslt中的nodeset



我正试图通过node_xslt模块使用nodejs中的EXSLT节点集函数。这是一个围绕libxslt库的简单包装器,它支持EXSLT这就是我使用它的方式。

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns:exsl="http://exslt.org/common"
                    extension-element-prefixes="exsl">
<xsl:variable name="variable">
  <item />
  <item />
</xsl:variable>
    <xsl:variable name="result" select="exsl:node-set($variable)"/>

这就是错误:

xmlXPathCompOpEval:未找到函数节点集XPath错误:未注册的函数运行时错误:文件/JayDataContextGenerator_OData_V2.xslt第58行元素未能计算"select"表达式。

更新:node_xslt插件的作者Bahbrah已经在github中更新了项目,所以上面提到的转换执行起来没有任何麻烦。

最后,我发现了检查xsltproc.c的方法,我不得不在node_xslt.c 中添加以下内容

顶部:

#include <libexslt/exslt.h>
#include <libexslt/exsltconfig.h>

到第138行,进入FUNCTION(转换)

exsltRegisterAll();

扩展wscript以便:

obj.lib = ['xml2', 'xslt', 'exslt']

然后我不得不用重建node_xslt

node-waf build

在此之后,exsl:node-set()的工作方式类似于魅力。

相关内容

  • 没有找到相关文章

最新更新