|
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 introductory article on using Expat is available on
xml.com.
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.
News
- 25 January 2003,
Expat 1.95.6 released.
-
- Added
XML_FreeContentModel() .
- Added
XML_MemMalloc() ,
XML_MemRealloc() ,
XML_MemFree() .
- Fixed a variety of bugs: see SF issues 615606, 616863,
618199, 653180, 673791.
- Enhanced the regression test suite.
- Man page improvements: includes SF issue 632146.
- 6 September 2002,
Expat 1.95.5 released.
-
- Added
XML_UseForeignDTD() for improved SAX2
support.
- Added
XML_GetFeatureList() .
- Defined
XML_Bool type and the values
XML_TRUE and XML_FALSE .
- Use an incomplete struct instead of a
void*
for the parser.
- Fixed UTF-8 decoding bug that caused legal UTF-8 to be
rejected.
- Finally fixed bug where default handler would report DTD
events that were already handled by another handler.
Initial patch contributed by Darryl Miles.
- Removed unnecessary
DllMain() function that
caused static linking into a DLL to be difficult.
- Added VC++ projects for building static libraries.
- Reduced line-length for all source code and headers to be
no longer than 80 characters, to help with AS/400
support.
- Reduced memory copying during parsing (SF patch #600964).
- Fixed a variety of bugs: see SF issues 580793, 434664,
483514, 580503, 581069, 584041, 584183, 584832, 585537,
596555, 596678, 598352, 598944, 599715, 600479, 600971.
- 4 September 2002,
Development roadmap published.
-
- The initial version of the development roadmap was released
for comment.
Old news archive
References & 3rd-party Wrappers
If you know of any additional articles or resources which should be
linked to from this page, please send email to Fred Drake (fdrake@acm.org).
We're especially interested in links to tutorial information and open
source interfaces to Expat from languages other than C.
-
James Clark's original Expat page, for Expat 1.2 and
earlier
-
Introductory article on using Expat on
xml.com
-
The Simple C Expat Wrapper
is a wrapper around Expat that provides a light-weight object model
somewhat like a DOM.
-
Documentation for the Python interface to Expat, part of the
standard documentation for Python
-
C++ Wrappers
for the Expat XML Parser, an article by Tim Smith
providing object-oriented wrappers for Expat. The wrappers use
some MFC-biased naming, but look interesting.
-
Arabica -- an XML Parser toolkit for C++ programmers, with
SAX2 implementations based on several parsers, including Expat.
-
C++ interface to Expat (old; not updated since Expat 1.2)
-
EasySoap is a C++
SOAP implementation which uses Expat.
-
A discussion of another way to manage stateful callbacks, using
Expat as a sample library.
-
The GOBO
project 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.)
-
The TclXML project includes a Tcl binding for Expat
-
tDOM is an alternate package providing XML support for Tcl, based in part on
Expat.
-
Objective-C interface to Expat
-
Ruby interface to Expat
-
Article on using Expat from PHP on
<?PHPBuilder?>
(broken into lots of tiny pieces)
-
SAX2 Wrapper for using Expat in Delphi,
based on
"SAX for Pascal"
interface specs
-
Expat4D is a plug-in
for the 4th Dimension application
framework.
|