Extensible metadata attributes.
Allow document type authors to incorporate new attributes that can be used for filtering and flagging. Since the new attributes change the document model, their presence in the document type needs to be signalled to processes that care about that sort of thing (eg conref, generalization, respecialization). The proposed solution is to define a new global attribute, @props, and a new specialization capability, domain specialization of attributes. The new specialization capability would only be supported for the new @props attribute in DITA 1.1 but could be considered for wider adoption in future releases unless a better mechanism for adding attributes emerges.
Note that each base attribute we make specializable will require improved processing support to allow equivalent processing of both specialized and generalized forms of the content. This requirement currently addresses required changes to create a new "props" base attribute from which we can specialize the other metadata/profiling attributes. Equivalent work would be necessary for each attribute we so enable. For example, if we wanted to enable @href for specialization, we would need to define specialization and generalization rules for the attribute, and improve @href processing to handle both specialized and generalized forms.
Change to the architectural specification to allow specialization of new attributes off of existing ones, following domain model described above.
Define syntax for generalized attribute values that allows for continued processing and roundtripping, following syntax in otherprops for grouping values.
Replace existing section of specification on how to "break" architecture to get attribute specialization.
Add a "props" attribute to the architecture, from which the other metadata attributes (platform, product, audience, otherprops) will be specialized.
Add documentation for attribute-only domains, with syntax for expressing them in the domains attribute (for example by putting an "a" in front of a domain ancestry list)
Ensure all attributes are expressed in entities to allow domain-based expansion/specialization (DTDs); document equivalent mechanism for schemas
Formalize and document ditaval format, including logic for filtering, flagging, ignoring, or passing through values in the props attribute or in attributes specialized from the props attribute
Time required for design should hopefully be minimal. There will be more work by the open-source toolkit to enhance existing transforms to handle attribute generalization and respecialization, and make the conditional processing logic specialization-aware. If we want to make the process completely enabled for all attributes, we will want to add a standard routine that makes sure generalized attributes are processed correctly (ie any info added to support round-tripping will be ignored by output processes).
Many people would make use of this. It is consistently a highly rated requirement. For some, this would remove a major barrier to DITA adoption.
3 1-hour meetings to review requirements
3 1-hour meetings to agree on solution
2 days to complete document solution