On Mon, Jan 04, 2021 at 09:48:42PM +0100, Thibaut Cuvelier wrote: > My recommendation, based on a quite long study of XML libraries (i.e. > several years, but quite far from full-time): either use QXmlStreamWriter > (which is mostly a SAX implementation in C++) or write our own. > QXmlStreamWriter is almost 4k-line long, but it can substantially be > simplified in our case ( > https://github.com/qt/qtbase/blob/54875be84de059374920e4c0deacd13a41caaa13/src/corelib/serialization/qxmlstream.cpp). > > > TinyXML2 (https://github.com/leethomason/tinyxml2), pugixml ( > https://github.com/zeux/pugixml), and Xerces-C++ ( > https://xerces.apache.org/xerces-c/) are only DOM-based. There are quite a > few C libraries, like libxml2, that can be SAX-like, but C libraries are > horrible to use (http://www.xmlsoft.org/examples/testWriter.c).
I do not dare to make any qualified recommendation between the choices above. But thinking aloud -- if there de facto isn't an alternative to QXmlStreamWriter, would it be hard to separate that class from the rest of Qt, fork and include it as an internal lyx routine? We would have full control over that code without unnecessary surprises of Qt's development. Pavel -- lyx-devel mailing list lyx-devel@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-devel