This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
Proposed text: <section> <h1>6.x HTTP headers and http-equiv declarations</h1> Some HTTP headers and http-equiv declarations need special attention in Polyglot Markup. <h2>6.x.1 Content-Language</h2> Example - http-equiv: <meta http-equiv="Content-Language" content="ru"/> Example - HTTP header: Content-language: ru There are no direct issues with regard to the use of Content-Language. However, this is based on the precondition that the <a href=#language-attributes >language on the root element is declared</a> (to stay clear of the nuances of how Content-Language affects HTML vs XML) is followed. <h2>6.x.2 Content-Type</h2> The HTTP Content-Type: header have no extra rules or restrictions. Whereas the http-equiv="Content-Type" declaration is forbidden in polyglot markup. Also seee <a href="#character-encoding">Specifying a Document's Character Encoding</a>. </section>
Added the following to the polyglot spec as of the 14 MArch Editor's Draft: ]] 6.5.1 HTTP Headers and http-equiv Declarations The following HTTP headers and http-equiv declarations warrant special discussion in polyglot markup. Example http-equiv: <meta http-equiv="Content-Language" content="ru"/> HTTP header: Content-language: ru 6.5.1.1 Content-Language There are no direct issues with regard to the use of Content-Language as long as the language attribute is declared on the root element, as described in Language Attributes. By declaring the language attribute on the root element, polyglot markup avoids the differences between XML and HTML in regard to Content-Language. 6.5.1.2 Content-Type The HTTP Content-Type: header has no extra rules or restrictions, whereas polyglot markup does not use the http-equiv="Content-Type" declaration on the <meta> element. For more specific information about using the HTTP Content-Type: header, see Specifying a Document's Character Encoding. [[ I believe that this satisfies the request in this bug, so I am resolving it as fixed. However, you beg a question in 6.5.1.1. Do you want to explain the differences between HTML and XML in regard to Content-Language? ]] By declaring the language attribute on the root element, polyglot markup avoids the differences between XML and HTML in regard to Content-Language. [[ If so, please reopen the bug with proposed text. I think it's probably enough to say there are differences, but if you want to be specific, I'll respect that. Thanks, Eliot
(In reply to comment #2) Some, I think, purely editorial things: > ]] > 6.5.1 HTTP Headers and http-equiv Declarations > > The following HTTP headers and http-equiv declarations warrant special > discussion in polyglot markup. Shouldn't this example belong under 6.5.1.1 ? > Example > http-equiv: <meta http-equiv="Content-Language" content="ru"/> > HTTP header: Content-language: ru > > 6.5.1.1 Content-Language > > There are no direct issues with regard to the use of Content-Language as long > as the language attribute is declared on the root element, as described in > Language Attributes. By declaring the language attribute on the root element, > polyglot markup avoids the differences between XML and HTML in regard to > Content-Language. > Do you want to explain the > differences between HTML and XML in regard to Content-Language? > > ]] > By declaring the language attribute on the root element, polyglot markup avoids > the differences between XML and HTML in regard to Content-Language. > [[ Not really explain more. But I would suggest this final touch, from the word "avoids" and onwards: ]] _overcomes_a_difference_ between XML and HTML in regard to Content-Language [[ (there is just one differnce, in principle, so no need to need plural.) Cheers!
Or, just use the word "avoids" and 'overcomes'. That's more to the point, I guess. Thus ]] avoids a difference [[
Changes made. Draft now incorporates language to fix 12278, as well as to resolve this bug: ]] 6.5.1.1 Content-Language The following HTTP headers and http-equiv declarations warrant special discussion in polyglot markup. Example http-equiv: <meta http-equiv="Content-Language" content="ru"/> HTTP header: Content-language: ru There are no direct issues with regard to the use of Content-Language as long as the language attribute is declared on the root element, as described in Language Attributes. Polyglot markup must declare both the xml:lang as well as the lang attributes on the root element when there is a Content-Language (http-equiv pragma or HTTP header) whose value is exactly a single language tag. By declaring the language attribute on the root element, polyglot markup avoids a difference between XML and HTML in regard to Content-Language. Note For the sake of simplicity and expediency, content to be delivered as polyglot markup may always include both the xml:lang as well as the lang attributes on the root element. [[ Thanks so much. ELiot
fine!
(In reply to comment #6) The HTMLwg just decided that http-equiv="Content-Language" should be illegal. http://www.w3.org/mid/4D84B9B4.3040809@intertwingly.net As a result, here is and amandment of the current text. I tried to make it shorter too. ]] 6.5.1.1 Content-Language The HTTP Content-Language: header warrants special discussion in polyglot markup. Example HTTP header: Content-language: ru Whenever there is a HTTP Content-Language: header whose value is no more and no less than exactly one language tag, polyglot markup must declare the lang and the xml:lang attribute on the root element to avoid a difference between HTML and XML in regard to whether the HTTP Content-Language: header, in the absense of lang and xml:lang, sets a fallback language or not. Note For the sake of simplicity and expediency, content to be delivered as polyglot markup may always include both the xml:lang as well as the lang attributes on the root element. [[
The section now says: ]] 6.5.1.1 Content-Language The HTTP Content-Language: header warrants special discussion in polyglot markup. Example HTTP header: Content-language: ru Whenever there is an HTTP Content-Language: header (whose value is no more and no less than exactly one language tag), polyglot markup declares both the lang and the xml:lang attributes on the root element. For more information, see Language Attributes. Note As a general practice and for the sake of expediency and simplicity, polyglot markup may always include both the xml:lang as well as the lang attributes on the root element. [[ I believe this takes care of this bug, so I am resolving it as FIXED. As always, thanks for your help. ELiot
mass-move component to LC1