Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), libxml2 library 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, ...)
Here are some key features of "libxml2":
· Libxml2 exports Push (progressive) and Pull (blocking) type parser interfaces for both XML and HTML.
· Libxml2 can do DTD validation at parse time, using a parsed document instance, or with an arbitrary DTD.
· Libxml2 includes complete XPath, XPointer and XInclude implementations.
· It is written in plain C, making as few assumptions as possible, and sticking closely to ANSI C/POSIX for easy embedding. Works on Linux/Unix/Windows, ported to a number of other platforms.
· Basic support for HTTP and FTP client allowing applications to fetch remote resources.
· The design is modular, most of the extensions can be compiled out.
· The internal document representation is as close as possible to the DOM interfaces.
· Libxml2 also has a SAX like interface; the interface is designed to be compatible with Expat.
· This library is released under the MIT License. See the Copyright file in the distribution for the precise wording.