Specializations (previous)
The Specialization area in the DITA community wiki allows users to submit specializations and to refine their descriptions. A page format for this has not yet been established.
The introduction to specialization for this area discusses four main subjects:
What is specialization?
What purposes are there for specialization? (TBD)
How does the structure of this area reflect those purposes?(TBD)
How does one add a specialization, or contribute to one? (TBD)
What is specialization?
Specialization is an operation that defines new information types and new elements in a disciplined manner. To become a responsible specializer, it is important to develop a very clear understanding of the relationship between information types and elements.
(Segue to a new topic, for the following text.)
The Darwin Information Typing Architecture (DITA) standard provides a variety of XML elements that can be used to mark up information for publication or further processing.
Each element is designed to convey a certain type of information. The information that is conveyed may be contained in the name of the element, the attributes of the element, the content of the element, or some combination of these.
The ability of elements to characterize information has a supporting abstraction: an information type that is implemented by the element. Each information type is defined by a structural or semantic criterion. The information type is the collection of all information that is appropriately described by that criterion.
When we have a particular type of information to convey, we use the corresponding element to mark up that information. An individual instance of an element, with its content, conveys a unit of information that meets the criterion of the information type.
For example, the information type "task" is supported by the DITA element <task>. The <task> element enables users to convey task information. Or, more formally, the markup that is defined for <task> is designed to enable users to convey information that meets the criteria for the information type "task". The criteria for the DITA information type "task" are defined by the DITA architecture, the DITA language reference, and by community norms.
(Return to main topic.)
Specialization is the ability to re-use an existing information type with variations that are clearly derived from the original design. The specialized version of the information type has characteristics that limit the range of applications that it can be used for, but make it better-suited for use within that limited range than the original.
The Darwin Information Typing Architecture (DITA) standard provides systematic support for specialization of information types, in support of an overarching architectural approach: to permit good designs for information to be reused wherever they are applicable.
To implement this idea at the language level, the DITA specialization mechanism makes it possible to define a new element that is a restriction of an existing element. The new element has a different name. It may have fewer attributes, fewer values for particular attributes, a more constrained grammar for the permitted content, or some combination of these.
The default processing for a specialized element is the same as the processing for the element that it is based on, by a simple fall-back mechanism. If specialized processing is defined that is triggered by particular properties of the specialized element, then that specialized processing overrides the default processing.
The customary way to define a specialization is to provide a specialization module. This is a collection of declarations of new elements. The declarations specify what existing element each new element is based on, and what restrictions are added.
The specialization area of the DITA community wiki provides a place for specializers to post and discuss new specializations. It provides a place for users of specializations to remark upon and inquire about the application of published specializations. As new ideas are proposed by users and specializers, they can be reflected in updates within this area. However, you are asked to keep in mind that implications for the base DITA language and architecture should be brought to the attention of the DITA Technical Committee.
- Login to post comments
- 2835 reads