在Qt4中,从XSLT转换为HTML,键功能不可用

In Qt4, converting from XSLT to HTML, key function is not available

本文关键字:功能 HTML 转换 Qt4 XSLT      更新时间:2023-10-16

在 Qt4 中,使用 XSLT 转换从 XML 文件转换为 HTML 文件时,如下所示:

QXmlQuery query(QXmlQuery::XSLT20);
QString output;
query.setFocus(QUrl(_final_output_filepath.c_str()));
query.setQuery(xslt_code.c_str());
query.evaluateTo(&output);

我收到以下错误:

Error XPST0017 in file:///tmp/test, at line 1, column 1: No function with name fn:key is available.

尝试执行以下操作时:

<xsl:for-each select="key('gprofq',$ts_name)">
   <pre><xsl:value-of select="."/></pre>
</xsl:for-each>

键之前在模板中定义如下:

<xsl:key name="gprofq" match="gprofitem" use="@bin"/>

我以前没有遇到过QT4,但它似乎主要是一个XQuery引擎。此处的文档

http://doc.qt.io/qt-5/xmlprocessing.html#xslt-2-0

表示 XSLT 支持是实验性的,密钥尚未实现。