[英]xmlXPathCompOpEval: function node-set not found
我正在為程序中的XSLT處理實現幾個庫(libxslt,libxml2,libexslt)。 我包含了將文件庫鏈接到程序的頭文件和.so文件,並發現鏈接效果很好。
下面是使用該庫的某些功能在我的程序中實現XSLT處理的代碼,因此,前兩行運行良好,但最后一行產生了錯誤。
style=xsltParseStylesheetFile(stylesheetfile);
input=xmlParseFile(inputfile);
output=xsltApplyStylesheet(style, input,0); //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擴展功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.