2

Qt 文档声明使用 QXmlQuery 时支持 for-each-group 。但是,当我尝试使用它时出现错误:

“XSL-T 中不存在具有本地名称 for-each-group 的元素。”

我错过了什么吗?

我正在使用 Qt 4.8.4。我这样调用 QXmlQuery :

QXmlQuery xmlQuery(QXmlQuery::XSLT20);
xmlQuery.setMessageHandler(&messageHandler);
xmlQuery.setFocus(&xmlBuffer);
xmlQuery.setQuery(&queryFile);

我的 XSL 文件中的行如下所示:

<xsl:for-each-group select="../readings/slot" group-by="@slot_dtm">

谢谢。

4

1 回答 1

0

从 Qt 5.12 开始,这个问题仍然存在。似乎 Qt 根本不支持xsl:for-each-group. 这也是 2013 年一篇博客文章的结果,其中有人分析了这个问题。

有一些有限的方法可以在没有的情况下实现相同的功能xsl:for-each-group请参见此处。但是由于 Qt 的 XSLT 变量绑定中的错误,这对我不起作用。最后,我甚至避免了xsl:for-each循环,因为最初知道组的顺序和身份。请参阅我的代码

tl;dr:不幸的是,Qt XSLT 在 Qt 5.12 中几乎没有用处;就像他们说的那样,实施是“实验性的”。自 2013 年以来,似乎几乎没有做这方面的工作。

于 2020-07-03T20:00:14.957 回答