# The XML C parser and toolkit of Gnome ## libxml2 architecture

Developer Menu
Main Menu Reference Manual Code Examples XML Guidelines Tutorial The Reader Interface ChangeLog XSLT Python and bindings libxml2 architecture The tree output The SAX interface Memory Management I/O Interfaces The parser interfaces Entities or no entities Namespaces Upgrading 1.x code Thread safety DOM Principles A real example flat page, stylesheet
API Indexes
Alphabetic Constructors Functions/Types Modules Symbols
Related links
Mail archive XSLT libxslt DOM gdome2 XML-DSig xmlsec FTP Windows binaries Solaris binaries MacOsX binaries lxml Python bindings Perl bindings C++ bindings PHP bindings Pascal bindings Ruby bindings Tcl bindings Bug Tracker
Libxml2 is made of multiple components; some of them are optional, and most of the block interfaces are public. The main components are: an Input/Output layer FTP and HTTP client layers (optional) an Internationalization layer managing the encodings support a URI module the XML parser and its basic SAX interface an HTML parser using the same SAX interface (optional) a SAX tree module to build an in-memory DOM representation a tree module to manipulate the DOM representation a validation module using the DOM representation (optional) an XPath module for global lookup in a DOM representation (optional) a debug module (optional) Graphically this gives the following: Daniel Veillard