簡體   English   中英

xmlXPathCompOpEval:找不到功能節點集

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM