2002-05-09 08:24:46 -04:00
|
|
|
<html>
|
|
|
|
<head>
|
2002-05-09 08:26:45 -04:00
|
|
|
<title>The Expat XML Parser</title>
|
2002-05-09 08:24:46 -04:00
|
|
|
<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" /></td>
|
2002-05-09 08:26:45 -04:00
|
|
|
<td class="banner"><h2>The Expat XML Parser</h2></td>
|
2002-05-09 08:24:46 -04:00
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td class="navbar">
|
|
|
|
</td>
|
|
|
|
<td class="content">
|
2000-09-06 22:23:49 -04:00
|
|
|
|
2002-05-09 08:24:46 -04:00
|
|
|
<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"
|
2002-01-11 10:42:12 -05:00
|
|
|
>introductory article</a> on using Expat is available on
|
2001-11-09 15:21:10 -05:00
|
|
|
<a href="http://www.xml.com/">xml.com</a>.</p>
|
|
|
|
|
2000-09-06 22:23:49 -04:00
|
|
|
<ul>
|
2001-11-09 15:21:10 -05:00
|
|
|
<li>
|
|
|
|
<a href="http://sourceforge.net/projects/expat/"
|
|
|
|
>Expat project page (includes downloads)</a></li>
|
|
|
|
<li>
|
2003-08-04 10:38:24 -04:00
|
|
|
<a href="http://mail.libexpat.org/mailman/listinfo/"
|
2001-11-09 15:21:10 -05:00
|
|
|
>Mailing lists</a></li>
|
|
|
|
<li>
|
2002-09-27 10:13:12 -04:00
|
|
|
<a href="#wrappers"
|
|
|
|
>3rd-party wrappers (SAX, DOM, other language bindings)</a></li>
|
|
|
|
<li>
|
2002-06-28 00:03:36 -04:00
|
|
|
<a href="dev/cvs.html"
|
2001-11-09 15:21:10 -05:00
|
|
|
>CVS repository</a>
|
2001-12-09 19:52:55 -05:00
|
|
|
(<a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/expat/"
|
2001-11-09 15:21:10 -05:00
|
|
|
>browse online</a>)</li>
|
|
|
|
<li>
|
|
|
|
<a href="http://sourceforge.net/bugs/?group_id=10127"
|
|
|
|
>Bug reports</a></li>
|
2002-06-04 23:52:21 -04:00
|
|
|
<li>
|
|
|
|
<a href="dev/">Notes for Expat maintainers</a></li>
|
2000-09-06 22:23:49 -04:00
|
|
|
</ul>
|
2000-09-06 22:40:29 -04:00
|
|
|
|
|
|
|
<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
|
2000-09-12 13:06:46 -04:00
|
|
|
of Expat.</p>
|
2002-01-11 10:42:12 -05:00
|
|
|
|
2002-09-27 10:13:12 -04:00
|
|
|
<h3 id="news">News</h3>
|
2002-06-04 00:52:09 -04:00
|
|
|
|
|
|
|
<dl>
|
2003-01-28 00:54:33 -05:00
|
|
|
<dt><em>28 January 2003</em>,
|
2003-01-25 13:43:29 -05:00
|
|
|
Expat 1.95.6 released.
|
|
|
|
</dt>
|
|
|
|
<dd>
|
|
|
|
<ul>
|
|
|
|
<li> Added <code>XML_FreeContentModel()</code>. </li>
|
|
|
|
<li> Added <code>XML_MemMalloc()</code>,
|
|
|
|
<code>XML_MemRealloc()</code>,
|
|
|
|
<code>XML_MemFree()</code>. </li>
|
|
|
|
<li> Fixed a variety of bugs: see SF issues 615606, 616863,
|
|
|
|
618199, 653180, 673791. </li>
|
|
|
|
<li> Enhanced the regression test suite. </li>
|
|
|
|
<li> Man page improvements: includes SF issue 632146. </li>
|
|
|
|
</ul>
|
|
|
|
<p />
|
|
|
|
</dd>
|
2002-09-06 17:49:57 -04:00
|
|
|
<dt><em>6 September 2002</em>,
|
|
|
|
Expat 1.95.5 released.
|
|
|
|
</dt>
|
|
|
|
<dd>
|
|
|
|
<ul>
|
|
|
|
<li> Added <code>XML_UseForeignDTD()</code> for improved SAX2
|
|
|
|
support. </li>
|
|
|
|
<li> Added <code>XML_GetFeatureList()</code>. </li>
|
|
|
|
<li> Defined <code>XML_Bool</code> type and the values
|
|
|
|
<code>XML_TRUE</code> and <code>XML_FALSE</code>. </li>
|
|
|
|
<li> Use an incomplete struct instead of a <code>void*</code>
|
|
|
|
for the parser. </li>
|
|
|
|
<li> Fixed UTF-8 decoding bug that caused legal UTF-8 to be
|
|
|
|
rejected. </li>
|
|
|
|
<li> Finally fixed bug where default handler would report DTD
|
|
|
|
events that were already handled by another handler.
|
2002-09-19 16:19:51 -04:00
|
|
|
Initial patch contributed by Darryl Miles. </li>
|
2002-09-06 17:49:57 -04:00
|
|
|
<li> Removed unnecessary <code>DllMain()</code> function that
|
|
|
|
caused static linking into a DLL to be difficult. </li>
|
|
|
|
<li> Added VC++ projects for building static libraries. </li>
|
|
|
|
<li> Reduced line-length for all source code and headers to be
|
|
|
|
no longer than 80 characters, to help with AS/400
|
|
|
|
support. </li>
|
|
|
|
<li> Reduced memory copying during parsing (SF patch #600964). </li>
|
|
|
|
<li> Fixed a variety of bugs: see SF issues 580793, 434664,
|
|
|
|
483514, 580503, 581069, 584041, 584183, 584832, 585537,
|
|
|
|
596555, 596678, 598352, 598944, 599715, 600479, 600971. </li>
|
|
|
|
</ul>
|
|
|
|
<p />
|
|
|
|
</dd>
|
2002-09-04 23:14:45 -04:00
|
|
|
<dt><em>4 September 2002</em>,
|
|
|
|
<a href="dev/roadmap.html">Development roadmap</a> published.
|
|
|
|
</dt>
|
|
|
|
<dd>
|
|
|
|
<ul>
|
|
|
|
<li> The initial version of the development roadmap was released
|
|
|
|
for comment. </li>
|
|
|
|
</ul>
|
|
|
|
<p />
|
|
|
|
</dd>
|
2002-06-04 00:52:09 -04:00
|
|
|
</dl>
|
|
|
|
|
2002-09-27 10:13:12 -04:00
|
|
|
<p><a href="oldnews.html">Old news archive</a></p>
|
|
|
|
|
|
|
|
<h3 id="wrappers">References & 3rd-party Wrappers</h3>
|
2002-01-11 10:42:12 -05:00
|
|
|
|
|
|
|
<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>
|
2003-07-25 12:30:47 -04:00
|
|
|
<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>
|
2003-04-15 14:43:03 -04:00
|
|
|
<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>
|
2002-12-04 01:52:36 -05:00
|
|
|
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
|
2003-01-21 22:19:22 -05:00
|
|
|
somewhat like a DOM.</li>
|
2002-12-04 01:52:36 -05:00
|
|
|
<!-- Alex Conchillo Flaque: aconchillo at acm.org -->
|
|
|
|
<li>
|
2002-01-11 10:42:12 -05:00
|
|
|
<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>
|
2002-05-17 09:42:36 -04:00
|
|
|
<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
|
2002-08-29 14:00:51 -04:00
|
|
|
some MFC-biased naming, but look interesting.</li>
|
2002-05-17 09:42:36 -04:00
|
|
|
<li>
|
2002-09-05 16:27:51 -04:00
|
|
|
<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>
|
2002-05-21 10:45:18 -04:00
|
|
|
<li>
|
2003-07-28 11:46:32 -04:00
|
|
|
<a href="http://www.expatpp.com/"
|
|
|
|
>expatpp -- C++ interface to Expat</a></li>
|
2002-05-08 07:26:01 -04:00
|
|
|
<li>
|
2002-06-11 15:34:39 -04:00
|
|
|
<a href="http://easysoap.sourceforge.net/">EasySoap</a> is a C++
|
2002-08-29 14:00:51 -04:00
|
|
|
SOAP implementation which uses Expat.</li>
|
2002-06-11 15:34:39 -04:00
|
|
|
<li>
|
2003-01-21 00:20:51 -05:00
|
|
|
<a href=
|
2003-01-21 22:19:22 -05:00
|
|
|
"http://www.codepedia.com/wiki/display.aspx?WikiID=1&pagename=thunks"
|
2003-01-21 00:20:51 -05:00
|
|
|
>A discussion</a> of another way to manage stateful callbacks, using
|
2003-01-21 22:19:22 -05:00
|
|
|
Expat as a sample library.</li>
|
2003-01-21 00:20:51 -05:00
|
|
|
<li>
|
2002-06-03 15:56:29 -04:00
|
|
|
The <a href="http://sourceforge.net/projects/gobo-eiffel/">GOBO
|
|
|
|
project</a> is working on an Eiffel binding for Expat. Development
|
2003-01-21 22:19:22 -05:00
|
|
|
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>
|
2002-05-31 12:33:53 -04:00
|
|
|
<li>
|
2002-02-25 11:40:42 -05:00
|
|
|
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>
|
2002-05-09 11:09:18 -04:00
|
|
|
<a href="http://sdf.lonestar.org/~loewerj/tdom.cgi"
|
|
|
|
>tDOM</a> is an alternate package providing XML support for <a
|
|
|
|
href="http://tcl.activestate.com/" >Tcl</a>, based in part on
|
2003-01-21 22:19:22 -05:00
|
|
|
Expat.</li>
|
2002-05-09 11:09:18 -04:00
|
|
|
<li>
|
2002-01-21 14:49:40 -05:00
|
|
|
<a href="http://expatobjc.sourceforge.net/"
|
2002-08-29 14:00:51 -04:00
|
|
|
>Objective-C interface to Expat</a></li>
|
2002-01-21 14:49:40 -05:00
|
|
|
<li>
|
|
|
|
<a href="http://www.yoshidam.net/Ruby.html#xmlparser"
|
2002-08-29 14:00:51 -04:00
|
|
|
>Ruby interface to Expat</a></li>
|
2002-01-21 14:49:40 -05:00
|
|
|
<li>
|
2002-01-11 10:42:12 -05:00
|
|
|
<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>
|
2002-05-10 12:32:59 -04:00
|
|
|
<li>
|
|
|
|
<a href="http://xml.defined.net/sax/expat"
|
|
|
|
>SAX2 Wrapper for using Expat in Delphi,</a>
|
|
|
|
based on
|
|
|
|
<a href="http://xml.defined.net/sax"
|
|
|
|
>"SAX for Pascal"</a>
|
|
|
|
interface specs</li>
|
2002-06-26 08:54:32 -04:00
|
|
|
<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>
|
2002-01-11 10:42:12 -05:00
|
|
|
</ul>
|
|
|
|
|
2002-05-09 08:24:46 -04:00
|
|
|
</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>
|
2001-11-09 15:21:10 -05:00
|
|
|
</table>
|
2002-05-09 08:24:46 -04:00
|
|
|
</body>
|
2000-09-06 22:23:49 -04:00
|
|
|
</html>
|