Expat — свободная потокоориентированная библиотека парсинга XML, написанная на C. Как один из наиболее доступных XML-парсеров, широко используется в открытом программном обеспечении. Среди проектов, использующих её: Apache HTTP Server, Mozilla Firefox, GNU Debugger, Perl, Python и PHP.
Для использования Expat, в программе сначала нужно установить функции-обработчики для определённых событий. Когда Expat разбирает XML-файл, он вызывает установленные функции в соответствующих случаях (например, начало тега, конец тега, текст внутри тега), передавая им необходимые параметры. Expat предоставляет возможность обрабатывать более сложные ситуации, такие как объявление пространств имён XML и сущности DTD.
События Expat напоминают события SAX, но, несмотря на это, Expat не является SAX-парсером. Будучи потокоориентированным парсером, Expat позволяет приостанавливать разбор и возобновлять разбор в произвольный момент времени.
Проект имеет хостинг на SourceForge.net. Доступны версии для наиболее популярных операционных систем.
Ссылки