xmlXPathCompOpEval:未找到函数节点集



我正在实现几个库(libxslt、libxml2、libexslt(用于我的程序中的XSLT处理。我包含了将库链接到程序的头文件和.so文件,发现链接效果很好。

下面是使用库中的一些函数在我的程序中实现XSLT处理的代码,因此前两行运行良好,但最后一行出现了错误。

style=xsltParseStylesheetFile(stylesheetfile);
input=xmlParseFile(inputfile);
output=xsltApplyStylesheet(style, input,0); //error

//error
xmlXPathCompOpEval:未找到函数节点集
XPath错误:未注册的函数

使用xsltproc(它是libxslt的命令行版本(以及我的计算机中的相同XML(inputfile(和XSL文件(stylesheetfile(,同样的XSLT处理也能很好地工作,但实现不起作用。

我知道节点集函数在libexslt中。但为什么它不起作用呢?是图书馆的链接问题吗?特别是libexslt?或配置?你们知道这个错误的解决方法吗?非常感谢你的帮助。非常感谢。

仅包含头和链接到相关库并不能启用扩展函数,正如您提到的xsltproc支持它们一样,请参阅其源代码https://gitlab.gnome.org/GNOME/libxslt/blob/master/xsltproc/xsltproc.c#L803它在哪里调用

exsltRegisterAll();

以使能在XSLT处理器中分别注册所有EXSLT扩展函数。

相关内容

  • 没有找到相关文章

最新更新