Nick Wellnhofer
97f3ec7708
test: Make gentest.py use Doxygen XML
...
This adds Python code to look up the required feature macros for a
symbol in tools/xmlmod.py.
2025-05-02 13:33:34 +02:00
Nick Wellnhofer
bbe5827c94
doc: Build docs with Doxygen and xsltproc
...
Build the documentation as part of the build process with support for
all build systems. This adds a new configuration option --with-docs to
build documentation. Required tools are Doxygen, xsltproc and the
DocBook 4 XSLT stylesheets. Doxygen will also be required to build the
Python bindings.
2025-05-02 13:33:34 +02:00
Nick Wellnhofer
e525564f65
doc: Remove empty lines at start of block
...
These lines were left over after automatic conversion.
2025-05-02 11:42:05 +02:00
Nick Wellnhofer
fd6ab89be3
doc: Adjust documentation of public structs
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
8816f267be
doc: Adjust documentation of enums
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
e549622bc5
doc: Convert documentation to Doxygen
...
Automated conversion based on a few regexes.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
69879da88f
doc: Remove email addresses from documentation
...
Also remove authorship information from generated files, hash.c and
globals.c which were rewritten.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
61890e399d
doc: Prepare for conversion to Doxygen
...
Fix many params in internal functions (not really necessary but Doxygen
warns about that in XML mode).
Fix formatting in a few corner cases that automatic conversion can't
handle.
Rearrange some DOC_DISABLE blocks.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
95c2c52329
doc: Remove apibuild.py and old documentation
...
The last weird maintenance script is gone now.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
68d0f0ee27
doc: Fix DocBook warnings
...
Add empty <contrib> elements to silence warnings from the DocBook
stylesheets.
2025-05-01 23:23:42 +02:00
Nick Wellnhofer
75dde50b20
cmake: Fix installation directories in libxml2-config.cmake
...
Use AX_RECURSIVE_EVAL with Autotools and remove hack using parent
directories.
Fixes #898 .
2025-05-01 21:10:30 +02:00
Nick Wellnhofer
87b30343f6
io: Fix linkage of __xml*BufferCreateFilename functions
...
Make these functions usable on Windows.
2025-04-29 20:36:25 +02:00
Nick Wellnhofer
9419f6de61
meson: Install libxml2.py
...
Apparently, nobody has ever tried to use the Python bindings built with
Meson.
2025-04-29 18:03:05 +02:00
Nick Wellnhofer
01d1dabd83
cmake: Reenable testapi on Windows
...
Fixes #403 .
2025-04-27 13:01:42 +02:00
Nick Wellnhofer
fc8899d47c
parser: Make xmlCtxtGetValidCtxt depend on VALID_ENABLED
2025-04-27 13:01:42 +02:00
Nick Wellnhofer
af40ed75bc
tests: Rework testapi.c
...
Only test NULL and 0 arguments which is the only useful test from my
experience.
Use ElementTree instead of libxml2's own Python bindings in gentest.py.
Stop using the <cond> element in libxml2-api.xml. Look up modules
required by symbols using separate code in xmlmod.py, preparing for the
eventual removal of apibuild.py.
2025-04-27 13:01:42 +02:00
Nick Wellnhofer
177067ea5a
reader: Fix reading compressed data
...
Also make sure that functions that don't return error codes set the
global error.
2025-04-25 15:36:59 +02:00
Nick Wellnhofer
0bac84b1bd
Add missing NULL checks to public API functions
2025-04-25 13:15:29 +02:00
Nick Wellnhofer
72906f161c
parser: Make undeclared entities in XML content fatal
...
When parsing XML content with functions like xmlParseBalancedChunk or
xmlParseInNodeContext, make undeclared entities always a fatal error to
match 2.13 behavior.
This was deliberately changed in 4f329dc5 , probably to make the tests
pass.
Should fix #895 .
2025-04-25 13:15:29 +02:00
Nick Wellnhofer
097fe87f1b
gitlab-ci: Add --show-diff to PHP tests
...
Thanks to @nielsdos for the hint.
2025-04-23 17:58:34 +02:00
Nick Wellnhofer
8a791fdd2f
save: Fix xmlDocDump with encoding
...
Short-lived regression.
2025-04-21 18:00:56 +02:00
Nick Wellnhofer
71cc210477
autotools, cmake: Use SOABI for Python shared object
...
This requires Python3 with CMake.
Fixes #894 .
2025-04-21 12:16:55 +02:00
Nick Wellnhofer
78b123c662
save: Fix XML escape table
...
Regressed with 2adcde39 .
2025-04-21 00:51:32 +02:00
Nick Wellnhofer
5df94fc752
save: Remove unused struct members
2025-04-20 23:09:18 +02:00
Nick Wellnhofer
8c6c61653b
save: Rework encoding setup
...
Always set up encoding in xmlDocContentDumpOutput. Refactor and simplify
some code.
2025-04-20 23:09:18 +02:00
Nick Wellnhofer
936e3d529a
save: Fix xmlSave with NULL encoding
...
Regressed with cc45f618 .
2025-04-20 20:53:26 +02:00
Nick Wellnhofer
b85d77d156
http: Remove built-in HTTP client
...
Stubs are retained for ABI compatibility.
Fixes #631 .
Obsoletes #160 .
2025-04-20 18:21:06 +02:00
Nick Wellnhofer
85dce1800d
gitlab-ci: Readd gcc/autoconf job with Python
2025-04-20 14:31:20 +02:00
Nick Wellnhofer
134bda8284
gitlab-ci: Fetch git history for xmlstarlet
2025-04-19 19:00:38 +02:00
Nick Wellnhofer
70d18dde71
gitlab-ci: Add xmlstarlet to downstream tests
...
Use my private fork for now.
2025-04-19 18:08:28 +02:00
Nick Wellnhofer
adc7913dbc
gitlab-ci: Avoid redundant builds of libxml2 and libxslt
...
Build and install libxml2 and libxslt in a new "gcc-install" job and
publish the build as artifact. Make the downstream tests use the
artifact instead of building the libraries redundantly.
2025-04-19 17:17:57 +02:00
Nick Wellnhofer
9e3159d04c
parser: Never use XML catalogs when parsing HTML files
...
When loading HTML files we shouldn't try to resolve URIs using the XML
catalogs.
2025-04-19 14:52:14 +02:00
Nick Wellnhofer
2d8b6df28a
xmllint: Make --nocatalogs actually work
2025-04-19 14:52:14 +02:00
Nick Wellnhofer
ffc0bba93e
xmllint: Remove --htmlout option
...
Unlike the documentation suggests, this only printed error messages as
HTML which doesn't seem useful.
2025-04-19 14:52:14 +02:00
Nick Wellnhofer
dc4910c70a
xmllint: Remove --testIO option
2025-04-18 23:38:48 +02:00
Nick Wellnhofer
95ffa8d234
xmllint: Remove --debugent option
2025-04-18 23:38:48 +02:00
Nick Wellnhofer
7b5543bdbb
autotools: Remove unneeded $(ICONV_CFLAGS)
...
The public headers don't include iconv.h anymore.
2025-04-18 23:38:48 +02:00
Nick Wellnhofer
7d33f97f65
xmllint: Separate XML and HTML parser options
2025-04-18 23:38:48 +02:00
Nick Wellnhofer
094980ec08
fuzz: Make --pretty arg more likely to be valid
2025-04-18 18:48:25 +02:00
Nick Wellnhofer
7e1c2b9485
xmllint: Return error code instead of exiting in parseInteger
2025-04-18 18:48:25 +02:00
Nick Wellnhofer
4ba1f9238a
html: Avoid HTML_PARSE_HTML5 clashing with XML_PARSE_NOENT
...
There are several users that pass invalid XML parser options to the
HTML parser. Choose a value that is less likely to clash.
2025-04-18 18:48:25 +02:00
Nick Wellnhofer
6896f478d4
Revert "valid: Remove duplicate error messages when streaming"
...
This reverts commit cd220b93d8 .
This commit broke the xmstarlet tests.
2025-04-18 17:24:45 +02:00
Nick Wellnhofer
aa4ef7737b
parser: Deprecate output-related globals
2025-04-17 21:14:00 +02:00
Nick Wellnhofer
d8193b7af1
xmllint: Fix parsing of --pretty argument
2025-04-17 21:14:00 +02:00
Nick Wellnhofer
470bec654c
xmllint: Switch to xmlSaveSetIndentString
...
Stop using global xmlTreeIndentString.
2025-04-17 21:14:00 +02:00
Nick Wellnhofer
2e2b4c0f18
xmllint: Use xmlSave API to serialize HTML
2025-04-17 21:14:00 +02:00
Nick Wellnhofer
c132829c10
xmllint: Don't serialize to memory with --memory option
...
This is only useful for debugging.
2025-04-17 20:06:07 +02:00
Nick Wellnhofer
8dbf298cc5
xmllint: Fix harmless memory leaks
...
Fixes #892 .
2025-04-17 20:01:16 +02:00
Nick Wellnhofer
21b510bc62
gitlab-ci: Enable more build options for CMake/Meson jobs
2025-04-17 20:01:16 +02:00
Nick Wellnhofer
fa931566d2
build: Disable Python bindings by default
2025-04-17 20:01:16 +02:00