<refentry xmlns:src="http://nwalsh.com/xmlns/litprog/fragment"
          xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
          id="l10n.lang.value.rfc.compliant">
<refmeta>
<refentrytitle>l10n.lang.value.rfc.compliant</refentrytitle>
<refmiscinfo role="type">boolean</refmiscinfo>
</refmeta>
<refnamediv>
<refname>l10n.lang.value.rfc.compliant</refname>
<refpurpose>Make value of lang attribute RFC compliant?</refpurpose>
</refnamediv>

<refsynopsisdiv>
<src:fragment id='l10n.lang.value.rfc.compliant.frag'>
<xsl:param name="l10n.lang.value.rfc.compliant" select="1"/>
</src:fragment>
</refsynopsisdiv>

<refsect1><title>Description</title>

<para>If non-zero, ensure that the values for all <sgmltag
class="attribute">lang</sgmltag> attributes in HTML output are RFC
compliant<footnote

><para>Section 8.1.1, <ulink
url="http://www.w3.org/TR/REC-html40/struct/dirlang.html#h-8.1.1"
>Language Codes</ulink>, in the HTML 4.0 Recommendation states that:

<blockquote><para>[RFC1766] defines and explains the language codes
that must be used in HTML documents.</para>
<para>Briefly, language codes consist of a primary code and a possibly
empty series of subcodes:

<literallayout class="monospaced">language-code = primary-code ( "-" subcode )*</literallayout>
</para>
<para>And in RFC 1766, <ulink
url="http://www.ietf.org/rfc/rfc1766.txt">Tags for the Identification
of Languages</ulink>, the EBNF for "language tag" is given as:

<literallayout class="monospaced">Language-Tag = Primary-tag *( "-" Subtag )
Primary-tag = 1*8ALPHA
Subtag = 1*8ALPHA</literallayout>
</para>
</blockquote>
</para></footnote>.

by taking any underscore characters in any <sgmltag
class="attribute">lang</sgmltag> values found in source documents, and
replacing them with hyphen characters in output HTML files. For
example, <literal>zh_CN</literal> in a source document becomes
<literal>zh-CN</literal> in the HTML output form that source.

<note>
<para>This parameter does not cause any case change in <sgmltag
class="attribute">lang</sgmltag> values, because RFC 1766
explicitly states that all "language tags" (as it calls them) "are
to be treated as case insensitive".</para>
</note>
</para>

</refsect1>
</refentry>
