PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` libxml2 architecture
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

The XML C parser and toolkit of Gnome

libxml2 architecture

Developer Menu
API Indexes
Related links

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:

a graphical view of the various

Daniel Veillard