
Bibliothèque C pour l'analyse XML orientée flux avec enregistrement de gestionnaires, prenant en charge les encodages UTF-8/UTF-16, et système de construction basé sur autoconf. Inclut l'outil xmlwf et un manuel de référence.
Ceci est Expat, une bibliothèque C pour l'analyse XML, démarrée par James Clark en 1997. Expat est un analyseur XML orienté flux. Cela signifie que vous enregistrez des gestionnaires avec l'analyseur avant de commencer l'analyse. Ces gestionnaires sont appelés lorsque l'analyseur découvre les structures associées dans le document en cours d'analyse. Une balise d'ouverture est un exemple du type de structures pour lesquelles vous pouvez enregistrer des gestionnaires.
Les utilisateurs de Windows devraient utiliser le
paquet expat_win32,
qui inclut à la fois des bibliothèques et des exécutables précompilés, ainsi que le code source pour
les développeurs.
Expat est un logiciel libre.
Vous pouvez le copier, le distribuer et le modifier selon les termes de la licence
contenue dans le fichier
COPYING
distribué avec ce paquet.
Cette licence est la même que la licence MIT/X Consortium.
Si vous construisez Expat à partir d'un extrait du dépôt Git, vous devez exécuter un script qui génère le script configure en utilisant les outils GNU autoconf et libtool. Pour ce faire, vous devez disposer d'autoconf 2.58 ou plus récent. Exécutez le script comme ceci :
./buildconf.sh
Une fois cela fait, suivez les mêmes instructions que pour la construction à partir d'une distribution source.
Pour construire Expat à partir d'une distribution source, vous exécutez d'abord le script shell de configuration dans le répertoire de distribution de plus haut niveau :
./configure
Il existe de nombreuses options que vous pouvez fournir à configure (que vous
pouvez découvrir en exécutant configure avec l'option --help). Mais celle
qui présente le plus d'intérêt est celle qui définit le répertoire d'installation.
Par défaut, le script configure configurera l'installation de
libexpat dans /usr/local/lib, expat.h dans /usr/local/include, et
xmlwf dans /usr/local/bin. Si, par exemple, vous préférez installer
dans /home/me/mystuff/lib, /home/me/mystuff/include, et
/home/me/mystuff/bin, vous pouvez en informer configure avec :
./configure --prefix=/home/me/mystuff
Une autre option intéressante consiste à activer la prise en charge des entiers 64 bits pour les numéros de ligne et de colonne et l'index global des octets :
./configure CPPFLAGS=-DXML_LARGE_SIZE
Cependant, une telle modification constituerait un changement incompatible avec l'ABI et n'est donc pas recommandée pour une utilisation générale — par exemple dans le cadre d'une distribution Linux — mais plutôt pour des constructions avec des exigences particulières.
Après avoir exécuté le script configure, la commande make construira les
éléments et make install les installera à leur emplacement approprié.
Jetez un œil au Makefile pour connaître les options make supplémentaires.
Notez que vous devez disposer des droits d'écriture dans les répertoires où
les éléments seront installés.
Si vous souhaitez construire Expat pour fournir des informations de document
en codage UTF-16 plutôt qu'en UTF-8 par défaut, suivez ces instructions
(après avoir exécuté make distclean).
Veuillez noter que nous configurons avec --without-xmlwf car xmlwf ne
prend pas en charge ce mode de compilation (pour l'instant) :
Corriger en masse les fichiers Makefile.am pour utiliser libexpatw.la comme nom de bibliothèque :
find -name Makefile.am -exec sed -e 's,libexpat\.la,libexpatw.la,' -e 's,libexpat_la,libexpatw_la,' -i {} +
Exécutez automake pour réécrire les fichiers Makefile.in :
automake
Pour une sortie UTF-16 sous forme de unsigned short (et les chaînes de version/erreur en char),
exécutez :
./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf
Pour une sortie UTF-16 sous forme de wchar_t (y compris les chaînes de version/erreur), exécutez :
./configure CFLAGS="-g -O2 -fshort-wchar" CPPFLAGS=-DXML_UNICODE_WCHAR_T --without-xmlwf
Remarque : Ce dernier nécessite que libc soit compilé avec -fshort-wchar, également.
Exécutez make (qui exclut xmlwf).
Exécutez make install (encore une fois, xmlwf est exclu).
L'utilisation de DESTDIR est prise en charge. Cela fonctionne comme suit :
make install DESTDIR=/path/to/image
remplace la valeur DESTDIR définie dans le makefile, car la priorité des
définitions de variables est
Remarque : Cela ne s'applique qu'à la bibliothèque Expat elle-même ; la construction de versions UTF-16 de xmlwf et des tests n'est actuellement pas prise en charge.
Lorsque vous utilisez Expat avec un projet utilisant autoconf pour la configuration,
vous pouvez utiliser la macro de sondage dans conftools/expat.m4 pour déterminer
comment inclure Expat. Consultez les commentaires en haut de ce fichier pour plus
d'informations.
Un manuel de référence est disponible dans le fichier doc/reference.html dans
cette distribution.