
Ceci est Expat, une bibliothèque C pour analyser le XML, démarrée par James Clark en 1997. Expat est un analyseur XML orienté flux. Cela signifie que vous enregistrez des gestionnaires auprès de l'analyseur avant de commencer l'analyse. Ces gestionnaires sont appelés lorsque l'analyseur découvre les structures associées dans le document analysé. Une balise ouvrante est un exemple du type de structures pour lesquelles vous pouvez enregistrer des gestionnaires.
Les utilisateurs de Windows devraient utiliser le
package 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'une extraction du dépôt Git, vous devez exécuter un script qui génère le script configure à l'aide des 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 une compilation à partir d'une distribution source.
Pour compiler Expat à partir d'une distribution source, vous devez d'abord exécuter le script shell de configuration dans le répertoire racine de la distribution :
./configure
Il existe de nombreuses options que vous pouvez passer à configure (que vous
pouvez découvrir en exécutant configure avec l'option --help). Mais la plus
intéressante est celle qui définit le répertoire d'installation. Par défaut,
le script configure installera 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 l'indiquer à 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 ainsi que pour l'index d'octets global :
./configure CPPFLAGS=-DXML_LARGE_SIZE
Cependant, une telle modification constituerait un changement de rupture pour l'ABI et n'est donc pas recommandée pour un usage général — par exemple au sein d'une distribution Linux — mais plutôt pour des compilations avec des exigences particulières.
Après avoir exécuté le script configure, la commande make compilera les
éléments et make install les installera à leur emplacement approprié.
Jetez un œil au Makefile pour découvrir les options supplémentaires de
make. Notez que vous devez avoir la permission d'écrire dans les
répertoires où les éléments seront installés.
Si vous souhaitez compiler Expat pour fournir des informations de document en
encodage 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 encore en charge ce mode de
compilation :
Appliquez un correctif en masse aux 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 en unsigned short (et des chaînes de
version/erreur en char), exécutez :
./configure CPPFLAGS=-DXML_UNICODE --without-xmlwf
Pour une sortie UTF-16 en 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 également compilé avec
.
L'utilisation de DESTDIR est prise en charge. Cela fonctionne comme suit :
make install DESTDIR=/path/to/image
remplace le DESTDIR défini dans le makefile, car la priorité de définition
des variables est
Remarque : Cela s'applique uniquement à la bibliothèque Expat elle-même ; la compilation 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 détection dans
conftools/expat.m4 pour déterminer comment inclure Expat. Voir 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.
-fshort-wcharExécutez make (ce qui exclut xmlwf).
Exécutez make install (encore une fois, exclut xmlwf).