OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

dita-translation message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Updated proposal - xml:lang attribute

Hi all,

Here is my updated proposal. I've added the use case JoAnn sent to the list,
and also clarified the behavior of maps and conflicts between map and topic.
Please try to review before our meeting so we can close this proposal today.

Best Regards,

Gershon L Joseph
Member, OASIS DITA and DocBook Technical Committees
Director of Technology and Single Sourcing
Tech-Tav Documentation Ltd.
office: +972-8-974-1569
mobile: +972-57-314-1170
Title: Proposal for xml:lang Attribute

Proposal for xml:lang Attribute




Specifies the language and locale of the element content. The intent declared with xml:lang is considered to apply to all attributes and content of the element where it is specified, unless overridden with an instance of xml:lang on another element within that content. When no xml:lang value is supplied, the processor should assume a default value.

This attribute must be set to a language identifier, as defined by IETF RFC 3066 (http://www.ietf.org/rfc/rfc3066.txt) or successor.

Data Type


Default Value

Not set



Recommended Usage

For a DITA document that contains a single language, the highest level element containing content should always set the xml:lang attribute to the language (and optionally locale) that applies to the document. Since the ditabase element does not support the xml:lang element, the highest level element that should set the xml:lang attribute is the topic element (or derivatives at the same level).

For a DITA document that contains more than one language, the highest level element should always set the xml:lang attribute to the primary language (and optionally locale) that applies to the document. Wherever an alternate language occurs in the document, the element containing text in the alternate language should set the xml:lang attribute appropriately. The above way of overriding the default document language applies to both block and inline elements that use the alternate language.

While the Unicode standard provides for all languages to be encoded without the need for markup, using markup is strongly recommended to make the document as portable as possible. By using markup, the document can be processed by applications that do not fully implement the Unicode standard. In addition, the marked-up document can be read and understood by humans. Finally, when updating the document, the boundaries of each language are clear, which makes it much easier for the author to update the document.

The xml:lang attribute can be specified on the map element. The expected language inheritance behavior on the map is similar to that on the topic. That is, the primary language for the map should be set on the map element (or assumed by the application if not explicitly set), and should remain in effect for all children unless a child specifies a different value for xml:lang.

In the case of a contradiction between the xml:lang value set on the map and the xml:lang value set on the topic, the setting on the topic overrides.

Use Case

Technical manuals frequently contain entire topics that are in languages different from the primary source languages of most of the topics. A manual in English, for example, may contain warnings that are in multiple languages, or have multiple topics of warnings each in individual languages. A manual may also contain regulatory notices as individual topics in different languages.

Therefore, a map might reference topics that are written in more than one language. In this case, each topic (or section within the topic) would use the xml:lang attribute to specify the language of the topic or section. Processors identify the language of each topic or section by the xml:lang attribute set in the topic file. However, it may be useful to specify the xml:lang attribute at the map level (on topicref elements) to help identify the language of each topic the map refers to.

Note to Vendors/Implementors

Applications that process DITA documents, whether at the authoring, translation, publishing, or any other stage, should fully support the Unicode algorithm to correctly implement the script for each language used in the document. The recommended practice is to identify every change in language via XML markup. When reading XML markup that embeds the Unicode script information (that is, a change in language), the embedded languages should be indicated via markup when the document is saved.

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]