无法识别每个组的Qt XSLT

  • 本文关键字:Qt XSLT 识别 qt qtxml
  • 更新时间 :
  • 英文 :


Qt文档说明使用QXmlQuery时支持for-each-group。然而,当我尝试使用它时,我得到一个错误:

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

我错过了什么吗?

我使用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">

谢谢。

在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年以来,这方面的工作似乎很少。

最新更新