Expat es una biblioteca de análisis XML 1.0 orientada a flujos , escrita en C , más precisamente en C99 . [3] 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 Apache HTTP Server , Mozilla , Perl , Python y PHP . También está enlazado en muchos otros lenguajes.
Nombramiento
Según el creador original, el nombre Expat proviene del hecho de que él era un expatriado en ese momento. [ cita requerida ] El "ex" y el "pa" son para XML y análisis.
Cronología
El desarrollador de software James Clark lanzó la versión 1.0 en 1998 mientras se desempeñaba como líder técnico del 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 dirigido 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.
Disponibilidad
GitHub alberga el proyecto Expat. Existen versiones para la mayoría de los [ cuantificar ] sistemas operativos principales [ cita requerida ] .
Despliegue
Para utilizar la biblioteca Expat, los programas primero registran funciones de controlador con Expat. Cuando Expat analiza un documento XML, llama a los controladores registrados a medida que encuentra tokens relevantes en el flujo de entrada. Estos tokens y sus llamadas de controlador asociadas se denominan eventos . Por lo general, los programas registran funciones de controlador para eventos de inicio o detención de elementos XML y eventos de caracteres. Expat proporciona funciones para un manejo de eventos más sofisticado, como declaraciones de espacios 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 crean 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 también hace que la implementación de un analizador pull sea relativamente fácil.
Referencias
- ^ "Versión 2.6.4 · libexpat/libexpat" . Consultado el 8 de noviembre de 2024 .
- ^ "COPIANDO". Github . Consultado el 16 de septiembre de 2019 .
- ^ Pipping, Sebastian (6 de febrero de 2024). "Se lanzó Expat 2.6.0, incluye correcciones de seguridad". www.xml.com . Consultado el 4 de septiembre de 2024 .
Enlaces externos
- Página de inicio del proyecto Expat
- Usando Expat, Clark Cooper, 1999