Allow xml:lang anywhere, but restrict its effects to specific elements so that it is clear when implementations must preserve the language context.
xml:lang can appear anywhere and specifies a language for all children of its containing element. This is simple enough in the context of an XML document, but in the context of any other model, language tags need to be explicitly preserved for every property of each entry and feed.
Many Atom implementations will use RDBMs or object-oriented implementations, rather than XML DOMs to model and store atom content internally. In a RDBMs model, each language sensitive field will require an extra database column. It is clear that some fields, such as atom:updated, are not language dependant, while others such as atom:content are. Some fields are grey areas.
This proposal improves interoperability by ensuring that xml:lang is processed consistently by different implementations. It improves efficiency by allowing implementations to safely discard the language context for non-language specific fields.
In section 2, replace:
Any element in an Atom Document MAY have an xml:lang attribute, whose content indicates the natural language of the element's content. Requirements regarding the content and interpretation of xml:lang are specified in XML 1.0 [W3C.REC-xml-20040204] Section 2.12.
Any element in an Atom Document MAY have an xml:lang attribute, whose content sets the language content for the element and its children. The language context is only significant for the language sensitive constructs, which are indicated in this specification. Implementations MUST preserve the language context of language sensitive constructs. Requirements regarding the content and interpretation of xml:lang are specified in XML 1.0 [W3C.REC-xml-20040204] Section 2.12.
In section 3.1, add the sentence:
Except for the "type" attribute, the content of Text constructs is language sensitive.
In section 3.2.1, add the sentence:
The content of atom:name is language sensitive.
In section 4.6.5, add the sentence:
The content of the "title" attribute is language sensitive.
In section 4.13.3, add the sentence:
The content of the "label" attribute is language sensitive.
In section 4.15, add the sentence:
Except for the "type" and "src" attributes, the content of atom:content is language sensitive.
Depending on which extension paces are accepted, a statement on the default language sensitivity of extension elements will need to be made.
This proposal is based on draft-ietf-atompub-format-05.txt.