Action against software patents Gnome2 Logo W3C Logo Red Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

libxml

Main Menu
Related links

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, ...)

Libxml2 implements a number of existing standards related to markup languages:

In most cases libxml2 tries to implement the specifications in a relatively strictly compliant way. As of release 2.4.16, libxml2 passes 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/ 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 minimal SAX implementation compatible with early expat versions
  • DocBook SGML v4: libxml2 includes a hackish parser to transition to XML

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:

Results of the xmlbench benchmark on sourceforge 19 March 2003 (smaller is better):

benchmark results for Expat Xerces libxml2 Oracle and Sun toolkits

Logo designed by Marc Liyanage.

Daniel Veillard