New features for xerces-c 4.0.0?

Francesco Pretto <[email protected]>
Newsgroups gmane.text.xml.xerces-c.devel
Message-ID <CALas-igecJ7cs4Yf_+FmGTH2Q2av+X43uGFEqDAR7dOdidXBmQ@mail.gmail.com>
Hello,

I notice there is some work towards a 4.0.0 version. Can you point me
to features that you are planning for this release? Since XML has been
losing its momentum for years, I suggest the next release to be truly
innovative and helpful for developers to justify the major version
step. This is my wishlist:
- First citizen support for UTF-8 as internal encoding: to my
knowledge xerces-c supports only UTF-16 as internal encoding, which it
was a good choice in the 90s. Today some frameworks are moving
internal string encoding to UTF-8, meaning that using xerces-c will
always require expensive bi-directional conversions. Notable
frameworks are Swift[1] (NSString should already support utf-8 storage
when interoping with Objective-C and c++) and qt6 may choose to also
have utf-8 storage in QString. xerces-c could be worked on so XMLCh
maps to char or char8_t (C++20), intending an internal utf-8 encoding;
- A non cached, forward-only parser API (also called a pull parser
API) similar to XmlReader[2]: to my knowledge xerces-c still doesn't
have it, while libxml2 wisely implemented it a long time ago[3]. A
pull parser API is intended to be more resource efficient and easier
to use than event based SAX API, possibly being just a little bit more
verbose.

Cheers,
Francesco

[1] https://swift.org/blog/utf8-string/
[2] https://docs.microsoft.com/en-us/dotnet/api/system.xml.xmlreader
[3] http://www.xmlsoft.org/xmlreader.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.