Non-normative information : Changes from previous versions : Changes from DITA 1.1 to DITA 1.2
   
Changes from DITA 1.1 to DITA 1.2
(Non-normative) DITA 1.2 adds a number of new features to DITA, including indirect addressing via 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. See Key-based addressing.
Constraint modules. Constraint modules allow base content models to be further constrained without the need for specialization. For example, a constraint module can make optional elements required or disallow optional elements in a specific content model. See Constraint domains.
Topic and map specializations for learning and training information, including interactive assessments. See the architectural specification for learning and training content.
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. See subjectScheme.
New machine-industry task specialization. See Machinery task topic.
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 topicset.
<anchor>
Defines a point within a map to which topicrefs can be bound using the <anchorref> element.
<anchorref>
"Pushes" one or more topicrefs 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 OASIS-defined task shell 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.