5 stars award

Libxml2 2.9.2

Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available under the MIT License. XML itself is a metalanguage to design markup languages, i.e. text language where semantic and structure are added to the content using extra "markup" information enclosed between angle brackets. HTML is the most well-known markup language. Though the library is written in C a variety of language bindings make it available in other environments. Libxml2 is known to be very portable, the library should build and work without serious troubles on a variety of systems (Linux, Unix, Windows, CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, VxWorks, ...) Libxml2 implements a number of existing standards related to markup languages:


  • the XML standard: http://www.w3.org/TR/REC-xml

  • Namespaces in XML: http://www.w3.org/TR/REC-xml-names/

  • XML Base: http://www.w3.org/TR/xmlbase/

  • RFC 2396 : Uniform Resource Identifiers http://www.ietf.org/rfc/rfc2396.txt

  • XML Path Language (XPath) 1.0: http://www.w3.org/TR/xpath

  • HTML4 parser: http://www.w3.org/TR/html401/

  • XML Pointer Language (XPointer) Version 1.0: http://www.w3.org/TR/xptr

  • XML Inclusions (XInclude) Version 1.0: http://www.w3.org/TR/xinclude/

  • ISO-8859-x encodings, as well as rfc2044 [UTF-8] and rfc2781 [UTF-16] Unicode encodings, and more if using iconv support

  • part of SGML Open Technical Resolution TR9401:1997

  • XML Catalogs Working Draft 06 August 2001: http://www.oasis-open.org/committees/entity/spec-2001-08-06.html

  • Canonical XML Version 1.0: http://www.w3.org/TR/xml-c14n and the Exclusive XML Canonicalization CR draft http://www.w3.org/TR/xml-exc-c14n

  • Relax NG, ISO/IEC 19757-2:2003, http://www.oasis-open.org/committees/relax-ng/spec-20011203.html

  • W3C XML Schemas Part 2: Datatypes REC 02 May 2001

  • W3C xml:id Working Draft 7 April 2004


In most cases libxml2 tries to implement the specifications in a relatively strictly compliant way. As of release 2.4.16, libxml2 passed all 1800+ tests from the OASIS XML Tests Suite. To some extent libxml2 provides support for the following additional specifications but doesn`t claim to implement them completely:

  • Document Object Model (DOM) http://www.w3.org/TR/DOM-Level-2-Core/ the document model, but it doesn`t implement the API itself, gdome2 does this on top of libxml2

  • RFC 959 : libxml2 implements a basic FTP client code

  • RFC 1945 : HTTP/1.0, again a basic HTTP client code

  • SAX: a SAX2 like interface and a minimal SAX1 implementation compatible with early expat versions


A partial implementation of XML Schemas Part 1: Structure is being worked on but it would be far too early to make any conformance statement about it at the moment. Separate documents:

  • the libxslt page providing an implementation of XSLT 1.0 and common extensions like EXSLT for libxml2

  • the gdome2 page : a standard DOM2 implementation for libxml2

  • the XMLSec page: an implementation of W3C XML Digital Signature for libxml2

  • also check the related links section for more related and active projects


User's rating:

  • Currently 4.01/5
  • 1
  • 2
  • 3
  • 4
  • 5
Enlarge the screenshot of Libxml2
[ Enlarge Image ]
Download 2.6MB Libxml2

Download Direct

(2.6MB, Extension: HTML)

Download alternate to Libxml2 solution

Look at the free or trial alternatives and similar apps to Libxml2 software by the tags. It's possible also to find substitutes for the most popular titles in the Website Building category.

| Xml C Parser | Libxml2 | Html |

History updates (Complete changelogs since the listing on this site)

2.9.2 [02-05-15]

  • Security:
    Fix for CVE-2014-3660 billion laugh variant (Daniel Veillard),
    CVE-2014-0191 Do not fetch external parameter entities (Daniel Veillard)
  • Bug Fixes:
    fix memory leak xml header encoding field with XML_PARSE_IGNORE_ENC (Bart De Schuymer),
    xmlmemory: handle realloc properly (Yegor Yefremov),
    Python generator bug raised by the const change (Daniel Veillard),
    Windows Critical sections not released correctly (Daniel Veillard),
    Parser error on repeated recursive entity expansion containing < (Daniel Veillard),
    xpointer : fixing Null Pointers (Gaurav Gupta),
    Remove Unnecessary Null check in xpointer.c (Gaurav Gupta),
    parser bug on misformed namespace attributes (Dennis Filder),
    Pointer dereferenced before null check (Daniel Veillard),
    Leak of struct addrinfo in xmlNanoFTPConnect() (Gaurav Gupta),
    Possible overflow in HTMLParser.c (Daniel Veillard),
    python/tests/sync.py assumes Python dictionaries are ordered (John Beck),
    Fix Enum check and missing break (Gaurav Gupta),
    xmlIO: Handle error returns from dup() (Philip Withnall),
    Fix a problem properly saving URIs (Daniel Veillard),
    wrong error column in structured error when parsing attribute values (Juergen Keil),
    wrong error column in structured error when skipping whitespace in xml decl (Juergen Keil),
    no error column in structured error handler for xml schema validation errors (Juergen Keil),
    Couple of Missing Null checks (Gaurav Gupta),
    Add couple of missing Null checks (Daniel Veillard),
    xmlschemastypes: Fix potential array overflow (Philip Withnall),
    runtest: Fix a memory leak on parse failure (Philip Withnall),
    xmlIO: Fix an FD leak on gzdopen() failure (Philip Withnall),
    xmlcatalog: Fix a memory leak on quit (Philip Withnall),
    HTMLparser: Correctly initialise a stack allocated structure (Philip Withnall),
    Check for tmon in _xmlSchemaDateAdd() is incorrect (David Kilzer),
    Avoid Possible Null Pointer in trio.c (Gaurav Gupta),
    Fix processing in SAX2 in case of an allocation failure (Daniel Veillard),
    XML Shell command "cd" does not handle "/" at end of path (Daniel Veillard),
    Fix various Missing Null checks (Gaurav Gupta),
    Fix a potential NULL dereference (Daniel Veillard),
    Add a couple of misisng check in xmlRelaxNGCleanupTree (Gaurav Gupta),
    Add a missing argument check (Gaurav Gupta),
    Adding a check in case of allocation error (Gaurav Gupta),
    xmlSaveUri() incorrectly recomposes URIs with rootless paths (Dennis Filder),
    Adding some missing NULL checks (Gaurav),
    Fixes for xmlInitParserCtxt (Daniel Veillard),
    Fix regressions introduced by CVE-2014-0191 patch (Daniel Veillard),
    erroneously ignores a validation error if no error callback set (Daniel Veillard),
    xmllint was not parsing the --c14n11 flag (Sérgio Batista),
    Avoid Possible null pointer dereference in memory debug mode (Gaurav),
    Avoid Double Null Check (Gaurav),
    Restore context size and position after XPATH_OP_ARG (Nick Wellnhofer),
    Fix xmlParseInNodeContext() if node is not element (Daniel Veillard),
    Avoid a possible NULL pointer dereference (Gaurav),
    Fix xmlTextWriterWriteElement when a null content is given (Daniel Veillard),
    Fix an typo 'onrest' in htmlScriptAttributes (Daniel Veillard),
    fixing a ptotential uninitialized access (Daniel Veillard),
    Fix an fd leak in an error case (Daniel Veillard),
    Missing initialization for the catalog module (Daniel Veillard),
    Handling of XPath function arguments in error case (Nick Wellnhofer),
    Fix a couple of missing NULL checks (Gaurav),
    Avoid a possibility of dangling encoding handler (Gaurav),
    Fix HTML push parser to accept HTML_PARSE_NODEFDTD (Arnold Hendriks),
    Fix a bug loading some compressed files (Mike Alexander),
    Fix XPath node comparison bug (Gaurav),
    Type mismatch in xmlschemas.c (Gaurav),
    Type mismatch in xmlschemastypes.c (Gaurav),
    Avoid a deadcode in catalog.c (Daniel Veillard),
    run close socket on Solaris, same as we do on other platforms (Denis Pauk),
    Fix pointer dereferenced before null check (Gaurav),
    Fix a potential NULL dereference in tree code (Daniel Veillard),
    Fix potential NULL pointer dereferences in regexp code (Gaurav),
    xmllint --pretty crashed without following numeric argument (Tim Galeckas),
    Fix XPath expressions of the form '@ns:*' (Nick Wellnhofer),
    Fix XPath '//' optimization with predicates (Nick Wellnhofer),
    Clear up a potential NULL dereference (Daniel Veillard),
    Fix a possible NULL dereference (Gaurav),
    Avoid crash if allocation fails (Daniel Veillard),
    Remove occasional leading space in XPath number formatting (Daniel Veillard),
    Fix handling of mmap errors (Daniel Veillard),
    Catch malloc error and exit accordingly (Daniel Veillard),
    missing else in xlink.c (Ami Fischman),
    Fix a parsing bug on non-ascii element and CR/LF usage (Daniel Veillard),
    Fix a regression in xmlGetDocCompressMode() (Daniel Veillard),
    properly quote the namespace uris written out during c14n (Aleksey Sanin),
    Remove premature XInclude check on URI being relative (Alexey Neyman),
    Fix missing break on last() function for attributes (dcb),
    Do not URI escape in server side includes (Romain Bondue),
    Fix an error in xmlCleanupParser (Alexander Pastukhov)
  • Documentation:
    typo in error messages "colon are forbidden from..." (Daniel Veillard),
    Fix a link to James SAX documentation old page (Daniel Veillard),
    Fix typos in relaxng.c (Jan Pokorný),
    Fix a doc typo (Daniel Veillard),
    Fix typos in {tree,xpath}.c (errror) (Jan Pokorný),
    Add limitations about encoding conversion (Daniel Veillard),
    Fix typos in xmlschemas{,types}.c (Jan Pokorný),
    Fix incorrect spelling entites->entities (Jan Pokorný),
    Forgot to document 2.9.1 release, regenerate docs (Daniel Veillard)
  • Portability:
    AC_CONFIG_FILES and executable bit (Roumen Petrov),
    remove HAVE_CONFIG_H dependency in testlimits.c (Roumen Petrov),
    fix some tabs mixing incompatible with python3 (Roumen Petrov),
    Visual Studio 14 CTP defines snprintf() (Francis Dupont),
    OS400: do not try to copy unexisting doc files (Patrick Monnerat),
    OS400: use either configure.ac or configure.in. (Patrick Monnerat),
    os400: make-src.sh: create physical file with target CCSID (Patrick Monnerat),
    OS400: Add some more C macros equivalent procedures. (Patrick Monnerat),
    OS400: use C macros to implement equivalent RPG support procedures. (Patrick Monnerat),
    OS400: implement XPath macros as procedures for ILE/RPG support. (Patrick Monnerat),
    OS400: include in distribution tarball. (Patrick Monnerat),
    OS400: Add README: compilation directives and OS/400 specific stuff. (Patrick Monnerat),
    OS400: Add compilation scripts. (Patrick Monnerat),
    OS400: ILE RPG language header files. (Patrick Monnerat),
    OS400: implement some macros as functions for ILE/RPG language support (that as no macros). (Patrick Monnerat),
    OS400: UTF8<-->EBCDIC wrappers for system and external library calls (Patrick Monnerat),
    OS400: Easy character transcoding support (Patrick Monnerat),
    OS400: iconv functions compatibility wrappers and table builder. (Patrick Monnerat),
    OS400: create architecture directory. Implement dlfcn emulation. (Patrick Monnerat),
    Fix building when configuring without xpath and xptr (Daniel Veillard),
    configure: Add --with-python-install-dir (Jonas Eriksson),
    Fix compilation with minimum and xinclude. (Nicolas Le Cam),
    Compile out use of xmlValidateNCName() when not available. (Nicolas Le Cam),
    Fix compilation with minimum and schematron. (Nicolas Le Cam),
    Legacy needs xmlSAX2StartElement() and xmlSAX2EndElement(). (Nicolas Le Cam),
    Don't use xmlValidateName() when not available. (Nicolas Le Cam),
    Fix a portability issue on Windows (Longstreth Jon),
    Various portability patches for OpenVMS (Jacob (Jouk) Jansen),
    Use specific macros for portability to OS/400 (Patrick Monnerat),
    Add macros needed for OS/400 portability (Patrick Monnerat),
    Portability patch for fopen on OS/400 (Patrick Monnerat),
    Portability fixes for OS/400 (Patrick Monnerat),
    Improve va_list portability (Patrick Monnerat),
    Portability fix (Patrick Monnerat),
    Portability fix (Patrick Monnerat),
    Generic portability fix (Patrick Monnerat),
    Shortening lines in headers (Patrick Monnerat),
    build: Use pkg-config to find liblzma in preference to AC_CHECK_LIB (Philip Withnall),
    build: Add @LZMA_LIBS@ to libxml’s pkg-config files (Philip Withnall),
    fix some tabs mixing incompatible with python3 (Daniel Veillard),
    add additional defines checks for support "./configure --with-minimum" (Denis Pauk),
    Another round of fixes for older versions of Python (Arfrever Frehtes Taifersar Arahesis),
    python: fix drv_libxml2.py for python3 compatibility (Alexandre Rostovtsev),
    python: Fix compiler warnings when building python3 bindings (Armin K),
    Fix for compilation with python 2.6.8 (Petr Sumbera)
  • Improvements:
    win32/libxml2.def.src after rebuild in doc (Roumen Petrov),
    elfgcchack.h: more legacy needs xmlSAX2StartElement() and xmlSAX2EndElement() (Roumen Petrov),
    elfgcchack.h: add xmlXPathNodeEval and xmlXPathSetContextNode (Roumen Petrov),
    Provide cmake module (Samuel Martin),
    Fix a couple of issues raised by make dist (Daniel Veillard),
    Fix and add const qualifiers (Kurt Roeckx),
    Preparing for upcoming release of 2.9.2 (Daniel Veillard),
    Fix zlib and lzma libraries check via command line (Dmitriy),
    wrong error column in structured error when parsing end tag (Juergen Keil),
    doc/news.html: small update to avoid line join while generating NEWS. (Patrick Monnerat),
    Add methods for python3 iterator (Ron Angeles),
    Support element node traversal in document fragments. (Kyle VanderBeek),
    xmlNodeSetName: Allow setting the name to a substring of the currently set name (Tristan Van Berkom),
    Added macros for argument casts (Eric Zurcher),
    adding init calls to xml and html Read parsing entry points (Daniel Veillard),
    Get rid of 'REPLACEMENT CHARACTER' Unicode chars in xmlschemas.c (Jan Pokorný),
    Implement choice for name classes on attributes (Shaun McCance),
    Two small namespace tweaks (Daniel Veillard),
    xmllint --memory should fail on empty files (Daniel Veillard),
    Cast encoding name to char pointer to match arg type (Nikolay Sivov)
  • Cleanups:
    Removal of old configure.in (Daniel Veillard),
    Unreachable code in tree.c (Gaurav Gupta),
    Remove a couple of dead conditions (Gaurav Gupta),
    Avoid some dead code and cleanup in relaxng.c (Gaurav),
    Drop not needed checks (Denis Pauk),
    Fix a wrong test (Daniel Veillard)

Other versions : 2.9.1 2.9.0 2.8.0 2.7.8

v2.9.1 [05-13-13]

  • Features:
    Support for Python3 (Daniel Veillard),
    Add xmlXPathSetContextNode and xmlXPathNodeEval (Alex Bligh)
  • Documentation:
    Add documentation for xmllint --xpath (Daniel Veillard),
    Fix the URL of the SAX documentation from James (Daniel Veillard),
    Fix spelling of "length". (Michael Wood)
  • Portability:
    Fix python bindings with versions older than 2.7 (Daniel Veillard),
    rebuild docs:Makefile.am (Roumen Petrov),
    elfgcchack.h after rebuild in doc (Roumen Petrov),
    elfgcchack for buf module (Roumen Petrov),
    Fix a uneeded and wrong extra link parameter (Daniel Veillard),
    Few cleanup patches for Windows (Denis Pauk),
    Fix rpmbuild --nocheck (Mark Salter),
    Fix for win32/configure.js and WITH_THREAD_ALLOC (Daniel Richard),
    Fix Broken multi-arch support in xml2-config (Daniel Veillard),
    Fix a portability issue for GCC < 3.4.0 (Daniel Veillard),
    Windows build fixes (Daniel Richard),
    Fix a thread portability problem (Friedrich Haubensak),
    Downgrade autoconf requirement to 2.63 (Daniel Veillard)
  • Bug Fixes:
    Fix a linking error for python bindings (Daniel Veillard),
    Fix a couple of return without value (Jüri Aedla),
    Improve the hashing functions (Daniel Franke),
    Improve handling of xmlStopParser() (Daniel Veillard),
    Remove risk of lockup in dictionary initialization (Daniel Veillard),
    Activate detection of encoding in external subset (Daniel Veillard),
    Fix an output buffer flushing conversion bug (Mikhail Titov),
    Fix an old bug in xmlSchemaValidateOneElement (Csaba László),
    Fix configure cannot remove messages (Gilles Espinasse),
    fix schema validation in combination with xsi:nil (Daniel Veillard),
    xmlCtxtReadFile doesn't work with literal IPv6 URLs (Steve Wolf),
    Fix a few problems with setEntityLoader (Alexey Neyman),
    Detect excessive entities expansion upon replacement (Daniel Veillard),
    Fix the flushing out of raw buffers on encoding conversions (Daniel,
    Veillard),
    Fix some buffer conversion issues (Daniel Veillard),
    When calling xmlNodeDump make sure we grow the buffer quickly (Daniel,
    Veillard),
    Fix an error in the progressive DTD parsing code (Dan Winship),
    xmllint should not load DTD by default when using the reader (Daniel,
    Veillard),
    Try IBM-037 when looking for EBCDIC handlers (Petr Sumbera),
    Fix potential out of bound access (Daniel Veillard),
    Fix large parse of file from memory (Daniel Veillard),
    Fix a bug in the nsclean option of the parser (Daniel Veillard),
    Fix a regression in 2.9.0 breaking validation while streaming (Daniel,
    Veillard),
    Remove potential calls to exit() (Daniel Veillard)
  • Improvements:
    Regenerated API, and testapi, rebuild documentation (Daniel Veillard),
    Fix tree iterators broken by 2to3 script (Daniel Veillard),
    update all tests for Python3 and Python2 (Daniel Veillard),
    A few more fixes for python 3 affecting libxml2.py (Daniel Veillard),
    Fix compilation on Python3 (Daniel Veillard),
    Converting apibuild.py to python3 (Daniel Veillard),
    First pass at starting porting to python3 (Daniel Veillard),
    updated configure.in for python3 (Daniel Veillard),
    Add support for xpathRegisterVariable in Python (Shaun McCance),
    Added a regression tests from bug 694228 data (Daniel Veillard),
    Cache presence of '<' in entities content (Daniel Veillard),
    Avoid extra processing on entities (Daniel Veillard),
    Python binding for xmlRegisterInputCallback (Alexey Neyman),
    Python bindings: DOM casts everything to xmlNode (Alexey Neyman),
    Define LIBXML_THREAD_ALLOC_ENABLED via xmlversion.h (Tim Starling),
    Adding streaming validation to runtest checks (Daniel Veillard),
    Add a --pushsmall option to xmllint (Daniel Veillard)
  • Cleanups:
    Switched comment in file to UTF-8 encoding (Daniel Veillard),
    Extend gitignore (Daniel Veillard),
    Silent the new python test on input (Alexey Neyman),
    Cleanup of a duplicate test (Daniel Veillard),
    Cleanup on duplicate test expressions (Daniel Veillard),
    Fix compiler warning after 153cf15905cf4ec080612ada6703757d10caba1e (Patrick,
    Gansterer),
    Spec cleanups and a fix for multiarch support (Daniel Veillard),
    Silence a clang warning (Daniel Veillard),
    Cleanup the Copyright to be pure MIT Licence wording (Daniel Veillard),
    rand_seed should be static in dict.c (Wouter Van Rooy),
    Fix typos in parser comments (Jan Pokorný)

v2.9.0 [09-12-12]

  • Features:
    A few new API entry points,
    More resilient push parser mode,
    A lot of portability improvement,
    Faster XPath evaluation
  • Documentation:
    xml2-config.1 markup error (Christian Weisgerber),
    libxml(3) manpage typo fix (John Bradshaw),
    More cleanups to the documentation part of libxml2 (Daniel Richard G)
  • Portability:
    Bug 676544 - fails to build with --without-sax1 (Akira TAGOH),
    fix builds not having stdint.h (Rob Richards),
    GetProcAddressA is available only on WinCE (Daniel Veillard),
    More updates and cleanups on autotools and Makefiles (Daniel Richard G),
    More changes for Win32 compilation (Eric Zurcher),
    Basic changes for Win32 builds of release 2.9.0: compile buf.c (Eric Zurcher),
    Bundles all generated files for python into the distribution (Daniel Richard G),
    Fix compiler warnings of wincecompat.c (Patrick Gansterer),
    Fix non __GNUC__ build (Patrick Gansterer),
    Fix windows unicode build (Patrick Gansterer),
    clean redefinition of {v}snprintf in C-source (Roumen Petrov),
    use xmlBuf... if DEBUG_INPUT is defined (Roumen Petrov),
    fix runtests to use pthreads support for various Unix platforms (Daniel Richard G),
    Various "make distcheck" and portability fixups 2nd part (Daniel Richard G),
    Various "make distcheck" and portability fixups (Daniel Richard G),
    Fix compilation on older Visual Studio (Daniel Veillard)
  • Bug Fixes:
    Change the XPath code to percolate allocation errors (Daniel Veillard),
    Fix reuse of xmlInitParser (Daniel Veillard),
    Fix potential crash on entities errors (Daniel Veillard),
    initialize var (Rob Richards),
    Fix the XPath arity check to also check the XPath stack limits (Daniel Veillard),
    Fix problem with specific and generic error handlers (Pietro Cerutti),
    Avoid a potential infinite recursion (Daniel Veillard),
    Fix an XSD error when generating internal automata (Daniel Veillard),
    Patch for xinclude of text using multibyte characters (Vitaly Ostanin),
    Fix a segfault on XSD validation on pattern error (Daniel Veillard),
    Fix missing xmlsave.h module which was ignored in recent builds (Daniel Veillard),
    Add a missing element check (Daniel Veillard),
    Adding various checks on node type though the API (Daniel Veillard),
    Namespace nodes can't be unlinked with xmlUnlinkNode (Daniel Veillard),
    Fix make dist to include new private header files (Daniel Veillard),
    More fixups on the push parser behaviour (Daniel Veillard),
    Strengthen behaviour of the push parser in problematic situations (Daniel Veillard),
    Enforce XML_PARSER_EOF state handling through the parser (Daniel Veillard),
    Fixup limits parser (Daniel Veillard),
    Do not fetch external parsed entities (Daniel Veillard),
    Fix an error in previous commit (Aron Xu),
    Fix entities local buffers size problems (Daniel Veillard),
    Fix parser local buffers size problems (Daniel Veillard),
    Fix a failure to report xmlreader parsing failures (Daniel Veillard)
  • Improvements:
    Keep libxml2.syms when running "make distclean" (Daniel Veillard),
    Allow to set the quoting character of an xmlWriter (Csaba Raduly),
    Keep non-significant blanks node in HTML parser (Daniel Veillard),
    Add a forbidden variable error number and message to XPath (Daniel Veillard),
    Support long path names on WNT (Michael Stahl),
    Improve HTML escaping of attribute on output (Daniel Veillard),
    Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors (Arfrever Frehtes Taifersar Arahesis),
    Switching XPath node sorting to Timsort (Vojtech Fried),
    Optimizing '//' in XPath expressions (Nick Wellnhofer),
    Expose xmlBufShrink in the public tree API (Daniel Veillard),
    Visible HTML elements close the head tag (Conrad Irwin),
    Fix file and line report for XSD SAX and reader streaming validation (Daniel Veillard),
    Fix const qualifyer to definition of xmlBufferDetach (Daniel Veillard),
    minimize use of HAVE_CONFIG_H (Roumen Petrov),
    fixup regression in Various "make distcheck" and portability fixups (Roumen Petrov),
    Add support for big line numbers in error reporting (Daniel Veillard),
    Avoid using xmlBuffer for serialization (Daniel Veillard),
    Improve compatibility between xmlBuf and xmlBuffer (Daniel Veillard),
    Provide new accessors for xmlOutputBuffer (Daniel Veillard),
    Improvements for old buffer compatibility (Daniel Veillard),
    Expand the limit test program (Daniel Veillard),
    Improve error reporting on parser errors (Daniel Veillard),
    Implement some default limits in the XPath module (Daniel Veillard),
    Introduce some default parser limits (Daniel Veillard),
    Cleanups and new limit APIs for dictionaries (Daniel Veillard),
    Fixup for buf.c (Daniel Veillard),
    Cleanup URI module memory allocation code (Daniel Veillard),
    Extend testlimits (Daniel Veillard),
    More avoid quadratic behaviour (Daniel Veillard),
    Impose a reasonable limit on PI size (Daniel Veillard),
    first version of testlimits new test (Daniel Veillard),
    Avoid quadratic behaviour in some push parsing cases (Daniel Veillard),
    Impose a reasonable limit on comment size (Daniel Veillard),
    Impose a reasonable limit on attribute size (Daniel Veillard),
    Harden the buffer code and make it more compatible (Daniel Veillard),
    More cleanups for input/buffers code (Daniel Veillard),
    Cleanup function xmlBufResetInput(),
    to set input from Buffer (Daniel Veillard) Swicth the test program for characters to new input buffers (Daniel Veillard),
    Convert the HTML tree module to the new buffers (Daniel Veillard),
    Convert of the HTML parser to new input buffers (Daniel Veillard),
    Convert the writer to new output buffer and save APIs (Daniel Veillard),
    Convert XMLReader to the new input buffers (Daniel Veillard),
    New saving functions using xmlBuf and conversion (Daniel Veillard),
    Provide new xmlBuf based saving functions (Daniel Veillard),
    Convert XInclude to the new input buffers (Daniel Veillard),
    Convert catalog code to the new input buffers (Daniel Veillard),
    Convert C14N to the new Input buffer (Daniel Veillard),
    Convert xmlIO.c to the new input and output buffers (Daniel Veillard),
    Convert XML parser to the new input buffers (Daniel Veillard),
    Incompatible change to the Input and Output buffers (Daniel Veillard),
    Adding new encoding function to deal with the new structures (Daniel Veillard),
    Convert XPath to xmlBuf (Daniel Veillard),
    Adding a new buf module for buffers (Daniel Veillard),
    Memory error within SAX2 reuse common framework (Daniel Veillard),
    Fix xmllint --xpath node initialization (Daniel Veillard)
  • Cleanups:
    Various cleanups to avoid compiler warnings (Daniel Veillard),
    Big space and tab cleanup (Daniel Veillard),
    Followup to LibXML2 docs/examples cleanup patch (Daniel Veillard),
    Second round of cleanups for LibXML2 docs/examples (Daniel Richard),
    Remove all .cvsignore as they are not used anymore (Daniel Veillard),
    Fix a Timsort function helper comment (Daniel Veillard),
    Small cleanup for valgrind target (Daniel Veillard),
    Patch for portability of latin characters in C files (Daniel Veillard),
    Cleanup some of the parser code (Daniel Veillard),
    Fix a variable name in comment (Daniel Veillard),
    Regenerated testapi.c (Daniel Veillard),
    Regenerating docs and API files (Daniel Veillard),
    Small cleanup of unused variables in test (Daniel Veillard),
    Expand .gitignore with more files (Daniel Veillard)

v2.8.0 [06-12-12]

  • Features: - add lzma compression support (Anders F Bjorklund)
  • Documentation: xmlcatalog: Add uri and delegateURI to possible add types in man page. (Ville Skyttä), Update README.tests (Daniel Veillard), URI handling code is not OOM resilient (Daniel Veillard), Fix an error in comment (Daniel Veillard), Fixed bug #617016 (Daniel Mustieles), Fixed two typos in the README document (Daniel Neel), add generated html files (Anders F Bjorklund), Clarify the need to use xmlFreeNode after xmlUnlinkNode (Daniel Veillard), Improve documentation a bit (Daniel Veillard), Updated URL for lxml python bindings (Daniel Veillard)
  • Portability: Restore code for Windows compilation (Daniel Veillard), Remove git error message during configure (Christian Dywan), xmllint: Build fix for endTimer if !defined(HAVE_GETTIMEOFDAY) (Patrick R. Gansterer), remove a bashism in confgure.in (John Hein), undef ERROR if already defined (Patrick R. Gansterer), Fix library problems with mingw-w64 (Michael Cronenworth), fix windows build. ifdef addition from bug 666491 makes no sense (Rob Richards), prefer native threads on win32 (Sam Thursfield), Allow to compile with Visual Studio 2010 (Thomas Lemm), Fix mingw's snprintf configure check (Andoni Morales), fixed a 64bit big endian issue (Marcus Meissner), Fix portability failure if netdb.h lacks NO_ADDRESS (Daniel Veillard), Fix windows build from lzma addition (Rob Richards), autogen: Only check for libtoolize (Colin Walters), Fix the Windows build files (Patrick von Reth), 634846 Remove a linking option breaking Windows VC10 (Daniel Veillard), 599241 fix an initialization problem on Win64 (Andrew W. Nosenko), fix win build (Rob Richards)
  • Bug fixes: Part for rand_r checking missing (Daniel Veillard), Cleanup on randomization (Daniel Veillard), Fix undefined reference in python module (Pacho Ramos), Fix a race in xmlNewInputStream (Daniel Veillard), Fix weird streaming RelaxNG errors (Noam), Fix various bugs in new code raised by the API checking (Daniel Veillard), Fix various problems with "make dist" (Daniel Veillard), Fix a memory leak in the xzlib code (Daniel Veillard), HTML parser error with
  • Improvements: use mingw C99 compatible functions {v}snprintf instead those from MSVC runtime (Roumen Petrov), New symbols added for the next release (Daniel Veillard), xmlTextReader bails too quickly on error (Andy Lutomirski), Use a hybrid allocation scheme in xmlNodeSetContent (Conrad Irwin), Use buffers when constructing string node lists. (Conrad Irwin), Add HTML parser support for HTML5 meta charset encoding declaration (Denis Pauk), wrong message for double hyphen in comment XML error (Bryan Henderson), Fix "make tst" to grab lzma lib too (Daniel Veillard), Add "whereis" command to xmllint shell (Ryan), Improve xmllint shell (Ryan), add function xmlTextReaderRelaxNGValidateCtxt() (Noam Postavsky), Add --system support to autogen.sh (Daniel Veillard), Add hash randomization to hash and dict structures (Daniel Veillard), included xzlib in dist (Anders F Bjorklund), move xz/lzma helpers to separate included files (Anders F Bjorklund), add generated devhelp files (Anders F Bjorklund), add XML_WITH_LZMA to api (Anders F Bjorklund), autogen.sh: Honor NOCONFIGURE environment variable (Colin Walters), Improve the error report on undefined REFs (Daniel Veillard), Add exception for new W3C PI xml-model (Daniel Veillard), Add options to ignore the internal encoding (Daniel Veillard), testapi: use the right type for the check (Stefan Kost), various: handle return values of write calls (Stefan Kost), testWriter: xmlTextWriterWriteFormatElement wants an int instead of a long int (Stefan Kost), runxmlconf: update to latest testsuite version (Stefan Kost), configure: add -Wno-long-long to CFLAGS (Stefan Kost), configure: support silent automake rules if possible (Stefan Kost), xmlmemory: add a cast as size_t has no portable printf modifier (Stefan Kost), __xmlRaiseError: remove redundant schannel initialization (Dmitry V. Levin), __xmlRaiseError: do cheap code check early (Dmitry V. Levin)
  • Cleanups: Cleanups before 2.8.0-rc2 (Daniel Veillard), Avoid an extra operation (Daniel Veillard), Remove vestigial de-ANSI-fication support. (Javier Jardón), autogen.sh: Fix typo (Javier Jardón), Do not use unsigned but unsigned int (Daniel Veillard), Remove two references to u_short (Daniel Veillard), Fix -Wempty-body warning from clang (Nico Weber), Cleanups of lzma support (Daniel Veillard), Augment the list of ignored files (Daniel Veillard), python: remove unused variable (Stefan Kost), python: flag two unused args (Stefan Kost), configure: acconfig.h is deprecated since autoconf-2.50 (Stefan Kost), xpath: remove unused variable (Stefan Kost)

v2.7.8 [07-22-11]

Average review rating :

Useful independent reviews and opinions of the users

Review Libxml2Write a review « Be the first to post a review for Libxml2 download!

Predicted future versions and notices:

The doDownload.com constantly monitors the update of all programs, including information from the Libxml2 2.9.3 changelog file, however sometimes it can happen that data are not complete or are outdated.We assume that author continue's to develop 2.10.0 version with further advanced features, and soon you will be informed. Equally important 3.0.0 upgrades of the program we will continue to monitor. Full Libxml2 description has been compared with the overall software database and our algorithm has found the following applications (are showed below).