1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_xml2enc - Serveur Apache HTTP Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.4</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_xml2enc</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_xml2enc.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_xml2enc.html" title="Franais"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Support avanc de l'internationalisation et des jeux de
caractres pour les modules de filtrage bass sur libxml2</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">IdentificateurdeModule:</a></th><td>xml2enc_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">FichierSource:</a></th><td>mod_xml2enc.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Compatibilit:</a></th><td>Disponible depuis la version 2.4 du serveur HTTP Apache.
Disponible en tant que module tiers dans les versions 2.2.x</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module fournit un support avanc de l'internationalisation
pour les modules de filtrage supportant les balises (markup-aware)
comme <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code>. Il est capable de dtecter
automatiquement l'encodage des donnes en entre et de s'assurer
qu'elle sont traites correctement par l'interprteur <a href="http://xmlsoft.org/">libxml2</a>, y compris la conversion en
Unicode (UTF-8) si ncessaire. Il peut aussi convertir les donnes
dans l'encodage de votre choix aprs le traitement des balises, et
s'assurera que le <var>jeu de caractres</var> appropri sera dfini
dans l'en-tte HTTP <var>Content-Type</var>.</p>
</div>
<div id="quickview"><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#xml2encalias">xml2EncAlias</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#xml2encdefault">xml2EncDefault</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#xml2startparse">xml2StartParse</a></li>
</ul>
<h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#api">API de programmation</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#sniffing">Dtection et encodage</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#output">Codage en sortie</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#alias">Codages non supports</a></li>
</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="usage" id="usage">Utilisation</a></h2>
<p>Il existe deux scnarios d'utilisation : le cas des modules
programms pour travailler avec mod_xml2enc ; et les autres :</p>
<dl>
<dt>Modules de filtrages programms pour mod_xml2enc</dt><dd>
<p>Les modules comme <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> versions 3.1 et
suprieures utilisent la fonction optionnelle
<code>xml2enc_charset</code> pour dterminer la valeur de l'argument
"jeu de caractres" transmettre l'interprteur libxml2, et
disposent de la fonction optionnelle <code>xml2enc_filter</code>
pour effectuer un encodage ultrieur ventuel. L'utilisation de
mod_xml2enc avec un module prprogramm cet effet ne ncessite
aucune configuration : ce dernier configurera mod_xml2enc pour vous
(sachant que vous pouvez tout de mme le personnaliser via les
directives de configuration ci-dessous).</p>
</dd>
<dt>Modules de filtrages non programms pour mod_xml2enc</dt><dd>
<p>Pour utiliser mod_xml2enc avec un module bas sur libxml2 qui n'a
pas t explicitement programm pour mod_xml2enc, vous devrez
configurer la chane de filtrage vous-mme. Ainsi, pour utiliser
mod_xml2enc avec un filtre <strong>foo</strong> fourni par un module
<strong>mod_foo</strong> et pour
amliorer le support i18n de ce dernier avec HTML et XML, vous
pouvez utiliser les directives suivantes :</p>
<pre><code>
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
</code></pre>
<p><strong>mod_foo</strong> supportera alors tout jeu de caractre support soit par
libxml2, soit par apr_xlate/iconv, soit par les deux.</p>
</dd></dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="api" id="api">API de programmation</a></h2>
<p>Les programmeurs de modules de filtrage bass sur libxml2 sont
encourags les prprogrammer pour mod_xml2enc, afin de fournir un
support i18n solide aux utilisateurs sans avoir rinventer la
roue. L'API de programmation est dcrite dans
<var>mod_xml2enc.h</var>, et <code class="module"><a href="../mod/mod_proxy_html.html">mod_proxy_html</a></code> est un
exemple de son utilisation.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="sniffing" id="sniffing">Dtection et encodage</a></h2>
<p>A la diffrence de <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code>, mod_xml2enc
est conu pour travailler avec des donnes dont l'encodage ne peut
pas tre connu, et donc configur, l'avance. Il utilise donc les
techniques de 'reniflage' suivantes pour dtecter le type d'encodage
des donnes HTTP :</p>
<ol>
<li>Si l'en-tte HTTP <var>Content-Type</var> contient un
paramtre <var>charset</var>, c'est ce dernier qui sera utilis.</li>
<li>Si les donnes commancent par une balise XML concernant
l'ordre des octets (BOM) ou par une dclaration d'encodage XML,
c'est celle-ci qui sera utilise.</li>
<li>Si un type d'encodage est dclar dans un lment HTML
<code><META></code>, c'est ce dernier qui sera utilis.</li>
<li>Si aucun des lments prcdents n'est trouv, c'est la
valeur par dfaut dfinie par la directive
<code class="directive">xml2EncDefault</code> qui sera utilise.</li>
</ol>
<p>Les conditions sont testes dans cet ordre . Ds qu'une rgle
s'applique, elle est utilise et la dtection est termine.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="output" id="output">Codage en sortie</a></h2>
<p><a href="http://xmlsoft.org/">libxml2</a> utilise toujours UTF-8
(Unicode) en interne, et les modules de filtrage bass sur libxml2
utiliseront cet encodage en sortie par dfaut. mod_xml2enc peut modifier
l'encodage en sortie via l'API, mais il n'y a actuellement aucun moyen de le
configurer directement.</p>
<p>La modification de l'encodage en sortie ne devrait (du moins en thorie)
jamais tre ncessaire, et est mme dconseille cause de la charge de
traitement supplmentaire impose au serveur par une conversion non
ncessaire.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="alias" id="alias">Codages non supports</a></h2>
<p>Si vous travaillez avec des encodages non supports par aucune des
mthodes de conversion disponibles sur votre plateforme, vous pouvez
tout de mme leur associer un alias vers un code support via la
directive <code class="directive">xml2EncAlias</code>.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="xml2EncAlias" id="xml2EncAlias">xml2EncAlias</a> <a name="xml2encalias" id="xml2encalias">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dfinit des alias pour les valeurs d'encodage</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>xml2EncAlias <var>jeu-de-caractres alias [alias ...]</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr>
</table>
<p>Cette directive de niveau serveur permet de dfinir 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
caractres non reconnus par libxml2 ou iconv, et viter une
conversion pour un encodage lorsque cela n'est pas ncessaire.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="xml2EncDefault" id="xml2EncDefault">xml2EncDefault</a> <a name="xml2encdefault" id="xml2encdefault">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Dfinit un encodage par dfaut utiliser lorsqu'aucune
information ne peut tre <a href="#sniffing">automatiquement dtecte</a></td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>xml2EncDefault <var>nom</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibilit:</a></th><td>Disponible depuis la version 2.4.0 du serveur HTTP Apache
; disponible depuis un module tiers dans les versions antrieures.</td></tr>
</table>
<p>Si vous traitez des donnes dont l'encodage est connu, mais ne
contenant aucune information propos de ce dernier, vous pouvez
dfinir une valeur par dfaut afin d'aider mod_xml2enc traiter
correctement les donnes. Par exemple, pour dfinir la valeur par
dfaut Latin1 (<var>iso-8859-1</var> specifie dans HTTP/1.0),
utilisez :</p>
<pre class="prettyprint lang-config">xml2EncDefault iso-8859-1</pre>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="xml2StartParse" id="xml2StartParse">xml2StartParse</a> <a name="xml2startparse" id="xml2startparse">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Indique l'interprteur partir de quelle balise il doit
commencer son traitement.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>xml2StartParse <var>lment [lment ...]</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, rpertoire, .htaccess</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_xml2enc</td></tr>
</table>
<p>Cette directive permet de spcifier partir de quelle balise,
parmi les lments spcifis, l'interprteur de balise doit
commencer son traitement. Ccei permet de contourner le problme des
serveurs d'arrire-plan qui insrent des lments non conformes en
dbut de donnes, ce qui a pour effet de perturber l'interprteur (<a href="http://bahumbug.wordpress.com/2006/10/12/mod_proxy_html-revisited/">voir un exemple ici</a>).</p>
<p>Elle ne doit tre utilise ni pour les documents XML, ni pour les
documents HTML correctement formats.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_xml2enc.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_xml2enc.html" title="Franais"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_xml2enc.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autoris sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|