mod_xml2enc.html.fr 16.9 KB
Newer Older
powelld's avatar
powelld committed
<?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>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
        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.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_xml2enc.html" title="Franais">&nbsp;fr&nbsp;</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"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><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><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>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_xml2enc">Problmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_xml2enc">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<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>&lt;META&gt;</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">Directive</a> <a name="xml2EncAlias" id="xml2EncAlias">xml2EncAlias</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">Directive</a> <a name="xml2EncDefault" id="xml2EncDefault">xml2EncDefault</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">Directive</a> <a name="xml2StartParse" id="xml2StartParse">xml2StartParse</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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_xml2enc.html" title="Franais">&nbsp;fr&nbsp;</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&amp;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 2017 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>