A brief, perhaps placeholder, proposal for DITA 1.2 to support
implementation-specific attributes on arbitrary elements.
--Dana
DITA Proposed Feature
Implementation-Specific Attributes
Allow DITA adopters to add implementation-specific metadata
attributes to any element that can contain a data element, or be
referred to by a data-about element.
Longer description
Problem
DITA currently provides the data and data-about elements to hold
arbitrary, implementation-specific metadata about most if not all of
its elements.
Many implementation prefer to hold such metadata in attributes
instead, especially when the metadata is maintained by automated
processes, and not by authors.
Such an approach is isomorphic with allowing metadata in data and
data-about elements. It is hard to explain or justify why DITA adopters
are not given a choice between putting their metadata in elements, or
putting it in attributes, as they prefer.
Solution
Allow DITA adopters to add implementation-specific attributes to
arbitrary any element that can either contain the data element, or be
referred to by the data-about element.
DITA toolkits would provide transforms to change any non-standard
attributes they find into data or data-about elements with a name
attribute of the same name as the implementation-specific attribute,
and a value attribute having the same textual value as the
implementation-specific attribute has.
DITA toolkits would provide a method of transforming data and
data-about attributes whose names match implementation-specific
attributes back into those attributes.
Scope
Minor. Data and data-about elements already provide this
functionality. Implementation-specific attributes merely more them to a
slightly different place in the document type model.
Costs
- Documenting the new alternative.
- Updating existing generalization/respecialization tools, or new
renaming tools, to make the transforms.
Benefits
Major. DITA gains much greater implementation flexibility, making it
easier to adopt.
Time Required
A day for the documentation.