blob: cb4abb366f28a98a66d0c8cd176d6966d3353957 [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="SHORTCUT ICON" href="/favicon.ico" />
<style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style>
<title>The XML C parser and toolkit of Gnome</title>
</head>
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
<tr>
<td width="180">
<a href="http://www.gnome.org/">
<img src="gnome2.png" alt="Gnome2 Logo" />
</a>
<a href="http://www.w3.org/Status">
<img src="w3c.png" alt="W3C Logo" />
</a>
<a href="http://www.redhat.com/">
<img src="redhat.gif" alt="Red Hat Logo" />
</a>
<div align="left">
<a href="http://xmlsoft.org/">
<img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" />
</a>
</div>
</td>
<td>
<table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
<tr>
<td align="center">
<h1>The XML C parser and toolkit of Gnome</h1>
<h2>libxml</h2>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Main Menu</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value="" />
<input name="submit" type="submit" value="Search ..." />
</form>
<ul>
<li>
<a href="index.html">Home</a>
</li>
<li>
<a href="intro.html">Introduction</a>
</li>
<li>
<a href="FAQ.html">FAQ</a>
</li>
<li>
<a href="docs.html">Developer Documentation</a>
</li>
<li>
<a href="bugs.html">Reporting bugs and getting help</a>
</li>
<li>
<a href="help.html">How to help</a>
</li>
<li>
<a href="downloads.html">Downloads</a>
</li>
<li>
<a href="news.html">News</a>
</li>
<li>
<a href="XMLinfo.html">XML</a>
</li>
<li>
<a href="XSLT.html">XSLT</a>
</li>
<li>
<a href="xmldtd.html">Validation &amp; DTDs</a>
</li>
<li>
<a href="encoding.html">Encodings support</a>
</li>
<li>
<a href="catalog.html">Catalog support</a>
</li>
<li>
<a href="namespaces.html">Namespaces</a>
</li>
<li>
<a href="contribs.html">Contributions</a>
</li>
<li>
<a href="guidelines.html">XML Guidelines</a>
</li>
</ul>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Related links</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<ul>
<li>
<a href="http://mail.gnome.org/archives/xml/">Mail archive</a>
</li>
<li>
<a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a>
</li>
<li>
<a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a>
</li>
<li>
<a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a>
</li>
<li>
<a href="ftp://xmlsoft.org/">FTP</a>
</li>
<li>
<a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a>
</li>
<li>
<a href="http://garypennington.net/libxml2/">Solaris binaries</a>
</li>
<li>
<a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a>
</li>
<li>
<a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a>
</li>
<li>
<a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a>
</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<p></p>
<p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
(but usable outside of the Gnome platform). XML itself is a metalanguage to
design markup languages, i.e. text language where semantic and structure are
added to the content using extra &quot;markup&quot; information enclosed between angle
brackets. HTML is the most well-known markup language. Though the library is
written in C <a href="python.html">a variety of language bindings</a> make it
available in other environments.</p>
<p>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, ...)</p>
<p>Libxml2 implements a number of existing standards related to markup
languages:</p>
<ul><li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>
<li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>
<li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li>
<li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li>
<li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li>
<li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li>
<li>most of XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li>
<li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li>
<li>[ISO-8859-1], <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
[UTF-16] core encodings</li>
<li>part of SGML Open Technical Resolution TR9401:1997</li>
<li>XML Catalogs Working Draft 06 August 2001: <a href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html">http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li>
<li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
and the Exclusive XML Canonicalization CR draft <a href="http://www.w3.org/TR/xml-exc-c14n">http://www.w3.org/TR/xml-exc-c14n</a></li>
<li>Relax NG Committee Specification 3 December 2001 <a href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html">http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>
<li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
2001</a> except the base64Binary and hexBinary types</li>
</ul>
<p>In most cases libxml2 tries to implement the specifications in a
relatively strictly compliant way. As of release 2.4.16, libxml2 passes all
1800+ tests from the <a href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
Suite</a>.</p>
<p>To some extent libxml2 provides support for the following additional
specifications but doesn't claim to implement them completely:</p>
<ul><li>Document Object Model (DOM) <a href="http://www.w3.org/TR/DOM-Level-2-Core/">http://www.w3.org/TR/DOM-Level-2-Core/</a>
it doesn't implement the API itself, gdome2 does this on top of
libxml2</li>
<li><a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959</a> :
libxml2 implements a basic FTP client code</li>
<li><a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945</a> :
HTTP/1.0, again a basic HTTP client code</li>
<li>SAX: a minimal SAX implementation compatible with early expat
versions</li>
<li>DocBook SGML v4: libxml2 includes a hackish parser to transition to
XML</li>
</ul>
<p>A partial implementation of <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
1: Structure</a> is being worked on but it would be far too early to make any
conformance statement about it at the moment.</p>
<p>Separate documents:</p>
<ul><li><a href="http://xmlsoft.org/XSLT/">the libxslt page</a> providing an
implementation of XSLT 1.0 and common extensions like EXSLT for
libxml2</li>
<li><a href="http://www.cs.unibo.it/~casarini/gdome2/">the gdome2 page</a>
: a standard DOM2 implementation for libxml2</li>
<li><a href="http://www.aleksey.com/xmlsec/">the XMLSec page</a>: an
implementation of <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
Digital Signature</a> for libxml2</li>
<li>also check the related links section below for more related and active
projects.</li>
</ul>
<p>Results of the <a href="http://xmlbench.sourceforge.net/results/benchmark/index.html">xmlbench
benchmark</a> on sourceforge 19 March 2003 (smaller is better):</p>
<p align="center">
<img src="benchmark.gif" alt="benchmark results for Expat Xerces libxml2 Oracle and Sun toolkits" />
</p>
<p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p>
<p>
<a href="bugs.html">Daniel Veillard</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>