|
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
- 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.
- 12 July 2002,
Expat 1.95.4 released.
-
- Added support for VMS, contributed by Craig Berry. See
vms/README.vms in the distrubution for more information.
- Added Mac OS (classic) support, with a makefile for MPW,
contributed by Thomas Wegner and Daryle Walker.
- Added Borland C++ Builder 5 / BCC 5.5 support, contributed
by Patrick McConnell (SF patch #538032).
- Fixed a variety of bugs: see SF issues 441449, 563184,
564342, 566334, 566901, 569461, 570263, 575168, 579196.
- Made skippedEntityHandler conform to SAX2 (see source
comment).
- Re-implemented WFC: Entity Declared from XML 1.0 spec and
added a new error "entity declared in parameter entity":
see SF bug report 569461 and SF patch 578161.
- Re-implemented section 5.1 from XML 1.0 spec:
see SF bug report 570263 and SF patch 578161.
Expat 1.95.3 is being withdrawn due to bug #566334. If you are currently using Expat 1.95.3, please
update to 1.95.4.
- 3 June 2002,
Expat 1.95.3 released.
-
- Changed the name of the Windows DLLs from expat.dll to
libexpat.dll; this fixes SF bug #432456. This is a problem
only known to affect the Perl XML::Parser::Expat extension,
but is very important for that extension.
- Added a project to the MSVC workspace to create a wchar_t
version of the library; the DLLs are named libexpatw.dll.
(Note the addition of the "w" character in the file name.)
- Added the XML_ParserReset() API function. This allows a
parser to be re-used, reducing the number of memory
allocations needed to set up a parser. This can be a
substantial benefit when parsing a large number of small
documents.
- Fixed XML_SetReturnNSTriplet() to work for element names.
This is now a usable feature.
- Made the XML_UNICODE builds usable (thanks, Karl!).
- Allow xmlwf to read from standard input.
- Install a man page for xmlwf on Unix systems.
- Fixed many bugs; see SF bug reports 231864, 461380, 464837,
466885, 469226, 477667, 484419, 487840, 494749, 496505,
547350. Other bugs which we can't test as easily may also
have been fixed, especially in the area of build support.
References
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.
|