blob: 9866b3f3ab5c425af10de3766651faa8bcc5bac4 [file] [log] [blame]
Daniel Veillard1177ca42003-04-26 22:29:54 +00001<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
6 <link rel="SHORTCUT ICON" href="/favicon.ico" />
7 <style type="text/css">
Daniel Veillard373a4752002-02-21 14:46:29 +00008TD {font-family: Verdana,Arial,Helvetica}
9BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
10H1 {font-family: Verdana,Arial,Helvetica}
11H2 {font-family: Verdana,Arial,Helvetica}
12H3 {font-family: Verdana,Arial,Helvetica}
Daniel Veillardb8cfbd12001-10-25 10:53:28 +000013A:link, A:visited, A:active { text-decoration: underline }
Daniel Veillard1177ca42003-04-26 22:29:54 +000014</style>
Daniel Veillard598bec32003-07-06 10:02:03 +000015 <title>The XML C parser and toolkit of Gnome</title>
Daniel Veillard1177ca42003-04-26 22:29:54 +000016 </head>
17 <body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
18 <table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
19 <tr>
Daniel Veillard6c57dca2003-09-03 10:10:51 +000020 <td width="120">
21 <a href="http://swpat.ffii.org/">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +000022 <img src="epatents.png" alt="Action against software patents" />
Daniel Veillard6c57dca2003-09-03 10:10:51 +000023 </a>
24 </td>
Daniel Veillard1177ca42003-04-26 22:29:54 +000025 <td width="180">
26 <a href="http://www.gnome.org/">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +000027 <img src="gnome2.png" alt="Gnome2 Logo" />
Daniel Veillard1177ca42003-04-26 22:29:54 +000028 </a>
29 <a href="http://www.w3.org/Status">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +000030 <img src="w3c.png" alt="W3C Logo" />
Daniel Veillard1177ca42003-04-26 22:29:54 +000031 </a>
32 <a href="http://www.redhat.com/">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +000033 <img src="redhat.gif" alt="Red Hat Logo" />
Daniel Veillard1177ca42003-04-26 22:29:54 +000034 </a>
35 <div align="left">
36 <a href="http://xmlsoft.org/">
Daniel Veillarde8ba84e2003-11-18 13:54:15 +000037 <img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" />
Daniel Veillard1177ca42003-04-26 22:29:54 +000038 </a>
39 </div>
40 </td>
41 <td>
42 <table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000">
43 <tr>
44 <td>
45 <table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
46 <tr>
47 <td align="center">
Daniel Veillard598bec32003-07-06 10:02:03 +000048 <h1>The XML C parser and toolkit of Gnome</h1>
Daniel Veillard1177ca42003-04-26 22:29:54 +000049 <h2>libxml</h2>
50 </td>
51 </tr>
52 </table>
53 </td>
54 </tr>
55 </table>
56 </td>
57 </tr>
58 </table>
59 <table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
60 <tr>
61 <td bgcolor="#8b7765">
62 <table border="0" cellspacing="0" cellpadding="2" width="100%">
63 <tr>
64 <td valign="top" width="200" bgcolor="#8b7765">
65 <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
66 <tr>
67 <td>
68 <table width="100%" border="0" cellspacing="1" cellpadding="3">
69 <tr>
70 <td colspan="1" bgcolor="#eecfa1" align="center">
71 <center>
72 <b>Main Menu</b>
73 </center>
74 </td>
75 </tr>
76 <tr>
77 <td bgcolor="#fffacd">
78 <form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
79 <input name="query" type="text" size="20" value="" />
80 <input name="submit" type="submit" value="Search ..." />
81 </form>
82 <ul>
83 <li>
84 <a href="index.html">Home</a>
85 </li>
86 <li>
87 <a href="intro.html">Introduction</a>
88 </li>
89 <li>
90 <a href="FAQ.html">FAQ</a>
91 </li>
92 <li>
Daniel Veillard66f68e72003-08-18 16:39:51 +000093 <a href="docs.html" style="font-weight:bold">Developer Menu</a>
Daniel Veillard1177ca42003-04-26 22:29:54 +000094 </li>
95 <li>
96 <a href="bugs.html">Reporting bugs and getting help</a>
97 </li>
98 <li>
99 <a href="help.html">How to help</a>
100 </li>
101 <li>
102 <a href="downloads.html">Downloads</a>
103 </li>
104 <li>
105 <a href="news.html">News</a>
106 </li>
107 <li>
108 <a href="XMLinfo.html">XML</a>
109 </li>
110 <li>
111 <a href="XSLT.html">XSLT</a>
112 </li>
113 <li>
114 <a href="xmldtd.html">Validation &amp; DTDs</a>
115 </li>
116 <li>
117 <a href="encoding.html">Encodings support</a>
118 </li>
119 <li>
120 <a href="catalog.html">Catalog support</a>
121 </li>
122 <li>
123 <a href="namespaces.html">Namespaces</a>
124 </li>
125 <li>
126 <a href="contribs.html">Contributions</a>
127 </li>
128 <li>
Daniel Veillarda59853a2003-11-12 22:50:47 +0000129 <a href="examples/index.html" style="font-weight:bold">Code Examples</a>
130 </li>
131 <li>
Daniel Veillarde8ba84e2003-11-18 13:54:15 +0000132 <a href="html/index.html" style="font-weight:bold">API Menu</a>
133 </li>
134 <li>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000135 <a href="guidelines.html">XML Guidelines</a>
136 </li>
137 </ul>
138 </td>
139 </tr>
140 </table>
141 <table width="100%" border="0" cellspacing="1" cellpadding="3">
142 <tr>
143 <td colspan="1" bgcolor="#eecfa1" align="center">
144 <center>
145 <b>Related links</b>
146 </center>
147 </td>
148 </tr>
149 <tr>
150 <td bgcolor="#fffacd">
151 <ul>
152 <li>
153 <a href="http://mail.gnome.org/archives/xml/">Mail archive</a>
154 </li>
155 <li>
156 <a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a>
157 </li>
158 <li>
159 <a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a>
160 </li>
161 <li>
162 <a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a>
163 </li>
164 <li>
165 <a href="ftp://xmlsoft.org/">FTP</a>
166 </li>
167 <li>
168 <a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a>
169 </li>
170 <li>
171 <a href="http://garypennington.net/libxml2/">Solaris binaries</a>
172 </li>
173 <li>
174 <a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a>
175 </li>
176 <li>
177 <a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a>
178 </li>
179 <li>
Daniel Veillardccf996f2003-08-14 10:48:38 +0000180 <a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000181 </li>
182 </ul>
183 </td>
184 </tr>
185 </table>
186 </td>
187 </tr>
188 </table>
189 </td>
190 <td valign="top" bgcolor="#8b7765">
191 <table border="0" cellspacing="0" cellpadding="1" width="100%">
192 <tr>
193 <td>
194 <table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
195 <tr>
196 <td>
197 <table border="0" cellpadding="3" cellspacing="1" width="100%">
198 <tr>
199 <td bgcolor="#fffacd">
200 <p></p>
Daniel Veillard7ebac022004-02-25 22:36:35 +0000201 <p style="text-align: right; font-style: italic; font-size: 10pt">"Programming
202with libxml2 is like the thrilling embrace of an exotic stranger." <a href="http://diveintomark.org/archives/2004/02/18/libxml2">Mark
203Pilgrim</a></p>
Daniel Veillard598bec32003-07-06 10:02:03 +0000204 <p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
Daniel Veillard23a52c52003-08-18 10:01:18 +0000205(but usable outside of the Gnome platform), it is free software available
Daniel Veillardeec1ae92003-09-09 13:11:01 +0000206under the <a href="http://www.opensource.org/licenses/mit-license.html">MIT
207License</a>. XML itself is a metalanguage to design markup languages, i.e.
208text language where semantic and structure are added to the content using
Daniel Veillard024f1992003-12-10 16:43:49 +0000209extra "markup" information enclosed between angle brackets. HTML is the most
Daniel Veillardeec1ae92003-09-09 13:11:01 +0000210well-known markup language. Though the library is written in C <a href="python.html">a variety of language bindings</a> make it available in
211other environments.</p>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000212 <p>Libxml2 is known to be very portable, the library should build and work
Daniel Veillard710823b2003-03-04 10:05:52 +0000213without serious troubles on a variety of systems (Linux, Unix, Windows,
214CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, ...)</p>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000215 <p>Libxml2 implements a number of existing standards related to markup
Daniel Veillard9c466822001-10-25 12:03:39 +0000216languages:</p>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000217 <ul><li>the XML standard: <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a></li>
218 <li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a></li>
219 <li>XML Base: <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a></li>
220 <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt">RFC 2396</a> :
221 Uniform Resource Identifiers <a href="http://www.ietf.org/rfc/rfc2396.txt">http://www.ietf.org/rfc/rfc2396.txt</a></li>
222 <li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a></li>
223 <li>HTML4 parser: <a href="http://www.w3.org/TR/html401/">http://www.w3.org/TR/html401/</a></li>
Daniel Veillard23a52c52003-08-18 10:01:18 +0000224 <li>XML Pointer Language (XPointer) Version 1.0: <a href="http://www.w3.org/TR/xptr">http://www.w3.org/TR/xptr</a></li>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000225 <li>XML Inclusions (XInclude) Version 1.0: <a href="http://www.w3.org/TR/xinclude/">http://www.w3.org/TR/xinclude/</a></li>
Daniel Veillard23a52c52003-08-18 10:01:18 +0000226 <li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt">rfc2044</a> [UTF-8]
Daniel Veillard9c466822001-10-25 12:03:39 +0000227 and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt">rfc2781</a>
Daniel Veillard23a52c52003-08-18 10:01:18 +0000228 [UTF-16] Unicode encodings, and more if using iconv support</li>
Daniel Veillard0b28e882002-07-24 23:47:05 +0000229 <li>part of SGML Open Technical Resolution TR9401:1997</li>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000230 <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>
Daniel Veillard0b28e882002-07-24 23:47:05 +0000231 <li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n">http://www.w3.org/TR/xml-c14n</a>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000232 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>
Daniel Veillard758c5312003-12-15 11:51:25 +0000233 <li>Relax NG, ISO/IEC 19757-2:2003, <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>
Daniel Veillardf83a2c72003-04-08 13:48:40 +0000234 <li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/">REC 02 May
Daniel Veillard7ecced52003-12-18 14:22:09 +0000235 2001</a></li>
Daniel Veillardc9484202001-10-24 12:35:52 +0000236</ul>
Daniel Veillard95c09d92003-07-07 12:11:06 +0000237 <p>In most cases libxml2 tries to implement the specifications in a
238relatively strictly compliant way. As of release 2.4.16, libxml2 passes all
2391800+ tests from the <a href="http://www.oasis-open.org/committees/xml-conformance/">OASIS XML Tests
Daniel Veillarda5393562002-02-20 11:40:49 +0000240Suite</a>.</p>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000241 <p>To some extent libxml2 provides support for the following additional
Daniel Veillard0b28e882002-07-24 23:47:05 +0000242specifications but doesn't claim to implement them completely:</p>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000243 <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>
Daniel Veillard0b28e882002-07-24 23:47:05 +0000244 it doesn't implement the API itself, gdome2 does this on top of
Daniel Veillard9c466822001-10-25 12:03:39 +0000245 libxml2</li>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000246 <li><a href="http://www.cis.ohio-state.edu/rfc/rfc959.txt">RFC 959</a> :
Daniel Veillard8a469172003-06-12 16:05:07 +0000247 libxml2 implements a basic FTP client code</li>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000248 <li><a href="http://www.cis.ohio-state.edu/rfc/rfc1945.txt">RFC 1945</a> :
Daniel Veillardaf43f632002-03-08 15:05:20 +0000249 HTTP/1.0, again a basic HTTP client code</li>
Daniel Veillard0b28e882002-07-24 23:47:05 +0000250 <li>SAX: a minimal SAX implementation compatible with early expat
Daniel Veillard9c466822001-10-25 12:03:39 +0000251 versions</li>
Daniel Veillard0b28e882002-07-24 23:47:05 +0000252 <li>DocBook SGML v4: libxml2 includes a hackish parser to transition to
Daniel Veillard9c466822001-10-25 12:03:39 +0000253 XML</li>
254</ul>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000255 <p>A partial implementation of <a href="http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/">XML Schemas Part
Daniel Veillardf83a2c72003-04-08 13:48:40 +00002561: Structure</a> is being worked on but it would be far too early to make any
257conformance statement about it at the moment.</p>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000258 <p>Separate documents:</p>
259 <ul><li><a href="http://xmlsoft.org/XSLT/">the libxslt page</a> providing an
Daniel Veillard2d347fa2002-03-17 10:34:11 +0000260 implementation of XSLT 1.0 and common extensions like EXSLT for
261 libxml2</li>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000262 <li><a href="http://www.cs.unibo.it/~casarini/gdome2/">the gdome2 page</a>
Daniel Veillard2d347fa2002-03-17 10:34:11 +0000263 : a standard DOM2 implementation for libxml2</li>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000264 <li><a href="http://www.aleksey.com/xmlsec/">the XMLSec page</a>: an
Daniel Veillard2d347fa2002-03-17 10:34:11 +0000265 implementation of <a href="http://www.w3.org/TR/xmldsig-core/">W3C XML
266 Digital Signature</a> for libxml2</li>
Daniel Veillard0b28e882002-07-24 23:47:05 +0000267 <li>also check the related links section below for more related and active
Daniel Veillarde6d8e202002-05-02 06:11:10 +0000268 projects.</li>
Daniel Veillardc9484202001-10-24 12:35:52 +0000269</ul>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000270 <p>Results of the <a href="http://xmlbench.sourceforge.net/results/benchmark/index.html">xmlbench
Daniel Veillard31ae4622004-02-16 07:45:44 +0000271benchmark</a> on sourceforge February 2004 (smaller is better):</p>
Daniel Veillard1177ca42003-04-26 22:29:54 +0000272 <p align="center">
Daniel Veillard31ae4622004-02-16 07:45:44 +0000273 <img src="benchmark.png" alt="benchmark results for Expat Xerces libxml2 Oracle and Sun toolkits" />
Daniel Veillard1177ca42003-04-26 22:29:54 +0000274 </p>
275 <p>Logo designed by <a href="mailto:liyanage@access.ch">Marc Liyanage</a>.</p>
276 <p>
277 <a href="bugs.html">Daniel Veillard</a>
278 </p>
279 </td>
280 </tr>
281 </table>
282 </td>
283 </tr>
284 </table>
285 </td>
286 </tr>
287 </table>
288 </td>
289 </tr>
290 </table>
291 </td>
292 </tr>
293 </table>
294 </body>
Daniel Veillardc9484202001-10-24 12:35:52 +0000295</html>