Software:Libxml2

From HandWiki
libxml2
Original author(s)The GNOME Project
Initial releaseSeptember 23, 1999; 26 years ago (1999-09-23)
Stable release2.9.11 (May 13, 2021; 5 years ago (2021-05-13)[1]) [±]
Written inC
Operating systemcross-platform[2][3]
TypeXML parser, XML validator
LicenseMIT License

libxml2 is a software library for parsing XML documents. It is also the basis for the libxslt library which processes XSLT-1.0 stylesheets.

Description

Written in the C programming language, libxml2 provides bindings to C++, Ch,[4] XSH, C#, Python, Swift, Kylix/Delphi and other Pascals, Ruby, Perl, Common Lisp,[5] and PHP.[6] It was originally developed for the GNOME project, but can be used outside it. libxml2's code is highly portable[7] since it only depends on standard ANSI C libraries[8] and it is available under the MIT license[3] since 2002, when it was previously made available under the GNU Lesser General Public License.[9] It has become the de facto standard XML and HTML parsing library in the open-source world, being shipped in most of the Linux distributions.[10][11]

It includes the command-line utility xmllint and an HTML parser.[12]

As of June 2025, libxml2 was being maintained by a single person, Nick Wellnhofer. [13]

While the maintainer is an unpaid volunteer, the library is used in commercial software. In June 2025, Wellnhofer declared that he will treat security problem reports as normal bugs, fixed when there is time. In taking this stance, Wellnhofer hoped to encourage commercial users of the library to contribute work or money for maintenance.[14]

On 15 September 2025, Wellnhofer announced that he was stepping down as maintainer.[15][16] He has since started a libxml fork re-licensed under the GNU Affero General Public License.[17]

See also

References

  1. Veillard, Daniel (3 May 2021). "[xml] Release of libxml2 2.9.11". xml@gnome.org (Mailing list). Retrieved 8 June 2021.
  2. "Introduction". 28 November 2017. http://xmlsoft.org/intro.html. 
  3. 3.0 3.1 "GNOME / libxml2 / Wiki / Home". https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home. 
  4. "ch libxml2 open source binding". https://chlibxml2.sourceforge.net/. 
  5. "cl-libxml2 High-level wrapper around libxml2 and libxslt libraries". https://code.google.com/archive/p/cl-libxml2/. 
  6. "libxml". http://php.net/manual/en/book.libxml.php. 
  7. "Python bindings". https://gitlab.gnome.org/GNOME/libxml2/-/wikis/Python-bindings. 
  8. "The XML C parser and toolkit of Gnome". http://www.xmlsoft.org/xml.html. 
  9. Commit c575b997, written by Daniel Veillard on February 8, 2022, as archived on gitlab.gnome.org.
  10. Borisov, Bobby (2025-12-09). "Libxml2 Becomes Officially Unmaintained After Maintainer Steps Down" (in en-US). https://linuxiac.com/libxml2-becomes-officially-unmaintained/. 
  11. "libxml2 Maintainer Stepping Down - "More Or Less Unmaintained For Now"" (in en). https://www.phoronix.com/news/Libxml2-No-Maintainer. 
  12. Veillard, Daniel. "HTMLparser: interface for an HTML 4.0 non-verifying parser". GNOME. https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-HTMLparser.html. 
  13. "NWellnhofer". https://discourse.gnome.org/u/nwellnhof/summary. 
  14. Brockmeier, Joe (25 June 2025). "Libxml2's 'no security embargoes' policy" (in en). LWN.net. https://lwn.net/Articles/1025971/. 
  15. "Stepping down as libxml2 maintainer". https://discourse.gnome.org/t/stepping-down-as-libxml2-maintainer/31398. 
  16. jzb (17 September 2025). "Libxml2 2.15.0 released". https://lwn.net/Articles/1038478/. 
  17. nwellnhof. "libxml2-ee" (in en-US). https://codeberg.org/nwellnhof/libxml2-ee.