261 lines
10 KiB
HTML
261 lines
10 KiB
HTML
<html>
|
|
<head>
|
|
<title>The Expat XML Parser</title>
|
|
<link rel="STYLESHEET" href="style.css" type="text/css" />
|
|
</head>
|
|
<body marginwidth="0" marginheight="0">
|
|
<table cellspacing="0" cellpadding="0" width="100%">
|
|
<tr>
|
|
<td class="corner"><img src="expat.png" alt="(Expat logo)" /></td>
|
|
<td class="banner"><h2>The Expat XML Parser</h2></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="navbar"></td>
|
|
<td class="content">
|
|
|
|
<p>Expat is an XML parser library written in C. It is a
|
|
stream-oriented parser in which an application registers handlers for
|
|
things the parser might find in the XML document (like start tags).
|
|
An <a href="http://www.xml.com/pub/1999/09/expat/index.html"
|
|
>introductory article</a> on using Expat is available on
|
|
<a href="http://www.xml.com/">xml.com</a>.</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<a href="http://sourceforge.net/projects/expat/"
|
|
>Expat project page (includes downloads)</a></li>
|
|
<li>
|
|
<a href="http://mail.libexpat.org/mailman/listinfo/"
|
|
>Mailing lists</a></li>
|
|
<li>
|
|
<a href="#wrappers"
|
|
>3rd-party wrappers (SAX, DOM, other language bindings)</a></li>
|
|
<li>
|
|
<a href="dev/cvs.html"
|
|
>CVS repository</a>
|
|
(<a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/expat/"
|
|
>browse online</a>)</li>
|
|
<li>
|
|
<a href="http://sourceforge.net/bugs/?group_id=10127"
|
|
>Bug reports</a></li>
|
|
<li>
|
|
<a href="dev/">Notes for Expat maintainers</a></li>
|
|
</ul>
|
|
|
|
<p>This project aims to maintain Expat for both current and future
|
|
users while improving the API to allow more reliable and robust access
|
|
from "scripting" languages such as Python and Perl. We invite the
|
|
community to participate on the mailing lists to help shape the future
|
|
of Expat.</p>
|
|
|
|
<h3 id="news">News</h3>
|
|
|
|
<dl>
|
|
<dt><em>11 January 2006</em>,
|
|
Expat 2.0.0 released.
|
|
</dt>
|
|
<dd><p>Release 2.0.0 of the Expat XML parser is the end point of the
|
|
1.95.X series of releases. The goal was to solidify and stabilize
|
|
the implementation of the given API, to add desirable features as
|
|
long as they fit with the API, and to keep the API backwards compatible
|
|
if extensions were required. Changes include:
|
|
<ul><li>Fixed headers for use from C++.</li>
|
|
<li>XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber()
|
|
now return unsigned integers.</li>
|
|
<li>Added XML_LARGE_SIZE switch to enable 64-bit integers for
|
|
byte indexes and line/column numbers.</li>
|
|
<li>Added support for AmigaOS.</li>
|
|
<li>Some mostly minor bug fixes. SF issues include: 1006708,
|
|
1021776, 1023646, 1114960, 1156398, 1221160, 1271642.</li></ul>
|
|
</p>
|
|
</dd>
|
|
<dt><em>27 December 2005</em>,
|
|
Final Expat 2.0 pre-release snapshot made available.
|
|
</dt>
|
|
<dd>
|
|
<p>This <a href="http://www.libexpat.org/expat-2005-12-27.tar.gz" >
|
|
pre-release distribution</a> is based on the feedback we got from the
|
|
Dec. 23 snapshot and represents the final opportunity for
|
|
feedback before the actual release goes out.</p>
|
|
<p>We plan to release after the New Year.</p>
|
|
</dd>
|
|
<dt><em>23 December 2005</em>,
|
|
Expat 2.0 pre-release snapshot (another one) made available.
|
|
</dt>
|
|
<dd>
|
|
<p>As nothing happened here for a long time, we've posted another
|
|
<a href="http://www.libexpat.org/expat-2005-12-23.tar.gz" >pre-release
|
|
distribution snapshot</a> of the code currently in CVS on
|
|
libexpat.org. Please try this out and report any problems you
|
|
have. We'd like to get Expat 2.0 out soon.</p>
|
|
<p>A late addition was the new (optional) <code>XML_LARGE_SIZE</code>
|
|
feature to enable 64-bit integers on some API members. Please check
|
|
how it builds and works for you.</p>
|
|
</dd>
|
|
<dt><em>28 January 2005</em>,
|
|
Expat pre-release snapshot made available.
|
|
</dt>
|
|
<dd>
|
|
<p>We've posted a <a href=
|
|
"http://www.libexpat.org/expat-2005-01-28.tar.gz" >pre-release
|
|
distribution snapshot</a> of the code currently in CVS on
|
|
libexpat.org. Please try this out and report any problems you
|
|
have. We'd like to get a release out soon.</p>
|
|
<p>The coming release will either be 1.95.9 or 2.0, depending
|
|
primarily on the response to this snapshot. If we do decide to
|
|
make this 1.95.9, then we'll try to follow up with 2.0 in about a
|
|
month.</p>
|
|
</dd>
|
|
<dt><em>23 July 2004</em>,
|
|
Expat 1.95.8 released.
|
|
</dt>
|
|
<dd>
|
|
<p>The release schedule described in the previous news item didn't
|
|
work out. As a compensation, we've fixed a number of the
|
|
nuissance warnings generated on many platforms, and added a nice
|
|
new suspend/resume feature to the parser.</p>
|
|
<p><ul>
|
|
<li> Major new feature: suspend/resume. Handlers can now request
|
|
that a parse be suspended for later resumption or aborted
|
|
altogether. See "Temporarily Stopping Parsing" in the
|
|
documentation for more details. </li>
|
|
<li> Some mostly minor bug fixes, but compilation should no
|
|
longer generate warnings on most platforms. SF issues
|
|
include: 827319, 840173, 846309, 888329, 896188, 923913,
|
|
928113, 961698, 985192.</li>
|
|
</ul></p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<p><a href="oldnews.html">Old news archive</a></p>
|
|
|
|
<h3 id="wrappers">References & 3rd-party Wrappers</h3>
|
|
|
|
<p>If you know of any additional articles or resources which should be
|
|
linked to from this page, please send email to <a
|
|
href="mailto:fdrake@acm.org">Fred Drake (fdrake@acm.org)</a>.
|
|
We're especially interested in links to tutorial information and open
|
|
source interfaces to Expat from languages other than C.</p>
|
|
|
|
<ul>
|
|
<li>
|
|
<a href="http://www.jclark.com/xml/expat.html"
|
|
>James Clark's original Expat page</a>, for Expat 1.2 and
|
|
earlier</li>
|
|
<li>
|
|
<a href="http://www.xml.com/pub/1999/09/expat/index.html"
|
|
>Introductory article</a> on using Expat on
|
|
<a href="http://www.xml.com/">xml.com</a></li>
|
|
<li>
|
|
<a href="http://www.keplerproject.org/luaexpat/">LuaExpat</a> is a
|
|
wrapper around Expat for the <a href="http://www.lua.org/">Lua</a>
|
|
programming language. The <a href=
|
|
"http://www.keplerproject.org/luasoap/">LuaSOAP</a> library is a <a
|
|
href="http://xml.coverpages.org/soap.html">SOAP</a> implementation
|
|
built on top of <a href= "http://www.keplerproject.org/luaexpat/"
|
|
>LuaExpat</a>.</li>
|
|
<li>
|
|
Perl's <code>XML::Parser</code> module is a wrapper built around a
|
|
binding to Expat in the <code>XML::Parser::Expat</code> module.</li>
|
|
<li>
|
|
<a href="http://www.python.org/doc/current/lib/module-xml.parsers.expat.html"
|
|
>Documentation for the Python interface to Expat</a>, part of the
|
|
standard documentation for Python.</li>
|
|
<li>
|
|
<a href="http://saxdotnet.sourceforge.net/saxexpat.html"
|
|
>SAXExpat.NET</a>, a <a href="http://www.microsoft.com/net/">.NET</a>
|
|
wrapper for Expat, conforming to the
|
|
<a href="http://saxdotnet.sourceforge.net">SAX for .NET</a> specifications.</li>
|
|
<li>
|
|
The <a href="http://www.nongnu.org/scew/">Simple C Expat Wrapper</a>
|
|
is a wrapper around Expat that provides a light-weight object model
|
|
somewhat like a DOM.</li>
|
|
<!-- Alex Conchillo Flaque: aconchillo at acm.org -->
|
|
<li>
|
|
<em><a href="http://www.codeproject.com/soap/expatimpl.asp"
|
|
title="C++ Wrappers for the Expat XML Parser">C++ Wrappers
|
|
for the Expat XML Parser</a></em>, an article by Tim Smith
|
|
providing object-oriented wrappers for Expat. The wrappers use
|
|
some MFC-biased naming, but look interesting.</li>
|
|
<li>
|
|
<a href="http://www.jezuk.co.uk/cgi-bin/view/arabica" title="Arabica"
|
|
>Arabica</a> -- an XML Parser toolkit for C++ programmers, with
|
|
SAX2 implementations based on several parsers, including Expat.</li>
|
|
<li>
|
|
<a href="http://www.expatpp.com/"
|
|
>expatpp -- C++ interface to Expat</a></li>
|
|
<li>
|
|
<a href="http://sourceforge.net/projects/kdsxml"
|
|
>SAX2 Wrapper for using Expat in Delphi,</a>
|
|
based on
|
|
<a href="http://saxforpascal.sourceforge.net"
|
|
>"SAX for Pascal"</a>
|
|
interface specs</li>
|
|
<li>
|
|
The <a href="http://tclxml.sourceforge.net/"
|
|
>TclXML project</a> includes a <a href="http://tcl.activestate.com/"
|
|
>Tcl</a> binding for Expat</li>
|
|
<li>
|
|
<a href="http://www.tdom.org/"
|
|
>tDOM</a> is an alternate package providing XML support for <a
|
|
href="http://tcl.activestate.com/" >Tcl</a>, based in part on
|
|
Expat.</li>
|
|
<li>
|
|
<a href="http://www.phpbuilder.com/columns/justin20000428.php3"
|
|
>Article on using Expat from PHP</a> on
|
|
<a href="http://www.phpbuilder.com/"><?PHPBuilder?></a>
|
|
<br />(broken into lots of tiny pieces)</li>
|
|
<li>
|
|
<a href="http://expatobjc.sourceforge.net/"
|
|
>Objective-C interface to Expat</a></li>
|
|
<li>
|
|
<a href="http://www.xs4all.nl/~mmzeeman/ocaml/">OCaml Expat</a> is a
|
|
wrapper around Expat for the <a href="http://www.ocaml.org"
|
|
>Objective Caml</a> language.</li>
|
|
<li>
|
|
<a href="http://www.yoshidam.net/Ruby.html#xmlparser"
|
|
>Ruby interface to Expat</a></li>
|
|
<li>
|
|
<a href="http://www.latenightsw.com/freeware/XMLTools2/">XML Tools
|
|
2</a> is an AppleScript scripting addition that allows AppleScript
|
|
applications to work with XML data; it is based on Expat.</li>
|
|
<li>
|
|
<a href="http://www.simkin.co.uk/">Simkin</a> is an open source
|
|
scripting language available under the GNU LGPL. It can be embedded
|
|
in XML and supports a DOM-like API backed by Expat.</li>
|
|
<li>
|
|
<a href="http://easysoap.sourceforge.net/">EasySoap</a> is a C++
|
|
SOAP implementation which uses Expat.</li>
|
|
<li>
|
|
<a href=
|
|
"http://www.codepedia.com/wiki/display.aspx?WikiID=1&pagename=thunks"
|
|
>A discussion</a> of another way to manage stateful callbacks, using
|
|
Expat as a sample library.</li>
|
|
<li>
|
|
The <a href="http://sourceforge.net/projects/gobo-eiffel/">GOBO
|
|
project</a> is working on an Eiffel binding for Expat. Development
|
|
is active and the package is fully supported in GOBO 3.0 and 3.1,
|
|
though there isn't much status information about the Expat bindings
|
|
on the website. (Most activity is reportedly on the relevant
|
|
mailing lists.)</li>
|
|
<li>
|
|
<a href="http://www.mitchenall.com/expat4d">Expat4D</a> is a plug-in
|
|
for the <a href="http://www.4duk.com/">4th Dimension</a> application
|
|
framework.</li>
|
|
</ul>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="corner">
|
|
<a href="http://sourceforge.net/">
|
|
<img src="http://cvs.sourceforge.net/sourceforge_whitebg.gif"
|
|
width="136" height="79" border="0" alt="SourceForge
|
|
Logo" />
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|