Expat (Bibliothek) - Expat (library)

Expat
Originalautor(en) James Clark
Entwickler Clark Cooper et al.
Erstveröffentlichung 1998 ; Vor 23 Jahren ( 1998 )
Stabile Version
2.4.1 / 23. Mai 2021 ; vor 4 Monaten ( 2021-05-23 )
Repository
Geschrieben in C
Betriebssystem tragbar
Typ XML- Parser- Bibliothek
Lizenz MIT-Lizenz
Webseite libexpat .github .io

Expat ist ein Stream -orientierten XML 1.0 - Parser - Bibliothek , in geschrieben C . Als einer der ersten verfügbaren Open-Source- XML-Parser hat Expat seinen Platz in vielen Open-Source-Projekten gefunden. Zu diesen Projekten gehören der Apache HTTP Server , Mozilla , Perl , Python und PHP . Es ist auch in vielen anderen Sprachen gebunden .

Zeitleiste

Der Softwareentwickler James Clark veröffentlichte 1998 die Version 1.0, während er als technischer Leiter der XML-Arbeitsgruppe des World Wide Web Consortium fungierte . Clark veröffentlichte zwei weitere Versionen, 1.1 und 1.2, bevor er das Projekt im Jahr 2000 einer Gruppe unter der Leitung von Clark Cooper und Fred Drake übergab. Die neue Gruppe veröffentlichte im September 2000 die Version 1.95.0 und veröffentlicht weiterhin neue Versionen, um Fehlerkorrekturen und Erweiterungen.

Verfügbarkeit

GitHub hostet das Expat-Projekt. Es gibt Versionen für die meisten gängigen Betriebssysteme.

Einsatz

Um die Expat-Bibliothek zu verwenden, registrieren Programme zuerst Handlerfunktionen bei Expat. Wenn Expat ein XML-Dokument parst, ruft es die registrierten Handler auf, wenn es relevante Token im Eingabestream findet. Diese Token und die zugehörigen Handler-Aufrufe werden als Ereignisse bezeichnet . Normalerweise registrieren Programme Handlerfunktionen für Start- oder Stoppereignisse von XML-Elementen und Zeichenereignisse. Expat bietet Möglichkeiten für eine anspruchsvollere Ereignisbehandlung wie XML-Namespace- Deklarationen, Verarbeitungsanweisungen und DTD- Ereignisse.

Die Parsing-Ereignisse von Expat ähneln den Ereignissen, die in der Simple API for XML (SAX) definiert sind, aber Expat ist kein SAX-kompatibler Parser. Projekte, die die Expat-Bibliothek enthalten, bauen häufig SAX- und möglicherweise DOM- Parser auf Expat auf. Während Expat hauptsächlich ein Stream-basierter (Push-)Parser ist, unterstützt er das Stoppen und Neustarten des Parsens zu beliebigen Zeitpunkten, wodurch die Implementierung eines Pull- Parsers ebenfalls relativ einfach wird.

Verweise

Externe Links