libxml2 2.15 removed the built-in HTTP client, the FTP module, the
functions in xmlunicode.h, the shell and several other legacy symbols.
The Windows export list php_libxml2.def still referenced them, so the
statically linked build failed with hundreds of unresolved external
symbols.
Keep php_libxml2_legacy.def as the original export list, unchanged, and
make php_libxml2.def the clean 2.15+ list, selecting one or the other
depending on the libxml2 version being built against.
Also adjust the ext/dom tests for the 2.15 URI change: drive letters are
no longer URI schemes on Windows, so relaxNGValidate() reports a
backslash path and xmlns="x:y" is no longer absolute.
Fix GH-22752
Close GH-22755
The Docbook parser module has been removed completely. Support for
XPointer locations (ranges and points) is disabled by default, and will
eventually be removed completely. Given that the maintainer comments
on the latter: "Be warned that this part of the code base is buggy and
had many security issues in the past", it seems to be prudent to no
longer build with XPointer locations support right away.
To be able to build against libxml2 2.10.0, we remove the export
definitions for Windows.
Closes GH-9358.