# The XML C library for Gnome ## Introduction

Main Menu
Home Introduction FAQ Documentation Reporting bugs and getting help How to help Downloads News XML XSLT Python and bindings libxml architecture The tree output The SAX interface Validation & DTDs Memory Management Encodings support I/O Interfaces Catalog support The parser interfaces Entities or no entities Namespaces Upgrading 1.x code Thread safety DOM Principles A real example Contributions The Reader Interface Tutorial XML Guidelines flat page, stylesheet
Related links
Mail archive XSLT libxslt DOM gdome2 XML-DSig xmlsec FTP Windows binaries Solaris binaries MacOsX binaries Pascal bindings Bug Tracker
API Indexes
Alphabetic Constructors Functions/Types Modules Symbols
This document describes libxml, the XML C library developed for the Gnome project. XML is a standard for building tag-based structured documents/data. Here are some key points about libxml: Libxml exports Push (progressive) and Pull (blocking) type parser interfaces for both XML and HTML. Libxml can do DTD validation at parse time, using a parsed document instance, or with an arbitrary DTD. Libxml 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. Libxml 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. Warning: unless you are forced to because your application links with a Gnome-1.X library requiring it, Do Not Use libxml1, use libxml2 Daniel Veillard