| 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 layerFTP and HTTP client layers (optional)an Internationalization layer managing the encodings supporta URI modulethe XML parser and its basic SAX interfacean HTML parser using the same SAX interface (optional)a SAX tree module to build an in-memory DOM representationa tree module to manipulate the DOM representationa 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 |