
Expat, versión 2.1.0
Esto es Expat, una biblioteca de C para analizar XML, escrita por James Clark. Expat es un analizador de XML orientado a flujo. Esto significa que registra manejadores con el analizador antes de comenzar el análisis. Estos manejadores se invocan cuando el analizador descubre las estructuras asociadas en el documento que se está analizando. Una etiqueta de inicio es un ejemplo del tipo de estructuras para las que puede registrar manejadores.
Los usuarios de Windows deben usar el paquete expat_win32bin, que incluye tanto bibliotecas y ejecutables precompilados como código fuente para desarrolladores.
Expat es software libre. Puede copiarlo, distribuirlo y modificarlo bajo los términos de la Licencia contenida en el archivo COPYING distribuido con este paquete. Esta licencia es la misma que la licencia del MIT/X Consortium.
Las versiones de Expat que tienen un número de versión menor impar (el número del medio en la versión anterior) son versiones de desarrollo y deben considerarse software beta. Las versiones con números de versión menor pares están destinadas a ser software de calidad de producción.
Si está compilando Expat a partir de un checkout del repositorio CVS, necesita ejecutar un script que genere el script configure utilizando las herramientas GNU autoconf y libtool. Para ello, necesita tener autoconf 2.58 o más reciente. Ejecute el script de la siguiente manera:
./buildconf.sh
Una vez hecho esto, siga las mismas instrucciones que para compilar desde una distribución de código fuente.
Para compilar Expat desde una distribución de código fuente, primero ejecute el script de shell de configuración en el directorio de nivel superior de la distribución:
./configure
Hay muchas opciones que puede proporcionar a configure (puede descubrirlas ejecutando configure con la opción --help). Pero la más interesante es la que establece el directorio de instalación. De forma predeterminada, el script configure instalará libexpat en /usr/local/lib, expat.h en /usr/local/include y xmlwf en /usr/local/bin. Si, por ejemplo, prefiere instalar en /home/me/mystuff/lib, /home/me/mystuff/include y /home/me/mystuff/bin, puede indicárselo a configure con:
./configure --prefix=/home/me/mystuff
Otra opción interesante es habilitar el soporte de enteros de 64 bits para los números de línea y columna y el índice general de bytes:
./configure CPPFLAGS=-DXML_LARGE_SIZE
Sin embargo, dicha modificación supondría un cambio incompatible con la ABI y, por lo tanto, no se recomienda para uso general (por ejemplo, como parte de una distribución de Linux), sino para compilaciones con requisitos especiales.
Después de ejecutar el script configure, el comando "make" compilará las cosas y "make install" las instalará en su ubicación correspondiente. Eche un vistazo al "Makefile" para conocer las opciones adicionales de "make". Tenga en cuenta que necesita tener permiso de escritura en los directorios en los que se instalarán las cosas.
Si está interesado en compilar Expat para proporcionar información del documento en codificación UTF-16 en lugar de UTF-8 predeterminado, siga estas instrucciones (después de haber ejecutado "make distclean"):
1. Para salida UTF-16 como unsigned short (y cadenas de
versión/error como char), ejecute:
./configure CPPFLAGS=-DXML_UNICODE
Para salida UTF-16 como wchar_t (incl. cadenas de
versión/error), ejecute:
./configure CFLAGS="-g -O2 -fshort-wchar" \
CPPFLAGS=-DXML_UNICODE_WCHAR_T
2. Edite el MakeFile, cambiando:
LIBRARY = libexpat.la
a:
LIBRARY = libexpatw.la
(Tenga en cuenta la "w" adicional en el nombre de la biblioteca).
3. Ejecute "make buildlib" (que compila solo la biblioteca).
O, para ahorrarse el paso 2, ejecute "make buildlib LIBRARY=libexpatw.la".
4. Ejecute "make installlib" (que instala solo la biblioteca).
O, si se omitió el paso 2, ejecute "make installlib LIBRARY=libexpatw.la".
Se admite el uso de DESTDIR o INSTALL_ROOT, siendo INSTALL_ROOT el valor predeterminado para DESTDIR, y el resto del archivo make usa solo DESTDIR. Funciona de la siguiente manera:
$ make install DESTDIR=/path/to/image anula el DESTDIR definido en el archivo make, mientras que ambos $ INSTALL_ROOT=/path/to/image make install $ make install INSTALL_ROOT=/path/to/image usan DESTDIR=$(INSTALL_ROOT), incluso si DESTDIR termina definido en el entorno, porque la prioridad de establecimiento de variables es
Nota: esto solo se aplica a la propia biblioteca Expat; actualmente no se admite la compilación de versiones UTF-16 de xmlwf y de las pruebas.
Nota para usuarios de Solaris: El comando "ar" suele estar ubicado en "/usr/ccs/bin", que no está en el PATH predeterminado. Necesitará añadir esto a su path para el comando "make", y probablemente también cambiar a GNU make (el "make" que se encuentra en /usr/ccs/bin no parece funcionar correctamente; aparentemente no entiende las directivas .PHONY). Si está usando ksh o bash, use este comando para compilar:
PATH=/usr/ccs/bin:$PATH make
Cuando utilice Expat con un proyecto que use autoconf para la configuración, puede usar la macro de sondeo en conftools/expat.m4 para determinar cómo incluir Expat. Consulte los comentarios en la parte superior de ese archivo para obtener más información.
Hay un manual de referencia disponible en el archivo doc/reference.html de esta distribución.
La página principal de este proyecto es http://www.libexpat.org/. Allí hay enlaces que le conectan con la página de informes de errores. Si necesita informar de un error y no tiene acceso a un navegador, también puede enviar un informe de error por correo electrónico a [email protected].
La discusión sobre la dirección del desarrollo futuro de expat tiene lugar en [email protected]. Los archivos de esta lista y de otras listas relacionadas con Expat se pueden encontrar en:
http://mail.libexpat.org/mailman/listinfo