Expat (bibliotek) - Expat (library)

Expat
Ursprungliga författare James Clark
Utvecklare Clark Cooper, et al.
Initial release 1998 ; 23 år sedan ( 1998 )
Stabil frisättning
2.4.1 / 23 maj 2021 ; 4 månader sedan ( 2021-05-23 )
Förvar
Skrivet i C
Operativ system Portabla
Typ XML parser bibliotek
Licens MIT -licens
Hemsida libexpat .github .io

Expat är en ström -orienterad XML 1,0 parser bibliotek skrivna i C . Som en av de första tillgängliga XML-parsarna med öppen källkod har Expat hittat en plats i många projekt med öppen källkod. Sådana projekt inkluderar Apache HTTP -server , Mozilla , Perl , Python och PHP . Den är också bunden på många andra språk.

Tidslinje

Programutvecklaren James Clark släppte version 1.0 1998 medan han fungerade som teknisk ledare för XML Working Group på World Wide Web Consortium . Clark släppte ytterligare två versioner, 1.1 och 1.2, innan han överlämnade projektet till en grupp som leddes av Clark Cooper och Fred Drake år 2000. Den nya gruppen släppte version 1.95.0 i september 2000 och fortsätter att släppa nya versioner för att införliva buggfixar och förbättringar.

Tillgänglighet

GitHub är värd för Expat -projektet. Det finns versioner för de flesta större operativsystem.

Spridning

För att använda Expat -biblioteket registrerar program först hanteringsfunktioner hos Expat. När Expat analyserar ett XML -dokument, anropar det de registrerade hanterarna eftersom det hittar relevanta tokens i inmatningsflödet. Dessa tokens och deras associerade hanterarsamtal kallas händelser . Vanligtvis registrerar program hanteringsfunktioner för XML -elementets start- eller stopphändelser och teckenhändelser. Expat tillhandahåller faciliteter för mer sofistikerad händelsehantering, till exempel XML -namnrymddeklarationer , behandlingsinstruktioner och DTD -händelser.

Expats analyshändelser liknar de händelser som definieras i Simple API för XML (SAX), men Expat är inte en SAX-kompatibel parser. Projekt som innehåller Expat -biblioteket bygger ofta SAX och eventuellt DOM -parsers ovanpå Expat. Medan Expat huvudsakligen är en strömbaserad (push) parser, stöder den stopp och omstart av parsning vid godtyckliga tider, vilket gör implementeringen av en pull- parser också relativt enkel.

Referenser

externa länkar