DITA Proposed Feature # 11

Create elements for attributes with translatable text.

Longer description

The problem: There are several attributes in DITA that are meant to hold free text. There is no way to reuse the values inside these attributes, or to make use of common text inside the attributes. For example, the navtitle attribute on topicrefs often contains reusable text such as product names, but this common text must be entered in every attribute.

The solution: Add elements for each of the text attributes, and deprecate the use of the attributes.

Discussion:

Scope

Trivial. Need to add several elements to the DTDs and schemas. Add processing capabilities to check for elements prior to checking for attributes.

Use Case

There will be elements for text that is currently stored in attributes. This will make it possible to reuse the values, or to reuse text within those values. For example, the navtitle attribute content will be moved into an elements (here called navtitle). It will then be possible to use conref within the navtitle element, so that common product names do not have to be stored inside the attributes.

Technical Requirements

There will be changes to the DTDs, Schemas, and to processing. Changes to the DTD and Schemas will be relatively minor. Changes to processing will be slightly more involved but still minor.

The following attributes are candidates to be updated:

All of the new elements should have content models of %words.cnt;. All will have the attributes %univ-atts;, keyref, and outputclass.

Costs

The TC will need to spend time to agree upon element names and content models. Implementations will need to adjust processing to recognize both the original attribute values, as well as the new elements. Implementations will also need to adjust processing for existing elements in the <lq> element.

Benefits

Users will be able to reuse text more easily. This will lead to greater consistency in documentation, and easier maintenance for DITA users. Most users, if not all users, would make use of this feature. Users have complained about the current design, and expect to save time and annoyance with elements rather than attributes.

Time Required

A day to make the DTD changes and fully test them. Also one day to update related processing in the DITA Open Toolkit. Other implementations will also need to be updated.