New upstream release (3.1.2)
[manu/mod-proxy-html.git] / faq.html
index 2139df2..ced1feb 100644 (file)
--- a/faq.html
+++ b/faq.html
@@ -22,17 +22,18 @@ Version 2, and most of the questions are moot in Version 3.</span></p>
 <h2>Answers</h2>
 <dl>
 <dt id="charset">Can mod_proxy_html support (charset XYZ) as input?</dt>
-<dd><p>That depends entirely on libxml2.  mod_proxy_html supports
-charset detection, but does not itself support any charsets.
-It works by passing the charset detected to libxml2 when it sets
-up the parser.</p>
-<p>This means that mod_proxy_html inherits its charset support
-from libxml2, and will always support <em>exactly</em> the same
-charsets available in the version of libxml2 you have installed.
-So bug the libxml2 folks, not us!</p>
-<p class="v3">In Version 3, charset support is much expanded provided
-<code>ProxyHTMLMeta</code> is enabled, and any charset can be supported
-by aliasing it with <code>ProxyHTMLCharsetAlias</code>.</p>
+<dd><p>In version 2, that depends entirely on libxml2, and your charset
+is supported if and only if libxml2 supports it.</p>
+<p>In Version 3.1, charset support is much expanded provided
+<a href="../mod_xml2enc/">mod_xml2enc</a> is enabled.  It is normally
+sufficient just to load mod_xml2enc: it will be configured automatically
+if you configure mod_proxy_html using <code>ProxyHTMLEnable</code>.
+In a few cases, you may need to customise charset support further using
+mod_xml2enc's directives.</p>
+<p>Note that some servers send inconsistent and even conflicting charset
+information, and may generate unexpected results.  Setting
+<code>ProxyHTMLMeta On</code> may help resolve such cases, and will
+help diagnose problems with extra debug information in the error log.</p>
 </dd>
 <dt id="iconv">Can mod_proxy_html support (charset XYZ) as output?</dt>
 <dd><p>libxml2 uses <code>utf-8</code> internally for everything.
@@ -40,8 +41,9 @@ Generating output with another charset is therefore an additional
 overhead, and the decision was taken to exclude any such capability
 from mod_proxy_html.  There is an easy workaround: you can transcode
 the output using another filter, such as mod_charset_lite.</p>
-<p class="v3">Version 3 supports output transformation to other
-charsets using <code>ProxyHTMLCharsetOut</code>.</p>
+<p>mod_proxy_html 3 supports output transformation to other
+charsets using <code>ProxyHTMLCharsetOut</code>.  This requires
+mod_xml2enc to be loaded.</p>
 </dd>
 <dt id="script">Why does mod_proxy_html mangle my Javascript?</dt>
 <dd><p>It doesn't.  Your javascript is simply too badly malformed,
@@ -53,21 +55,28 @@ or with libxml2's <tt>xmllint --html</tt>
 <p>The best fix for this is to remove the javascript from your markup,
 and import it from a separate <tt>.js</tt> file.  If you have an
 irredeemably broken publishing system, you may have to upgrade to
-<a href="/mod_publisher/">mod_publisher</a> or resort to the
-non-markup-aware <a href="/mod_line_edit/">mod_line_edit</a>.</p>
+<a href="/mod_publisher/">mod_publisher</a> or resort to a markup-blind
+filter such as <a href="/mod_line_edit/">mod_line_edit</a>,
+mod_substitute or mod_sed.</p>
 </dd>
 <dt id="attr">Why doesn't mod_proxy_html rewrite urls in [some attribute]?</dt>
-<dd><p>mod_proxy_html is based on W3C HTML 4.01 and XHTML 1.0 (which are
-identical in terms of elements and attributes).  It supports all links
+<dd><p>mod_proxy_html versions 1 and 2 are based on W3C HTML 4.01 and
+XHTML 1.0 (which are identical in terms of elements and attributes).
+It supports all links
 defined in W3C HTML, even those that have been deprecated since 1997.
 But it does <strong>NOT</strong> support proprietary pseudo-HTML "extensions"
 that have never been part of <strong>any</strong> published HTML standard.
 Of course, it's trivial to add them to the source.</p>
 <p>This has been the most commonly requested feature since mod_proxy_html 2.0
-was released in 2004.  It cannot reasonably be satisfied, because everyone's
-pet "extensions" are different.  <span class="v3">Version 3 deals with this
-by taking all HTML knowledge out of the code and loading it from httpd.conf
-instead, so admins can meet their own needs without recompiling.</span></p>
+was released in 2004.  Since everyone's requirements are different, it
+could not reasonably be satisfied with a simple one-size-fits-all fix.
+Version 3 of mod_proxy_html delegates the definition of HTML links to
+the system administrator, via the configuration file.
+<p>A sample file <tt>proxy_html.conf</tt> is provided, and defines
+standard W3C HTML/XHTML.  Note that you MUST include this (or equivalent)
+into your configuration, or no links will be rewritten!  If you need to
+support nonstandard HTML variants, follow the instructions in
+<tt>proxy_html.conf</tt>.</p>
 </dd>
 </dl>
 </div>