1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-07-10 10:41:05 +03:00

136 Commits

Author SHA1 Message Date
670701075b Add configuration flag for XPointer locations support
Add a new configuration flag that controls whether the outdated support
for XPointer locations (ranges and points) is enabled.

    --with-xptr-locs          # Autotools
    LIBXML2_WITH_XPTR_LOCS    # CMake

The latest spec for what it essentially an XPath extension seems to be
this working draft from 2002:

    https://www.w3.org/TR/xptr-xpointer/

The xpointer() scheme is listed as "being reviewed" in the XPointer
registry since at least 2006. libxml2 seems to be the only modern
software that tries to implement this spec, but the code has many bugs
and quality issues.

The flag defaults to "off" and support for this extensions has to be
requested explicitly. The relevant API functions are deprecated.
2022-04-21 02:41:58 +02:00
cacf65556c Fix compiler warnings in Python code
Add more deprecated functions to avoid compiler warnings when building
the Python bindings.
2022-04-13 16:43:15 +02:00
a62b31f43f Use portable python shebangs
* In conda or Gentoo Prefix, we don't want to use the system python and
  instead rely on PATH lookup.
2022-04-06 19:57:30 +02:00
40483d0ce2 Deprecate module init and cleanup functions
These functions shouldn't be part of the public API. Most init
functions are only thread-safe when called from xmlInitParser. Global
variables should only be cleaned up by calling xmlCleanupParser.
2022-03-06 15:59:43 +01:00
4a8c71eb7c Remove DOCBparser
This code has been broken and deprecated since version 2.6.0, released
in 2003. Because of a bug in commit 961b535c, DOCBparser.c was never
compiled since 2012. I couldn't find a Debian package using any of its
symbols, so it seems safe to remove this module.
2022-03-04 22:56:21 +01:00
ebc5009793 Warn when using deprecated functions from Python bindings
This requires Python code to be run with -Wd.
2022-03-01 13:57:16 +01:00
004fe9de53 Deprecate IDREF-related functions in valid.h
These functions are only needed internally for validation.

xmlGetRefs is inherently unsafe because the ref table isn't updated
if attributes are removed (unlike the ids table).

None of the Ubuntu 20.04 packages depending on libxml2 use any of these
functions (except xmlFreeRefTable in libxslt), so it seems perfectly
safe to deprecate them.

Remove xmlIsRef and xmlRemoveRef from the Python bindings.
2022-02-20 21:49:05 +01:00
f42a0524c6 Build the Python extension with PY_SSIZE_T_CLEAN
The Python extension module now uses Py_ssize_t rather than int for
string lengths. This change makes the extension compatible with
Python 3.10.

Fixes #203.
2020-11-19 18:09:22 +01:00
af62eb4fab Python generator bug raised by the const change
the doc methode for xmlDocGetRootElement wasn't generated anymore
2014-10-13 16:40:56 +08:00
6f18465189 A few more fixes for python 3 affecting libxml2.py
need a few changes to the generator and the libxml.py stub
2013-03-30 22:33:06 +08:00
3798c4adbb Fix compilation on Python3
while still compiling on recent Python2:
  - change the handling of files, tweak the generator, get the fd
    instead of the FILE *, dup it and fdopen based on mode, add a
    Release function on Python3 and call to flush from the generated
    python stubs
  - switch to using Capsules instead of CObjects
  - fix PyString to PyBytes
  - fix PyInt to PyLong
  - tweak the module registration to compile on both versions
  - drop PyInstance check for passed xmlNodes and instead check
    attributes presence

Daniel
2013-03-30 22:33:06 +08:00
3cb1ae26ec First pass at starting porting to python3 2013-03-30 22:33:06 +08:00
48da90bc4a Python binding for xmlRegisterInputCallback
It is possible to make xmlIO handle any protocol by means of
xmlRegisterInputCallback(). However, that function is currently only
available in C API. So, the natural solution seems to be implementing Python
bindings for the xmlRegisterInputCallback.

* python/generator.py: skip xmlPopInputCallbacks
* python/libxml.c python/libxml.py python/libxml_wrap.h: implement the
  wrappers
* python/tests/input_callback.py python/tests/Makefile.am: also add a test case
2013-02-25 15:54:25 +08:00
10455bb48f Sort python generated stubs
to avoid shuffling each time python changes or on different
architectures
2010-10-15 18:39:50 +02:00
794613770d Fix python generator to not use deprecated xmllib
* python/generator.py: use xml.sax instead, patch based on similar
  fir for libvirt by Cole Robinson <crobinso@redhat.com>
2010-01-13 15:34:50 +01:00
be2bd6ac6f adds element traversal support avoid a warning regenerated daniel
* include/libxml/tree.h tree.c python/generator.py: adds
  element traversal support
* valid.c: avoid a warning
* doc/*: regenerated
daniel

svn path=/trunk/; revision=3804
2008-11-27 15:26:28 +00:00
39801e572a apply patch from Martin fixing python whitespaces following previous
* python/generator.py python/setup.py: apply patch from Martin fixing
  python whitespaces
* NEWS: following previous commit rebuilt now in UTF-8
Daniel

svn path=/trunk/; revision=3746
2008-06-03 16:08:54 +00:00
ed939f8e06 fix a bug introduced when fixing #438208 and reported by Ashwin fix an
* tree.c: fix a bug introduced when fixing #438208 and reported by
  Ashwin
* python/generator.py: fix an infinite loop bug
Daniel

svn path=/trunk/; revision=3733
2008-04-08 08:20:08 +00:00
3b6acc93bf apparently id() sometimes generate negative values and %X outputs -XXXX
* python/generator.py python/libxml.py: apparently id() sometimes
  generate negative values and %X outputs -XXXX :-(
Daniel
2006-12-14 15:49:41 +00:00
ddefe9cccf fixed the conversion of long parameters Daniel
* python/generator.py: fixed the conversion of long parameters
Daniel
2006-08-04 12:44:24 +00:00
8bda20f73c removed a potentially uninitialized variable error fixed a deprecation
* xpath.c: removed a potentially uninitialized variable error
* python/generator.py: fixed a deprecation warning
* python/tests/tstLastError.py: silent the damn test when Okay !
Daniel
2005-08-24 09:36:47 +00:00
95175012ec fixing #307823 and a couple of assorted bugs fixed conditionals in
* testapi.c runsuite.c runtest.c: fixing #307823 and a couple of
  assorted bugs
* python/generator.py python/libxml2-python-api.xml: fixed
  conditionals in generator too
* doc/apibuild.py doc/libxml2-api.xml doc/* elfgcchack.h: some
  cleanups too and rebuilt
Daniel
2005-07-03 16:09:51 +00:00
0e460da346 another patch from Brent Hendricks to add new handlers with the various
* python/generator.py python/libxml.py: another patch from Brent
  Hendricks to add new handlers with the various validity contexts
* python/tests/Makefile.am python/tests/validDTD.py
  python/tests/validRNG.py python/tests/validSchemas.py: also
  added the regression tests he provided
Daniel
2005-03-30 22:47:10 +00:00
bb8502c0ef applied patch from Brent Hendricks to avoid leak in python bindings when
* python/generator.py python/libxml.c: applied patch from Brent
  Hendricks to avoid leak in python bindings when using schemas
  error handlers.
Daniel
2005-03-30 07:40:35 +00:00
25c90c589b try to fix a problem with valgrind. applied memory leak fix from Brent
* Makefile.am doc/examples/Makefile.am python/tests/Makefile.am
  xstc/Makefile.am: try to fix a problem with valgrind.
* python/generator.py python/libxml.c python/tests/Makefile.am
  python/tests/tstmem.py: applied memory leak fix from Brent Hendricks
  c.f. bug #165349
Daniel
2005-03-02 10:47:41 +00:00
2fc6df95cc added a streaming pattern detector for a subset of XPath, should help
* pattern.c include/libxml/pattern.h xmllint.c: added a
  streaming pattern detector for a subset of XPath, should
  help Kasimier for identity constraints
* python/generator.py: applied Stephane Bidoul patch to find
  paths without breaking.
Daniel
2005-01-30 18:42:55 +00:00
ff349110cc added most required entires to foreign encoding table, plus some
* python/generator.py: added most required entires to
  foreign encoding table, plus some additional logic to
  assure only the 1st param uses the 't#' format.  Fixes
  bug #152286, but may still have some other UTF-16 problems.
2004-12-24 08:39:13 +00:00
106cad6619 enhanced for enabling build in a different directory. Added (optional)
* Makefile.am, gentest.py: enhanced for enabling build in
  a different directory.  Added (optional) param to gentest.py
  to specify the source directory (bug #155468)
* doc/Makefile.am: changed destination of NEWS from (top_srcdir)
  to (top_builddir) (bug #155468)
* python/Makefile.am, python/generator.py: enhanced for enabling
  build in a different directory(bug #155468).  Added (optional)
  param to generator.py to specify the source directory.  Added
  a new table of functions which have possible "foreign" encodings
  (e.g. UTF16), and code to use python 't' format instead of
  'z' format (mostly solving bug #152286, but still need to
  populate the table).
2004-12-23 15:56:12 +00:00
dbbcf8e14a modified to allow the ns and nsDefs accessors to return None instead of
* python/generator.py: modified to allow the ns and nsDefs
  accessors to return None instead of error when no namespace
  is present (bug #)
2004-12-17 22:50:53 +00:00
850ce9b658 Applied patch from Brent Hendricks adding support for late DTD validation.
* python/generator.py python/libxml.c python/libxml2class.txt
  python/libxml_wrap.h python/types.c: Applied patch from Brent
  Hendricks adding support for late DTD validation.
* python/tests/Makefile.am python/tests/dtdvalid.py
  python/tests/test.dtd: integrated the provided regression test
Daniel
2004-11-10 11:55:47 +00:00
263ec86a75 applied patch from Malcolm Tredinnick fixing bug #154294 related to saving
* python/generator.py python/libxml.c python/tests/outbuf.py:
  applied patch from Malcolm Tredinnick fixing bug #154294
  related to saving to python file objects.
Daniel
2004-10-04 10:26:54 +00:00
259f0dfa8b Applied patch from Torkel Lyng to add Schemas support to the Python
* xmlschemas.c include/libxml/xmlschemas.h python/generator.py
  python/libxml.c python/libxml_wrap.h python/types.c
  python/tests/schema.py python/tests/Makefile.am: Applied patch
  from Torkel Lyng to add Schemas support to the Python bindings
  and extend the schemas error API, registered a new test.
* doc/* elfgcchack.h: rebuilt to regenerate the bindings
Daniel
2004-08-18 09:13:18 +00:00
c68d78d25a added a check on the argument for some classes (e.g. xmlDoc and xmlNode)
* python/generator.py: added a check on the argument for some
  classes (e.g. xmlDoc and xmlNode) to prevent a segfault (as
  reported on the list).  Further enhancement should be done
  to auto-create the appropriate object.
* python/libxml.c: minor fix for a warning message; added a
  routine, currently not used, to report the description of a
  PyCObject.
* python/libxml2class.txt: regenerated
2004-07-16 10:39:30 +00:00
f93a866079 applied patch from Stphane Bidoul to fix some Python bindings
* python/libxml.c python/generator.py python/libxml.py
  python/libxml2-python-api.xml python/libxml2class.txt:
  applied patch from Stphane Bidoul to fix some Python bindings
  initialization, then had to change the parserCleanup()
  to handle memory released there.
* xmlmemory.c: added more debugging comments.
Daniel
2004-07-01 12:56:30 +00:00
d69cc8174e do not provide functions used as destructor of classes as public methods
* python/generator.py: do not provide functions used as destructor
  of classes as public methods to avoid double-free problem like
  in bug #145185
Daniel
2004-07-01 09:36:26 +00:00
656ce948ab Fixed bug #141529 i.e. various problems when building with --without-html
* xmllint.c xmlsave.c python/generator.py python/libxml.c: Fixed
  bug #141529 i.e. various problems when building with --without-html
Daniel
2004-04-30 23:11:45 +00:00
4f4a27f970 applied patch from Stephane Bidoul to add enums to the Python bindings.
* python/generator.py python/tests/tstLastError.py: applied
  patch from Stephane Bidoul to add enums to the Python bindings.
Daniel
2004-01-14 23:50:34 +00:00
46da46493f applied patch from Stephane Bidoul for structured error handling from
* python/libxml2-python-api.xml python/libxml_wrap.h python/types.c
  python/tests/Makefile.am python/tests/tstLastError.py: applied
  patch from Stephane Bidoul for structured error handling from
  python, and the associated test
Daniel
2004-01-06 22:54:57 +00:00
f7eb794c14 fixed problem pointed out by Stphane Bidoul on the list. completed
* python/generator.py, python/libxml2class.txt: fixed problem
  pointed out by Stphane Bidoul on the list.
* xinclude.c, xpointer.c, xpath.c, include/libxml/xpointer.h:
  completed modifications required to fix Bug 129967 (at last!).
  Now wait to see how long before further trouble...
2003-12-31 07:59:17 +00:00
6cbd6c0738 cleanup the output buffer support to at least get the basic to work fixes
* python/generator.py python/libxml.c python/libxml_wrap.h:
  cleanup the output buffer support to at least get the basic
  to work
* python/tests/outbuf.py python/tests/serialize.py: fixes and
  cleanup.
* include/libxml/xmlwriter.h: cleanup
Daniel
2003-12-04 12:31:49 +00:00
ea939087b9 enhanced for range checking, updated to Unicode version 4.0.1 (API docs
* genUnicode.py, xmlunicode.c, include/libxml/xmlunicode.h,
  python/libxml2class.txt: enhanced for range checking,
  updated to Unicode version 4.0.1 (API docs also updated)
* python/generator.py: minor change to fix a warning
2003-11-09 12:45:26 +00:00
6bf4d6fd3e small enhancement to assure ATTRIBUTE_UNUSED appears after the variable
* python/generator.py: small enhancement to assure ATTRIBUTE_UNUSED
  appears after the variable declaration.
* valid.c: trivial change to eliminate a warning message
2003-11-04 23:29:16 +00:00
198c1bfc1c removing xmldwalk module since it got merged with the xmlreader. cleanup
* Makefile.am configure.in xmldwalk.c xmlreader.c
  include/libxml/Makefile.am include/libxml/xmldwalk.h
  include/libxml/xmlversion.h.in: removing xmldwalk module
  since it got merged with the xmlreader.
* parser.c: cleanup
* win32/libxml2.def.src python/libxml2class.txt doc/libxml2-api.xml:
  rebuilt the API
* python/tests/Makefile.am python/tests/reader7.py
  python/tests/walker.py: adding regression testing for the
  new xmlreader APIs, new APIs for reader creation, including
  makeing reader "walker" operating on preparsed document trees.
Daniel
2003-10-20 17:07:41 +00:00
a71a8ef127 further small changes to elminate most of the remaining warnings.
* error.c trionan.[ch] testThreads.c python/generator.py:
  further small changes to elminate most of the remaining
  warnings.
2003-08-06 04:43:55 +00:00
c266464174 patch from Joachim Bauch + cleanup for Relax NG error callbacks in python
* python/generator.py python/libxml.c python/libxml2class.txt:
  patch from Joachim Bauch + cleanup for Relax NG error callbacks
  in python
Daniel
2003-07-29 20:44:53 +00:00
2b32e6f34c fixed a problem in the generator where the way functions are remapped as
* python/generator.py: fixed a problem in the generator where
  the way functions are remapped as methods on classes was
  not symetric and dependant on python internal hash order,
  as reported by Stphane Bidoul
Daniel
2003-04-26 12:03:54 +00:00
febcca40d4 more bug-hunting added --tree to dump the intermediate rng tree patch from
* relaxng.c: more bug-hunting
* testRelax.c include/libxml/relaxng.h: added --tree to dump the
  intermediate rng tree
* python/generator.py: patch from Stephane Bidoul to fix the generator
  on python < 2.2
Daniel
2003-02-16 15:44:18 +00:00
591b4be0fe fixed doc comment problems adding RelaxNG wrappers added a specific test
* xpath.c: fixed doc comment problems
* python/generator.py python/libxml_wrap.h python/types.c: adding
  RelaxNG wrappers
* python/tests/Makefile.am python/tests/relaxng.py: added a specific
  test of those early Python RelaxNG bindings
Daniel
2003-02-09 23:33:36 +00:00
71531f3345 comments cleanups use xmllint for doing the RelaxNG tests preparing 2.5.2
* HTMLparser.c tree.c xmlIO.c: comments cleanups
* Makefile.am: use xmllint for doing the RelaxNG tests
* configure.in: preparing 2.5.2 made schemas support default to
  on instead of off
* relaxng.c: removed the verbosity
* xmllint.c: added --relaxng option
* python/generator.py python/libxml_wrap.h: prepared the integration
  of the new RelaxNG module and schemas
* result/relaxng/*: less verbose output
Daniel
2003-02-05 13:19:53 +00:00
ff12c494f7 seems there is no good reasons to not generate bindings for XPointer
* python/generator.py: seems there is no good reasons to
  not generate bindings for XPointer
Daniel
2003-01-23 16:42:55 +00:00