(Expat logo)

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

11 January 2006, Expat 2.0.0 released.

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:

  • Fixed headers for use from C++.
  • XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber() now return unsigned integers.
  • Added XML_LARGE_SIZE switch to enable 64-bit integers for byte indexes and line/column numbers.
  • Added support for AmigaOS.
  • Some mostly minor bug fixes. SF issues include: 1006708, 1021776, 1023646, 1114960, 1156398, 1221160, 1271642.

27 December 2005, Final Expat 2.0 pre-release snapshot made available.

This pre-release distribution 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.

We plan to release after the New Year.

23 December 2005, Expat 2.0 pre-release snapshot (another one) made available.

As nothing happened here for a long time, we've posted another pre-release distribution snapshot 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.

A late addition was the new (optional) XML_LARGE_SIZE feature to enable 64-bit integers on some API members. Please check how it builds and works for you.

28 January 2005, Expat pre-release snapshot made available.

We've posted a pre-release distribution snapshot 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.

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.

23 July 2004, Expat 1.95.8 released.

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.

  • 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.
  • 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.

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.

SourceForge
                 Logo