Autor (es) original (es) | James Clark |
---|---|
Desarrollador (es) | Clark Cooper y col. |
Versión inicial | 1998 |
Lanzamiento estable | 2.4.1 / 23 de mayo de 2021 [1] |
Repositorio | |
Escrito en | C |
Sistema operativo | Portátil |
Escribe | Biblioteca de analizador XML |
Licencia | Licencia MIT [2] |
Sitio web | libexpat |
Expatriados es una corriente -oriented XML 1.0 analizador biblioteca , escrito en C . Como uno de los primeros analizadores XML de código abierto disponibles , Expat ha encontrado un lugar en muchos proyectos de código abierto. Dichos proyectos incluyen el servidor HTTP Apache , Mozilla , Perl , Python y PHP . También está encuadernado en muchos otros idiomas.
El desarrollador de software James Clark lanzó la versión 1.0 en 1998 mientras se desempeñaba como líder técnico en el Grupo de Trabajo XML en el Consorcio World Wide Web . [ cita requerida ] Clark lanzó dos versiones más, 1.1 y 1.2, antes de entregar el proyecto a un grupo liderado por Clark Cooper y Fred Drake en 2000. El nuevo grupo lanzó la versión 1.95.0 en septiembre de 2000 y continúa lanzando nuevas versiones para incorporar correcciones de errores y mejoras.
GitHub aloja el proyecto Expat. Existen versiones para la mayoría [ cuantificar ] los principales sistemas operativos [ cita requerida ] .
Para usar la biblioteca de Expat, los programas primero registran las funciones del controlador con Expat. Cuando Expat analiza un documento XML, llama a los controladores registrados cuando encuentra tokens relevantes en el flujo de entrada. Estos tokens y sus llamadas de controlador asociadas se denominan eventos . Normalmente, los programas registran funciones de controlador para eventos de inicio o detención de elementos XML y eventos de carácter. Expat proporciona facilidades para un manejo de eventos más sofisticado, como declaraciones de espacio de nombres XML , instrucciones de procesamiento y eventos DTD .
Los eventos de análisis de Expat se parecen a los eventos definidos en la API simple para XML (SAX), pero Expat no es un analizador compatible con SAX. Los proyectos que incorporan la biblioteca Expat a menudo construyen analizadores SAX y posiblemente DOM sobre Expat. Si bien Expat es principalmente un analizador basado en flujo (push), admite detener y reiniciar el análisis en momentos arbitrarios, lo que hace que la implementación de un analizador de extracción también sea relativamente fácil.