# The XML C library for Gnome ## libxml

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
Libxml is the XML C library developed for the Gnome project. 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 implements a number of existing standards related to markup languages: the XML standard: http://www.w3.org/TR/REC-xml Namespaces in XML: http://www.w3.org/TR/REC-xml-names/ XML Base: http://www.w3.org/TR/xmlbase/ RFC 2396 : Uniform Resource Identifiers http://www.ietf.org/rfc/rfc2396.txt XML Path Language (XPath) 1.0: http://www.w3.org/TR/xpath HTML4 parser: http://www.w3.org/TR/html401/ most of XML Pointer Language (XPointer) Version 1.0: http://www.w3.org/TR/xptr XML Inclusions (XInclude) Version 1.0: http://www.w3.org/TR/xinclude/ [ISO-8859-1], rfc2044 [UTF-8] and rfc2781 [UTF-16] core encodings part of SGML Open Technical Resolution TR9401:1997 XML Catalogs Working Draft 06 August 2001: http://www.oasis-open.org/committees/entity/spec-2001-08-06.html Canonical XML Version 1.0: http://www.w3.org/TR/xml-c14n and the Exclusive XML Canonicalization CR draft http://www.w3.org/TR/xml-exc-c14n Relax NG Committee Specification 3 December 2001 http://www.oasis-open.org/committees/relax-ng/spec-20011203.html In most cases libxml tries to implement the specifications in a relatively strictly compliant way. As of release 2.4.16, libxml2 passes all 1800+ tests from the OASIS XML Tests Suite. To some extent libxml2 provides support for the following additional specifications but doesn't claim to implement them completely: Document Object Model (DOM) http://www.w3.org/TR/DOM-Level-2-Core/ it doesn't implement the API itself, gdome2 does this on top of libxml2 RFC 959 : libxml implements a basic FTP client code RFC 1945 : HTTP/1.0, again a basic HTTP client code SAX: a minimal SAX implementation compatible with early expat versions DocBook SGML v4: libxml2 includes a hackish parser to transition to XML A partial implementation of XML Schemas is being worked on but it would be far too early to make any conformance statement about it at the moment. 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, ...) Separate documents: the libxslt page providing an implementation of XSLT 1.0 and common extensions like EXSLT for libxml2 the gdome2 page : a standard DOM2 implementation for libxml2 the XMLSec page: an implementation of W3C XML Digital Signature for libxml2 also check the related links section below for more related and active projects. Logo designed by Marc Liyanage. Daniel Veillard