Персона года MusiCares
- 1 year ago
- 0
- 0
Expat — свободная потокоориентированная библиотека парсинга XML , написанная на C . Как один из наиболее доступных , широко используется в открытом программном обеспечении . Среди проектов, использующих её: Apache , Mozilla Firefox , GNU Debugger , PureBasic , Perl , Python и PHP .
Разработчик Джеймс Кларк опубликовал версию 1.0 в 1998 году , будучи лидером на консорциуме Всемирной паутины . Он выпустил еще две версии, 1.1 и 1.2, до передачи проекта группе под руководством и в 2000 году . Новая команда выпустила версию 1.95.0 в сентябре 2000 года и продолжает выпускать новые версии, исправляющие баги и добавляющие улучшения.
Проект имеет хостинг на GitHub . Доступны версии для наиболее популярных операционных систем .
Для использования Expat, в программе сначала нужно установить функции-обработчики для определённых событий. Когда Expat разбирает XML-файл, он вызывает установленные функции в соответствующих случаях (например, начало тега , конец тега, текст внутри тега), передавая им необходимые параметры. Expat предоставляет возможность обрабатывать более сложные ситуации, такие как объявление пространств имён XML и сущности DTD .
События Expat напоминают события SAX , но, несмотря на это, Expat не является SAX парсером. Будучи потокоориентированным парсером, Expat позволяет приостанавливать разбор и возобновлять разбор в произвольный момент времени.