Hi!

Out of the many deprecation warnings in the XML package [1], the ones
most challenging to fix are in src/RSDTD.c. This file powers the
parseDTD() function and the getDTD= argument of the functions
htmlParse(), htmlTreeParse(), xmlInternalTreeParse(),
xmlNativeTreeParse(), xmlParse(), xmlTreeParse(). Unlike the DTD
validation features, the DTD _introspection_ features rely on direct
access to structure members that libxml2's developers no longer wish to
keep public.

The good news are that no current version of a CRAN or Bioconductor
package seems to be using parseDTD(). The bad news are that the getDTD=
argument defaults to TRUE in all 6 parsing functions. The good news are
that everyone seems to be ignoring the DTD part of the return value;
I've been running increasingly wide reverse dependency checks with this
feature removed and so far found no changes to worse (but many failures
related to Internet access).

If you would like parseDTD() or {xml|html}*Parse(getDTD=TRUE) to keep
working, please let me know now; maybe we could propose a DTD
introspection API to the upstream. So far they haven't answered my
questions [2].

Since there is no way for XML to pass R CMD check with this interface
still working, what should be done about it? Especially worrying is the
getDTD=TRUE argument, which affects the class and shape of the return
value.

-- 
Best regards,
Ivan

[1] https://cran.r-project.org/web/checks/check_results_XML.html

[2] https://gitlab.gnome.org/GNOME/libxml2/-/issues/1042

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to