Changes from DITA 1.1 to DITA 1.2
DITA 1.2 added a number of new features to DITA, including indirect addressing using
map-defined keys; the ability to define content-model constraints for DITA document
types; specializations for learning content and the machine industry; and taxonomies,
ontologies, and controlled vocabularies. Other refinements include extended markup
for
glossaries and terminology.
New features
The following features are new in DITA 1.2:
- Keys and key references.
- Constraint modules. Constraint modules allow base content models to be further restricted without the need for specialization. For example, a constraint module can make optional elements required or disallow optional elements in a specific content model.
- Topic and map specializations for learning and training information, including interactive assessments.
- New elements for use with glossary entry topics for more complete description of terms, definition of acronyms, and so on.
- New map specialization for defining controlled vocabularies and taxonomies.
- New machine-industry task specialization.
- New general-task information type.
New element types
The following base element types are new in DITA 1.2:
- <text>
- Allowed in most contexts where text is allowed but neither <ph> nor <keyword> are allowed. Enables reuse of text in almost any context.
- <bodydiv>
- Allows creation of untitled containers within topic bodies. Intended primarily for specialization.
- <sectiondiv>
- Allows creation of untitled containers within sections. Intended primarily for specialization.
- <keydef>
- Topicref specialization for defining keys. Sets the default value for the processing-@role attribute to "resource-only".
- <mapref>
- Topicref specialization for referring to DITA maps. Sets the default value for the @format attribute to "ditamap".
- <topicset>
- Used to define sets of topicrefs that represent an atomic unit of reusable navigation structure. Requires the @id attribute be specified.
- <topicsetref>
- References a <topicset> element. Enables preservation of the identity of the referenced topic set.
- <anchor>
- Defines a point within a map to which <topicref> elements can be bound using the <anchorref> element.
- <anchorref>
- "Pushes" one or more <topicref> elements onto an anchor point defined by an <anchor> element. Similar to a conref push but allows the relationship to be managed dynamically by the renderer.
Refinements to maps
- Map elements can use the <title> element in place of the @title attribute.
- Relationship table elements can have <title> as an optional first child.
- Topicref elements can use the <navtitle> element in place of the @navtitle attribute.
- Maps and topicrefs can now contain the same metadata elements as topic prologs.
- New <topicref> attribute named @processing-role. Indicates whether or not a topic reference contributes to the navigation structure of the containing map.
Refinements to content references
- Content references can now point to ranges of elements. For example, a single content reference from a <step> element can include a sequence of <step> elements.
- Content references can "push" elements into a target context, allowing unilateral augmentation of topics from other topics. For example, given a base topic with generic content, a using map could include both the generic topic and a separate topic that uses conref push to add map-specific content to the generic topic.
- Content reference resolution can be deferred so that it is done later in a rendering process or completely deferred so that it can be done by a separate delivery mechanism, for example, Eclipse information centers.
Refinements to topic elements
- The base task topic type has a more relaxed content model. This enables creation of a wider variety of specialized tasks, including task specializations that do not have formal markup for individual steps. The strict-task document type integrates a constraint module that imposes the same constrained content model as defined in the DITA 1.1 task topic type.
- A number of content elements allow the new @keyref attribute, including the <ph>, <keyword>, and <term> elements. When using the @keyref attribute, these elements can get their effective content from the key-defining <topicref> element and can also be treated as navigation links to the resource pointed to by the key-defining <topicref> element, if any. For example, a <term> element can use @keyref to link to the glossary entry topics for the term.
- The <image> element takes the new @scalefit attribute, which indicates whether or not the image should be scaled to fit the presentation context.
- The <draft-comment> element is now allowed in most contexts.
- The <figgroup> element now allows <data> as a subelement.
Refinements to specialization
- Structural and domain vocabulary modules can now both be listed in the @domains attribute. Structural modules can depend on and specialize elements from domains. For example, a structural domain for reference topics for a specific programming language could depend on the Programming domain (pr-d) and specialize elements from that domain.
- Information architects can indicate whether the use of a given vocabulary module requires strict or weak checking of content reference constraints.
- The implementation patterns for vocabulary modules have been refined. In particular, each element type now defines a separate parameter entity for its content model and attribute list, allowing per-element configuration of content models and attribute lists through constraint modules.
Other refinements
- The <dita> element now has the @DITAArchVersion attribute.
- A number of processing details have been clarified where they were underspecified in DITA 1.1.
- Most attributes that had enumerated values in DITA 1.1 are now unenumerated, allowing specializations to define different enumerations if they choose.