我正在尝试通过node_xslt模块使用nodejs中的EXSLT节点集函数。这是一个围绕libxslt库的简单包装器,据我所知它支持EXSLT。然而,任何对exsl:node-set的引用都会产生Thi,这就是我使用它的方式。
<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: function node-set not found XPath错误:未注册的函数运行时错误:File./JayDataContextGenerator_OData_V2.xslt第58行element for-each无法计算'select‘表达式。
更新: node_xslt插件的作者Bahblah已经更新了github中的项目,所以上面提到的转换执行起来没有任何麻烦。
发布于 2012-07-21 22:48:23
最后,在检查xsltproc.c时,我必须向node_xslt.c添加以下内容
到顶部:
#include <libexslt/exslt.h>
#include <libexslt/exsltconfig.h>和第138行,into函数(转换)
exsltRegisterAll();扩展wscript,以便:
obj.lib = ['xml2', 'xslt', 'exslt']然后我不得不用以下命令重建node_xslt
node-waf build在此之后,exsl:node-set()的工作方式就像护身符一样。
https://stackoverflow.com/questions/11592856
复制相似问题