Serveur Apache HTTP Version 2.4
Description: | Support avanc� de l'internationalisation et des jeux de caract�res pour les modules de filtrage bas�s sur libxml2 |
---|---|
Statut: | Base |
Identificateur�de�Module: | xml2enc_module |
Fichier�Source: | mod_xml2enc.c |
Compatibilit�: | Disponible depuis la version 2.4 du serveur HTTP Apache. Disponible en tant que module tiers dans les versions 2.2.x |
Ce module fournit un support avanc� de l'internationalisation
pour les modules de filtrage supportant les balises (markup-aware)
comme mod_proxy_html
. Il est capable de d�tecter
automatiquement l'encodage des donn�es en entr�e et de s'assurer
qu'elle sont trait�es correctement par l'interpr�teur libxml2, y compris la conversion en
Unicode (UTF-8) si n�cessaire. Il peut aussi convertir les donn�es
dans l'encodage de votre choix apr�s le traitement des balises, et
s'assurera que le jeu de caract�res appropri� sera d�fini
dans l'en-t�te HTTP Content-Type.
Il existe deux sc�narios d'utilisation : le cas des modules programm�s pour travailler avec mod_xml2enc ; et les autres :
Les modules comme mod_proxy_html
versions 3.1 et
sup�rieures utilisent la fonction optionnelle
xml2enc_charset
pour d�terminer la valeur de l'argument
"jeu de caract�res" � transmettre � l'interpr�teur libxml2, et
disposent de la fonction optionnelle xml2enc_filter
pour effectuer un encodage ult�rieur �ventuel. L'utilisation de
mod_xml2enc avec un module pr�programm� � cet effet ne n�cessite
aucune configuration : ce dernier configurera mod_xml2enc pour vous
(sachant que vous pouvez tout de m�me le personnaliser via les
directives de configuration ci-dessous).
Pour utiliser mod_xml2enc avec un module bas� sur libxml2 qui n'a pas �t� explicitement programm� pour mod_xml2enc, vous devrez configurer la cha�ne de filtrage vous-m�me. Ainsi, pour utiliser mod_xml2enc avec un filtre foo fourni par un module mod_foo et pour am�liorer le support i18n de ce dernier avec HTML et XML, vous pouvez utiliser les directives suivantes :
FilterProvider iconv xml2enc Content-Type $text/html
FilterProvider iconv xml2enc Content-Type $xml
FilterProvider markup foo Content-Type $text/html
FilterProvider markup foo Content-Type $xml
FilterChain iconv markup
mod_foo supportera alors tout jeu de caract�re support� soit par libxml2, soit par apr_xlate/iconv, soit par les deux.
Les programmeurs de modules de filtrage bas�s sur libxml2 sont
encourag�s � les pr�programmer pour mod_xml2enc, afin de fournir un
support i18n solide aux utilisateurs sans avoir � r�inventer la
roue. L'API de programmation est d�crite dans
mod_xml2enc.h, et mod_proxy_html
est un
exemple de son utilisation.
A la diff�rence de mod_charset_lite
, mod_xml2enc
est con�u pour travailler avec des donn�es dont l'encodage ne peut
pas �tre connu, et donc configur�, � l'avance. Il utilise donc les
techniques de 'reniflage' suivantes pour d�tecter le type d'encodage
des donn�es HTTP :
<META>
, c'est ce dernier qui sera utilis�.xml2EncDefault
qui sera utilis�e.Les conditions sont test�es dans cet ordre . D�s qu'une r�gle s'applique, elle est utilis�e et la d�tection est termin�e.
libxml2 utilise toujours UTF-8 (Unicode) en interne, et les modules de filtrage bas�s sur libxml2 utiliseront cet encodage en sortie par d�faut. mod_xml2enc peut modifier l'encodage en sortie via l'API, mais il n'y a actuellement aucun moyen de le configurer directement.
La modification de l'encodage en sortie ne devrait (du moins en th�orie) jamais �tre n�cessaire, et est m�me d�conseill�e � cause de la charge de traitement suppl�mentaire impos�e au serveur par une conversion non n�cessaire.
Si vous travaillez avec des encodages non support�s par aucune des
m�thodes de conversion disponibles sur votre plateforme, vous pouvez
tout de m�me leur associer un alias vers un code support� via la
directive xml2EncAlias
.
Description: | D�finit des alias pour les valeurs d'encodage |
---|---|
Syntaxe: | xml2EncAlias jeu-de-caract�res alias [alias ...] |
Contexte: | configuration du serveur |
Statut: | Base |
Module: | mod_xml2enc |
Cette directive de niveau serveur permet de d�finir un ou plusieurs alias pour un encodage. Elle permet au support d'encodage de libxml2 de traiter en interne des encodages non reconnus par libxml2 en utilisant la table de conversion pour un encodage reconnu. Elle permet d'atteindre deux objectifs : supporter des jeux (ou noms) de caract�res non reconnus par libxml2 ou iconv, et �viter une conversion pour un encodage lorsque cela n'est pas n�cessaire.
Description: | D�finit un encodage par d�faut � utiliser lorsqu'aucune information ne peut �tre automatiquement d�tect�e |
---|---|
Syntaxe: | xml2EncDefault nom |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess |
Statut: | Base |
Module: | mod_xml2enc |
Compatibilit�: | Disponible depuis la version 2.4.0 du serveur HTTP Apache ; disponible depuis un module tiers dans les versions ant�rieures. |
Si vous traitez des donn�es dont l'encodage est connu, mais ne contenant aucune information � propos de ce dernier, vous pouvez d�finir une valeur par d�faut afin d'aider mod_xml2enc � traiter correctement les donn�es. Par exemple, pour d�finir la valeur par d�faut Latin1 (iso-8859-1 specifi�e dans HTTP/1.0), utilisez :
xml2EncDefault iso-8859-1
Description: | Indique � l'interpr�teur � partir de quelle balise il doit commencer son traitement. |
---|---|
Syntaxe: | xml2StartParse �l�ment [�l�ment ...] |
Contexte: | configuration du serveur, serveur virtuel, r�pertoire, .htaccess |
Statut: | Base |
Module: | mod_xml2enc |
Cette directive permet de sp�cifier � partir de quelle balise, parmi les �l�ments sp�cifi�s, l'interpr�teur de balise doit commencer son traitement. Ccei permet de contourner le probl�me des serveurs d'arri�re-plan qui ins�rent des �l�ments non conformes en d�but de donn�es, ce qui a pour effet de perturber l'interpr�teur (voir un exemple ici).
Elle ne doit �tre utilis�e ni pour les documents XML, ni pour les documents HTML correctement format�s.