Darwin Information Typing Architecture (DITA) Version 1.2

OASIS Standard

1 December 2010

DITA Version 1.2 Specification

The Darwin Information Typing Architecture (DITA) 1.2 specification defines both a) a set of document types for authoring and organizing topic-oriented information; and b) a set of mechanisms for combining, extending, and constraining document types.

Chapter 1: Introduction

The Darwin Information Typing Architecture (DITA) 1.2 specification defines a set of document types for authoring and organizing topic-oriented information, as well as a set of mechanisms for combining, extending, and constraining document types.

The DITA 1.2 specification consists of the following components:

Document Type Definitions (DTDs) and XML Schemas (XSDs)
The DTDs and XSDs – along with the catalog files – define DITA markup for the DITA vocabulary modules and DITA document types. While the DTDs and XSDs should define the same DITA elements, the DTDs are normative if there is a discrepancy. If there is a discrepancy between the written specification (this document) and the DTDs, the written specification takes precedence.
DITA 1.2 written specification

While the DITA 1.2 documentation does contain some introductory information, it is intended neither as an introduction to DITA nor as a users guide. The intended audience of this documentation consists of implementers of the DITA standard, including tool developers and XML architects who develop specializations. The documentation contains several parts:

  • Architectural specification
  • Language reference
  • Conformance statement
  • Appendices

The DITA 1.2 written specification is available in the following formats: XHTML, CHM, PDF, and DITA source. The XHTML version is authoritative.

1.1.1: Terminology

The key words "must", "must not", "required", "shall", "shall not", "should", "should not", "recommend", "may", and "optional" in this document are to be interpreted as described in RFC 2119 (http://www.ietf.org/rfc/rfc2119.txt).
must
This word, or the terms "required" or "shall", mean that the definition is an absolute requirement of the specification.
must not
This phrase, or the phrase "shall not", means that the definition is an absolute prohibition of the specification.
should
This word, or the adjective "recommended", means that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.
should not
This phrase, or the phrase "not recommended", means that there may exist valid reasons in particular circumstances when the particular behavior is acceptable or even useful, but the full implications should be understood and the case carefully weighed before implementing any behavior described with this label.
may
This word, or the adjective "optional", means that an item is truly optional. One vendor may choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product while another vendor may omit the same item. An implementation which does not include a particular option must be prepared to interoperate with another implementation which does include the option, though perhaps with reduced functionality. In the same vein an implementation which does include a particular option must be prepared to interoperate with another implementation which does not include the option (except, of course, for the feature the option provides).

1.1.2: Normative references

Normative references are references to external documents or resources to which implementers of DITA must comply.
[Namespaces in XML 1.0]
T. Bray, D. Hollander, A. Layman, R. Tobin, and H. S. Thompson, editors, Namespaces in XML 1.0 (Third Edition), http://www.w3.org/TR/2009/REC-xml-names-20091208/, W3C Recommendation, 8 December 2009.
[Namespaces in XML 1.1]
T. Bray, D. Hollander, A. Layman, and R. Tobin, editors, Namespaces in XML 1.1 (Second Edition), http://www.w3.org/TR/2006/REC-xml-names11-20060816/, W3C Recommendation, 16 August 2006
[RFC 2119]
S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, http://www.ietf.org/rfc/rfc2119.txt, IETF RFC 2119, March 1997.
[RFC 3986]
T. Berners-Lee, R. Fielding, and L. Masinter, Uniform Resource Identifiers (URI): Generic Syntax, http://tools.ietf.org/html/rfc3986, IETF RFC 3986, January 2005.
[XML 1.0]
T. Bray, J. Paoli, C. M. Sperberg-McQueen, E. Maler, and F. Yergeau, editors, Extensible Markup Language (XML) 1.0 (Fifth Edition), http://www.w3.org/TR/REC-xml/, W3C Recommendation, 26 November 2008.
[XML 1.1]
T. Bray, J. Paoli, C.M. Sperberg-McQueen, E. Maler, F.Yergeau, and J. Cowan, editors, Extensible Markup Language (XML) 1.1 (Second Edition),http://www.w3.org/TR/2006/REC-xml11-20060816/, W3C Recommendation, 16 August 2006, edited in place 29 September 2006.
[XSD 1.0 Structures]
H. S. Thompson, D. Beech, M. Maloney, and N. Mendelsohn, editors, XML Schema Part 1: Structures Second Edition, http://www.w3.org/TR/xmlschema-1/, W3C Recommendation, 28 October 2004.
[XSD 1.0 Datatypes]
P. V. Biron and A. Malhotra, editors, XML Schema Part 2: Datatypes Second Edition, http://www.w3.org/TR/xmlschema-2/, W3C Recommendation, 28 October 2004.

1.1.3: Non-normative references

Non-normative references are references to external documents or resources that implementers of DITA might find useful.
Contents of this topic based on suggestions made on the e-mail list by Eliot Kimber, Seth Park, and Bruce Nevin. This topic must be reviewed. Here also are suggestions that I did not include:
  • IMS-QTI (Kimber)
  • Information mapping (Nevin)
  • SGML (Nevin) -- no ISO spec available without charge
  • Standards reflected in Machine Industry specializations (Kimber)
  • XNAL (Kimber)
[CSS 2.1]
B. Bos, T. Çelik, I. Hickson, and H.W. Lie, editors, Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification, http://www.w3.org/TR/CSS2/, W3C Candidate Recommendation, 08 September 2009.
[XHTML 1.0]
W3C HTML Working Group, XHTML 1.0 The Extensible HyperText Markup Language (Second Edition): A Reformulation of HTML 4 in XML 1.0, http://www.w3.org/TR/xhtml1/, W3C Recommendation, 26 January 2000, revised 1 August 2002.
[XHTML 1.1]
M. Altheim and S. McCarron, editors, XHTML 1.1 - Module-based XHTML, http://www.w3.org/TR/xhtml11/, W3C Recommendation, 31 May 2001.
[XPointer 1.0]
S. DeRose, E. Maler, and R. Daniel Jr., editors, XML Pointer Language (XPointer) Version 1.0, http://www.w3.org/TR/WD-xptr, W3C Last Call Working Draft, 8 January 2001.
[XLIFF 1.2]
OASIS Standard, XLIFF Version 1.2, 1 February 2008, http://docs.oasis-open.org/xliff/xliff-core/xliff-core.html.
[xml:tm 1.0]
A. Zydroń, R. Raya, and B. Bogacki, editors, XML Text Memory (xml:tm) 1.0 Specification, http://www.lisa.org/fileadmin/standards/xml-tm.html, The Localization Industry Standards Association (LISA) xml:tm 1.0, 26 February 2007.
[XQuery 1.0]
S. Boag, D. Chamberlin, M. F. Fernández, D. Florescu, J. Robie, and J. Siméon, editors, XQuery 1.0: An XML Query Language, http://www.w3.org/TR/xquery/, W3C Recommendation, 23 January 2007.
[XSL 1.0]
S. Adler, A. Berglund, J. Caruso, S. Deach, T. Graham, P. Grosso, E. Gutentag, A. Milowski, S. Parnell, J. Richman, and S. Zilles, Extensible Stylesheet Language (XSL) Version 1.0, http://www.w3.org/TR/2001/REC-xsl-20011015/, W3C Recommendation, 15 October 2001.
[XSL 1.1]
A. Berglund, editor, Extensible Stylesheet Language (XSL) Version 1.1, http://www.w3.org/TR/xsl11/, W3C Recommendation, 05 December 2006
[XSLT 1.0]
J. Clark, editor, XSL Transformations (XSLT) Version 1.0, http://www.w3.org/TR/xslt, W3C Recommendation, 16 November 1999
[XSLT 2.0]
M. Kay, editor, XSL Transformations (XSLT) Version 2.0, http://www.w3.org/TR/xslt20/, W3C Recommendation, 23 January 2007
[XTM 1.0]
S. Pepper and G. Moore, editors, XML Topic Maps (XTM) 1.0, http://www.topicmaps.org/xtm/index.html, TopicMaps.Org XTM 1.0, 2001.

1.1.4: Formatting conventions in the XHTML version of the specification

Given the size and complexity of the specification, it is not generated as a single XHTML file. Instead, each DITA topic is rendered as a separate XHTML file. The XHTML version of the specification uses certain formatting conventions to aid readers in navigating through the specification and locating material easily: Link previews and navigation links.
Link previews

The DITA 1.2 specification uses the content of the unique DITA <shortdesc> element to provide link previews for its readers. These link previews are visually highlighted by a border and a colored background. The link previews are not normative; they contain the content of the <shortdesc> element for the child topic, which is normatively rendered as the first paragraph of the child topic; the content is identical in both renditions. The link previews serve as enhanced navigation aids, enabling readers to more easily locate content. This usability enhancement is one of the ways in which the specification illustrates the capabilities of DITA and exemplifies DITA best practices.

The following screen capture illustrates how link previews are displayed in the XHTML version of the specification:

Link previews

Navigation links

To ease readers in navigating from one topic to another, each XHTML file generated by a DITA topic contains the following navigation links at the bottom:

Parent topic
Takes readers to the parent topic, which the topic referenced by the closest topic in the containment hierarchy
Previous topic
Takes readers to the previous topic in the reading sequence
Next topic
Takes readers to the next topic in the reading sequence
Return to main page
Takes readers to the place in the table of contents for the current topic in the reading sequence

The following screen capture illustrates how navigation links are displayed in the XHTML version of the specification:

Navigation links
When readers hover over the navigation links, the short description of the DITA topic also is displayed.

Chapter 2: Architectural specification

The architectural specification provides information about how DITA is designed. It is divided into three sections: Base, technical content, and learning and training.

2.2.1: Architectural Specification: Base

Base DITA includes the topic, map elements, metadata, classification, and specialization elements. It also includes domains for hazard statement, typographic, and utility elements

The base section of the architectural specification contains the following parts:

  • An introduction, which provides background concepts and an overview of the architecture
  • The DITA markup section, which provides an overview of DITA topics, DITA maps, and DITA metadata
  • The DITA processing section, which provides descriptions of common DITA-processing expectations
  • The configuration, specialization, and constraints section, which provides details of the mechanisms that DITA provides for defining, extending, and constraining DITA document types

2.2.1.1: Introduction to DITA

The Darwin Information Typing Architecture (DITA) is an XML-based architecture for authoring, producing, and delivering topic-oriented, information-typed content that can be reused and single-sourced in a variety of ways. While DITA historically has been driven by the requirements of large-scale technical documentation authoring, management, and delivery, it is a standard that is applicable to any kind of publication or information that might be presented to readers, including interactive training and educational materials, standards, reports, business documents, trade books, travel and nature guides, and more.

DITA is designed for creating new document types and describing new information domains based on existing types and domains. The process for creating new types and domains is called specialization. Specialization enables the creation of very specific, targeted document-type definitions that still can share the common output transformations and design rules developed for more general types and domains; this is similar to how classes in an object-oriented system can inherit the methods of ancestor classes.

Because DITA topics are XML conforming, they can be readily viewed, edited, and validated using standard XML tools, although realizing the full potential of DITA requires using DITA-aware tools.

2.2.1.1.1: About the specification source

The DITA specification is authored as a DITA content set and published using the DITA Open Toolkit. It is an example of a complex document that is developed by a team of people and uses many DITA features, including key references (keyrefs) and content references (conrefs).

As a convenience for readers, the DITA specification is published in several packages which contain different combinations of required and optional modules. The ability to easily define, manage, and publish these packages is a result of using DITA for the specification source. The source files for the DITA specification are managed in a version control repository that is maintained by OASIS; they also can be downloaded from OASIS.

The PDF versions of the DITA specification were built using Antenna House XSL Formatter and RenderX XEP.

Add link to URL where the DITA source can be downloaded.
Update this topic to reflect the following:
  • Content of official specification overview page
  • Decisions about packaging that the TC made in February 2010

2.2.1.1.2: DITA terminology and notation

The DITA specification uses specific notation and terms to define the components of the DITA standard.
Notation

The following conventions are used throughout the specification:

attribute types
Attribute names may be preceded by @ to distinguish them from elements or surrounding text, for example, the @props or the @class attribute.
element types
Element names may be delimited with angle brackets (< and >) to distinguish them from surrounding text, for example, the <keyword> and the <prolog> element.

In general, the unqualified use of the term map or topic can be interpreted to mean "a <map> element and any specialization of a <map> element " or "a <topic> element or any specialization of a <topic> element."

Normative and non-normative information

The DITA specification contains normative and non-normative information:

Normative information
Normative information is the formal portion of the specification that describes the rules and requirements that make up the DITA standard and which must be followed.
Non-normative information
Non-normative information includes descriptions that provide background, examples, and other useful information that are not formal requirements or rules that must be followed. The terms non-normative and informative are used interchangeably.

All information in the specification should be considered normative unless it is an example, an appendix, or is explicitly labeled as informative or non-normative. Appendices are always non-normative, unless explicitly stated otherwise. The DITA specification contains examples to help clarify or illustrate specific aspects of the specification. Because examples are specific rather than general, they may not illustrate all aspects or be the only way to accomplish or implement an aspect of the specification. Therefore all examples are non-normative, unless explicitly stated otherwise.

Basic DITA terminology

The following terminology is used to discuss basic DITA concepts:

DITA attribute type
An attribute type that is one of the following:
  • One of the base attribute types that are defined by the DITA specification
  • A specialization of the either the @base or @props attribute
DITA document
An XML document that conforms to the requirements of this specification. A DITA document must have as its root element one of the following elements:
  • <map> or a specialization of the <map> element
  • <topic> or a specialization of the <topic> element
  • <dita>, which cannot be specialized, but which allows documents with multiple sibling topics
DITA document type
A unique set of structural modules, domain modules, and constraint modules that taken together provide the XML element and attribute declarations that define the structure of DITA documents. DITA document types normally are implemented using DITA document-type shells.
DITA document-type shell
A set of DTD or XSD declarations that implement a DITA document type by using the rules and design patterns that are included in the DITA specification. A DITA document-type shell includes and configures one or more structural modules, zero or more domain modules, and zero or more constraint modules. With the exception of the optional declarations for the <dita> element and its attributes, DITA document-type shells do not declare any element or attribute types directly.
DITA element
An XML element instance whose type is a DITA element type. DITA elements must exhibit a @class attribute that has a value that conforms to the rules for specialization hierarchy specifications.
DITA element type
An element type that is one of the following:
  • One of the base element types that are defined by the DITA specification
  • A specialization of one of the base element types
A DITA element type is declared in exactly one vocabulary module. DITA element types may only exhibit attributes that are DITA attribute types.
map instance
An occurrence of a map type in a document.
map type
An element type that defines a set of relationships among topic instances. The map type provides the root element and, through the contained element types, the substructure for the map instances. The map substructure provides hierarchy, group, and matrix organization of references to topic instances.
structural type instance
An occurrence of a topic type or a map type in a document.
topic instance
An occurrence of a topic type in a document.
topic type
An element type that defines a complete unit of content. The topic type provides the root element for the topic and, through the contained element types, the substructure for the topic instances. The root element of the topic type is not necessarily the same as the root element of a document type; document types may nest multiple topic types and may also declare non-DITA wrapper elements as the root element for compatibility with other processes.
Specialization terminology

The following terminology is used to discuss DITA specialization:

base content model
The content model of a DITA element before specialization or the application of constraints or extensions.
base type
An element or attribute type that is not a specialization. All base types are defined by the DITA specification.
extension element
Within a vocabulary module, an element type that can be extended, replaced, or constrained for use in a DITA document type.
generalization
The process by which a specialized element is transformed into a less-specialized ancestor element or a specialized attribute is transformed into a less-specialized ancestor attribute. The original specialization-hierarchy information may be preserved in the generalized instance, thus allowing the original specialized type to be recreated from the generalized instance.
restricted content model
For a DITA element type, a content model that has been restricted from the base content model for the element type by one or more of the following mechanisms:
  • Removing optional elements
  • Requiring optional elements
  • Ordering of unordered elements
  • Restricting repeatable (but optional) elements from repeating
Content models may be restricted through the use of constraint modules or through specialization.
selective domain extension
An extension that replaces an extension element with element types that are defined in an domain module, thus making the base type unavailable in the DITA document-type shell that configures the extension.
specialization
(1) The act of defining new element or attribute types as a semantic refinement of existing element or attribute types
(2) An element or attribute type that is a specialization of a base type
(3) A process by which a generalized element is transformed into one of its more specialized element types or a generalized attribute is transformed into a more specialized attribute.
specialization hierarchy
The sequence of element or attribute types, from the most general to most specialized, from which a given element or attribute type is specialized. The specialization hierarchy for a DITA element is formally declared through its @class attribute.
specialization parent
For a given DITA element type, the most specialized of its ancestors in its specialization hierarchy.
specialized attribute type
An attribute type that is defined as a semantic refinement of another attribute type. The attribute type must be specialized from either the @base or @props attribute, and its range of permissible values must be a subset of or identical to the values allowed by the original attribute type.
specialized element type
An element type that is defined as a semantic refinement of an existing element type. The content allowed by the specialized element type must be a subset of or identical to the content allowed by the original element type. Within a DITA document, all specialized element types must be refinements of one of the base element types, with the exception of elements that are used in the context of <foreign> or <unknown> elements.
structural type
A topic type or map type.
DITA modules

The following terminology is used to discuss DITA modules:

attribute domain module
A domain module that defines exactly one specialization of either the @base or @props attribute.
constraint module
A set of declarations that imposes additional constraints onto the element or attribute types that are defined in a specific vocabulary module.
domain module
A set of element types or an attribute type that supports a specific subject or functional area. Element types or attribute types in a domain can be integrated with topic types or map types to enhance semantic support for particular kinds of content. For example, the structural type <topic> declares the <keyword> element; when integrated with a domain for describing user interfaces, new keyword specializations (such as <wintitle>) become available wherever <keyword> was allowed in the original structural type.
element domain module
A domain module that defines one or more element types for use within maps or topics.
map module
A structural module that defines a single map type.
structural module
A vocabulary module that defines exactly one top-level map type or topic type. Structural modules may also define specializations of elements from domain modules.
topic module
A structural module that defines a single top-level topic type.
vocabulary module
A uniquely-named unit of element type or attribute type declaration. There are two types of vocabulary modules: structural modules and domain modules. For a given map type, topic type, or domain, there is exactly one vocabulary module that defines it.

The following figure illustrates the relationship between a DITA document, its DITA document-type shell, and the various vocabulary modules that it uses.

Instances, modules, and declarations
Shows the relationship between a DITA document, its DITA document-type shell, and the various document-type modules that it uses.

Linking and addressing terms

The following terminology is used to discuss linking and addressing terms:

key name
An identifier defined by a value of the @keys attribute. A key is bound to one or more of the following items:
  • A resource addressed by the <topicref> element or a specialization of the <topicref> element
  • An element contained with the <topicmeta> element of the <topicref> element or a specialization of the<topicref> element
key definition
A <topicref> element or specialization of a <topicref> element that specifies the @keys attribute and defines one or more key names.
key resolution context
The root map that establishes the context for resolving key references. For a given key-resolution instance, there is at most one root map that defines the effective value of the key space, as determined by the key definition precedence rules..
key space
The effective set of unique key names that are defined by a given key resolution context. Within a given key resolution context, a key name has at most one binding.
referenced element
An element that is referenced by another DITA element. See also referencing element.
Example

The following code sample is from the installation-reuse.dita topic. The <step> element that it contains is a referenced element; other DITA topics reference the <step> element by using the @conref attribute.

<step id="run-startcmd-script">
	<cmd>Run the startcmd script that is applicable to your operating-system environment.</cmd>
</step>

referencing element
An element that references another DITA element by specifying an addressing attribute. See also referenced element and addressing attribute
Example

The following <step> element is a referencing element. It uses the @conref attribute to reference a <step> element in the installation-reuse.dita topic.

<step conref="installation-reuse.dita#reuse/run-startcmd-script>
	<cmd/>
</step>

addressing attribute
An attribute, such as @conref, @conkeyref, @keyref, and @href, that specifies an address (a URI reference or a key reference).

2.2.1.1.3: Basic concepts

DITA has been designed to satisfy requirements for information typing, semantic markup, modularity, reuse, interchange, and production of different deliverable forms from a single source. These topics provide an overview of the key DITA features and facilities that serve to satisfy these requirements.
DITA topics
In DITA, a topic is the basic unit of authoring and reuse. All DITA topics have the same basic structure: a title and, optionally, a body of content. Topics can be generic or more specialized; specialized topics represent more specific information types or semantic roles, for example, <concept>, <task>, <reference>, or <learningContent>. See DITA topics for more information.
DITA maps
DITA maps are documents that organize topics and other resources into structured collections of information. DITA maps specify hierarchy and the relationships among the topics; they also provide the context in which keys are defined and resolved. DITA maps should have .ditamap file extensions. See DITA maps for more information.
Information typing
Information typing is the practice of identifying types of topics, such as concept, reference, and task, to clearly distinguish between different types of information. Topics that answer different reader questions (How ...? What is ...?) can be categorized with different information types. The base information types provided by DITA specializations (i.e., technical content, machine industry, and learning and training) provide starter sets of information types that can be adopted immediately by many technical and business-related organizations. See Information typing for more information.
DITA linking
DITA depends heavily on links. The purposes for which it provides links include defining the content and organization of publication structures (DITA maps), topic-to-topic navigation links and cross references, and reuse of content by reference. All DITA links use the same addressing facilities, either URI-based addresses or DITA-specific indirect addresses using keys and key references. See DITA linking for more information.
DITA addressing
DITA provides a number of facilities for establishing relationships among DITA elements and between DITA elements and non-DITA resources. All DITA relationships use the same addressing facilities irrespective of the semantics of the relationship established. DITA addresses are either direct, URI-based addresses, or indirect key-based addresses. Within DITA documents, individual elements are addressed by unique IDs specified on the common @id attribute. DITA defines two fragment identifier syntaxes for addressing DITA elements, one for topics and elements within maps and one for non-topic elements within topics. See DITA addressing for more information.
Content reuse
The DITA @conref, @conkeyref, @conrefend, and related attributes provide a mechanism for reuse of content fragments within DITA topics or maps. See Content reuse for more information
Conditional processing
Attribute-based profiling, also known as conditional processing or applicability, is the use of classifying metadata that enables the filtering, flagging, searching, indexing, and other processing based on the association of an element with one or more values in a specific classification domain. See Conditional processing for more information.
Configuration
A given DITA map or topic document is governed by a DITA document type that defines the set of structural modules (topic or map types), domain modules, and constraints modules that the map or topic can use. See Configuration for more information.
Specialization
The specialization feature of DITA allows for the creation of new element types and attributes that are explicitly and formally derived from existing types. The resulting specialization allows for the blind interchange of all conforming DITA content and a minimum level of common processing for all DITA content. It also allows specialization-aware processors to add specialization-specific processing to existing base processing. See Specialization for more information.
Constraints
Constraint modules define additional constraints for corresponding vocabulary modules in order to restrict content models or attribute lists for specific element types, remove extension elements from an integrated domain module, or replace base element types with domain-provided extension element types. Constraint modules do not and cannot change element semantics, only the details of how element types can be used in the context of a specific concrete document type. Because constraints can make optional elements required, documents that use the same vocabulary modules may still have incompatible constraints. Thus the use of constraints can affect the ability for content from one topic or map to be used directly in another topic or map. See Constraints for more information.

2.2.1.1.4: File naming conventions

DITA uses certain naming conventions and file extension for topics, maps, modules, and document-type implementation files.

Files that contain DITA content should use the following naming conventions:

DITA topics
  • *.dita (recommended)
  • *.xml
DITA maps
*.ditamap
Conditional processing profiles
profilename.ditaval

Files that define DITA document-type components must use the following naming conventions:

Document-type shell files
  • typename.dtd
  • typename.xsd

Where typename is the name of the intended root topic or map type defined by the document type shell or, as needed, a name that clearly identifies both the intended root map or topic type and distinguishes the document type shell from other shells for the same root type.

Note

For example, the OASIS-provided document-type shells for technical content include two different document-type shells for the task topic type: task.dtd and generalTask.dtd, where task.dtd includes the strict task body constraint module and generalTask.dtd does not.

DTD structural module files
  • typename.mod
  • typename.ent
DTD domain module files
  • typenameDomain.mod
  • typenameDomain.ent
DTD constraint module files
constraintnameConstraint.mod
Schema structural module files
  • typenameMod.xsd
  • typenameGrp.xsd
Schema domain module files
typenameDomain.xsd
Schema constraint module files
  • constraintnameConstraintMod.xsd
  • constraintnameConstraintIntMod.xsd

2.2.1.1.5: Producing different deliverables from a single source

DITA is designed to produce multiple deliverable formats from a single set of DITA content. This means that many rendition details are specified neither in the DITA specification nor in the DITA content; the rendition details are defined and controlled by the processors.
This topic was removed from the "Introduction to DITA" section. We need to ensure that all relevant content in this topic is covered in the applicable section.

Like many XML-based applications for human-readable documentation, DITA supports the separation of content from presentation. This is necessary when content is used in different contexts, since authors cannot predict how or where the material that they author will be used. The following features and mechanisms enable users to produce different deliverable formats from a single source:

DITA maps
Different DITA maps can be optimized for different delivery formats. For example, you might have a book map for printed output and another DITA map to generate online help; each map uses the same content set.
Specialization
The DITA specialization facility enables users to create the XML elements needed by a particular information set in order to provide appropriate rendition distinctions. In XML-based systems where presentation details are defined as styles bound to elements, the more precise and detailed the markup, the easier it is to define presentation rendering. Because the use of arbitrary specializations does not impede interchange or interoperability, DITA users can safely create the specializations demanded by their local delivery and rendition requirements, with a minimum of additional impact on the systems and business processes that depend on or use the content. While general XML practices suggest that element types should be semantic, specialization can be used to define element types that are purely presentational in nature. The highlighting domain is an example of such a specialization.
Conditional processing
Conditional processing makes it possible to have a topic or DITA map that contains delivery-specific content.
Content referencing
The conref mechanism makes it possible to construct delivery-specific maps or topics from a combination of generic components and delivery-context-specific components.
Key referencing
The keyref mechanism makes it possible to change variables for volatile content, redirect links, and reap the benefits of indirect addressing.
@outputclass attribute
The @outputclass attribute provides a mechanism whereby authors can indicate specific rendition intent where necessary. Note that the DITA specification does not define any values for the @outputclass attribute; the use of the @outputclass attribute is, by nature, processor specific.

While DITA is independent of any particular delivery format, it is a standard that supports the creation of human-readable content. As such, it defines some fundamental document components including paragraphs, lists, and table. When there is a reasonable expectation that such basic document components be rendered consistently, the DITA specification defines default or suggested renderings.

2.2.1.2: DITA markup

Topics and maps are the basic building blocks of the Darwin Information Typing Architecture (DITA). Metadata attributes and values can be added to DITA topics and maps, as well as to elements within topics, to allow for conditional publishing and content reuse.

DITA topics and maps are XML documents that conform to the XML specification. As such, they can be viewed, edited, validated, and processed with standard XML tools, although some DITA-specific features, such as content reference, key reference, and specialization require DITA-specific processing for full implementation and validation.

2.2.1.2.1: DITA topics

DITA topics are the basic units of DITA content and the basic units of reuse. Each topic contains a single subject. Topics may be of specific specialized information types, such as task, concept, or reference, or may be generic, that is, without a specified information type.

2.2.1.2.1.1: The topic as the basic unit of information

In DITA, a topic is the basic unit of authoring and reuse. All DITA topics have the same basic structure: a title and, optionally, a body of content. Topics can be generic or more specialized; specialized topics represent more specific information types or semantic roles, for example, <concept>, <task>, <reference>, or <learningContent>.

DITA topics consist of content units that can be as generic as sets of paragraphs and unordered lists or as specific as sets of instructional steps in a procedure or cautions to be considered before a procedure is performed. Content units in DITA are expressed using XML elements and can be conditionally processed using metadata attributes and values.

Classically, a DITA topic is a titled unit of information that can be understood in isolation and used in multiple contexts. It should be short enough to address a single subject or answer a single question but long enough to make sense on its own and be authored as a self-contained unit. However, DITA topics also can be less self-contained units of information, such as topics that contain only titles and short descriptions and serve primarily to organize subtopics or links or topics that are designed to be nested for the purposes of information management, authoring convenience, or interchange.

DITA topics are used as components of DITA maps. DITA maps enable topics to be organized in a hierarchy for publication. Large units of content, such as complex reference documents or book chapters, are created by nesting topic references in a DITA map. The same set of DITA topics can be used in any number of maps.

DITA topics also can be used and published individually; for example, one can represent an entire deliverable as a single DITA document that consists of a root topic and nested topics. This strategy can accommodate the migration of legacy content that is not topic-oriented; it also can accommodate information that is not meaningful outside the context of a parent topic. However, the power of DITA is most fully realized by storing each DITA topic in a separate XML document and using DITA maps to organize how topics are combined for delivery. This enables a clear separation between how topics are authored and stored and how topics are organized for delivery.

2.2.1.2.1.2: The benefits of a topic-based architecture

Topics enable the development of usable and reusable content.

While DITA does not require the use of any particular writing practice, the DITA architecture is designed to support authoring, managing, and processing of content that is designed to be reused. Although DITA provides significant value even when reuse is not a primary requirement, the full value of DITA is realized when content is authored with reuse in mind. To develop topic-based information means creating units of standalone information that are meaningful with little or no surrounding context.

By organizing content into topics that are written to be reusable, authors can achieve several goals:

  • Content is readable when accessed from an index or search, not just when read in sequence as part of an extended narrative. Since most readers do not read technical and business-related information from beginning to end, topic-oriented information design ensures that each unit of information can be read independently.
  • Content can be organized differently for online and print delivery. Authors can create task flows and concept hierarchies for online delivery and create a print-oriented hierarchy to support a narrative content flow.
  • Content can be reused in different collections. Since a topic is written to support random access (as by search), it should also be understandable when included as part of various product deliverables. Topics permit authors to refactor information as needed, including only the topics that apply to each unique scenario.
  • Content is more manageable in topic form whether managed as individual files in a traditional file system or as objects in a content management system.
  • Content authored in topics can be translated and updated more efficiently and less expensively than information authored in larger or more sequential units.
  • Content authored in topics can be filtered more efficiently, encouraging the assembly and deployment of information subsets from shared information repositories.

Topics written for reuse should be small enough to provide opportunities for reuse but large enough to be coherently authored and read. Since each topic is written to address a single subject, authors can organize a set of topics logically and achieve an acceptable narrative content flow.

2.2.1.2.1.2.1: Disciplined, topic-oriented writing

Topic-oriented writing is a disciplined approach to writing that emphasizes modularity and reuse of concise units of information: topics. Well-designed DITA topics can be reused in many contexts, as long as writers are careful to avoid unnecessary transitional text.
Conciseness and appropriateness

Readers who are trying to learn or do something quickly appreciate information that is written in a structure that is easy to follow and contains only the information needed to complete that task or grasp a fact. Recipes, encyclopedia entries, car repair procedures--all serve up a uniquely focused unit of information. The topic contains everything required by the reader.

Locational independence

A well-designed topic is reusable in other contexts to the extent that it is context free, meaning that it can be inserted into a new document without revision of its content. A context-free topic avoids transitional text. Phrases like "As we considered earlier ..." or "Now that you have completed the initial step ..." make little sense if a topic is reused in a new context in which the relationships are different or no longer exist. A well-designed topic reads appropriately in any new context because the text does not refer the reader outside the topic.

Navigational independence

Most print publications or web pages are a mixture of content and navigation. Internal links lead a reader through a sequence of choices as he or she navigates through a website. DITA supports the separation of navigation from content by assembling independent topics into DITA maps. Nonetheless, writers may want to provide links within a topic to additional topics or external resources. DITA does not prohibit such linking within individual topics. The DITA relationship table enables links between topics and to external content. Since it is defined in the DITA map, it is managed independently of the topic content.

Links in the content are best used for cross-references within a topic. Links from within a topic to additional topics or external resources should be avoided because they limit the reusability of the topic. To link from a term or keyword to its definition, use the DITA keyref facility to avoid creating topic-to-topic dependencies that are difficult to maintain. See Key-based addressing.

2.2.1.2.1.2.2: Transitional text solutions

Topic orientation does not mean that transitions cannot be authored in DITA. The key to providing both locational independence and intentional sequences is the adroit use of DITA markup features.

The print attribute on the topicref element includes the value, "printonly", which may be used to indicate that the topic be omitted when the DITA map is transformed to a format for which transitions are unnecessary. Consequently, a topic designated as "printonly" may be written in any style that serves as a transitional topic in the flow of printed information.

You can also use conditional text to insert transitional sequences into a map so that you can include or exclude the content of short descriptions or paragraphs at the end of a topic. However, if you share conditionally marked topics with other business partners or teams, you must instruct them on the proper runtime settings to enable the conditions to be used the way you intended.

DITA does not preclude authoring transitional text; it does provide an environment that allows you to tag and manage transitional elements apart from surrounding, topic-encapsulated information.

2.2.1.2.1.3: Information typing

Information typing is the practice of identifying types of topics, such as concept, reference, and task, to clearly distinguish between different types of information. Topics that answer different reader questions (How ...? What is ...?) can be categorized with different information types. The base information types provided by DITA specializations (i.e., technical content, machine industry, and learning and training) provide starter sets of information types that can be adopted immediately by many technical and business-related organizations.

Information typing has a long history of use in the technical documentation field to improve information quality. It is based on extensive research and experience, including Robert Horn's Information Mapping and Hughes Aircraft's STOP (Sequential Thematic Organization of Proposals) technique. Note that many DITA topic types are not necessarily closely connected with traditional Information Mapping.

Information typing is a practice designed to keep documentation focused and modular, thus making it clearer to readers, easier to search and navigate, and more suitable for reuse. Classifying information by type helps authors perform the following tasks:

  • Develop new information more consistently
  • Ensure that the correct structure is used for closely related kinds of information (retrieval-oriented structures like tables for reference information and simple sequences of steps for task information)
  • Avoid mixing content types, thereby losing reader focus
  • Separate supporting concept and reference information from tasks, so that users can read the supporting information if needed and ignore if it is not needed
  • Eliminate unimportant or redundant detail
  • Identify common and reusable subject matter

DITA currently defines a small set of well-established information types that reflects common practices in certain business domains, for example, technical communication and instruction and assessment. However, the set of possible information types is unbounded. Through the mechanism of specialization, new information types can be defined as specializations of the base topic type (<topic>) or as refinements of existing topics types, for example, <concept>, <task>, <reference>, or <learningContent>.

You need not use any of the currently-defined information types. However, where a currently defined information type matches the information type of your content, the currently defined information type should be used, either directly, or as a base for specialization. For example, information that is procedural in nature should use the task information type or a specialization of task. Consistent use of established information types helps ensure smooth interchange and interoperability of DITA content.

2.2.1.2.1.4: Generic topics

The element type <topic> is the base topic type from which all other topic types are specialized. All topics have the same basic structure.

For authors, typed content is preferred to support consistency in writing and presentation to readers. The generic topic type should only be used if authors are not trained in information typing or when a specialized topic type is inappropriate. The OASIS DITA standard provides several specialized topic types, including concept, task, and reference that are critical for technical content development.

For those pursuing specialization, new specialized topic types should be specialized from appropriate ancestors to meet authoring and output requirements.

2.2.1.2.1.5: Topic structure

All topics have the same basic structure, regardless of topic type: title, description or abstract, prolog, body, related links, and nested topics.

All DITA topics must have an XML identifier (the @id attribute) and a title. The basic topic structure consists of the following parts, some of which are optional:

Topic element
The topic element holds the required @id attribute and contains all other elements.
Title
The title contains the subject of the topic.
Alternate titles
Titles specifically for use in navigation or search. When not provided, the base title is used for all contexts.
Short description or abstract
A short description of the topic or a longer abstract with an embedded short description. The short description may be used both in topic content (as the first paragraph), in generated summaries that include the topic, and in links to the topic. Alternatively, the abstract lets you create more complex introductory content and uses an embedded short description element to define the part of the abstract that is suitable for summaries and link previews.
While short descriptions aren't required, they can make a dramatic difference to the usability of an information set and should generally be provided for all topics.
Prolog
The prolog is the container for topic metadata, such as change history, audience, product, and so on.
Body
The topic body contains the topic content: paragraphs, lists, sections, and other content that the information type permits.
Related links
Related links connect to other topics. When an author creates a link as part of a topic, the topic becomes dependent on the other topic being available. To reduce dependencies between topics and thereby increase the reusability of each topic, authors may use DITA maps to define and manage links between topics, instead of embedding links directly in each related topic.
Nested topics
Topics can be defined inside other topics. However, nesting requires special care because it can result in complex documents that are less usable and less reusable. Nesting may be appropriate for information that is first converted from desktop publishing or word processing files or for topics that are unusable independent from their parent or sibling topics.
The rules for topic nesting can be configured in a document-type shells. For example, the standard DITA configuration for concept topics only allows nested concept topics. However, local configuration of the concept topic type could allow other topic types to nest or disallow topic nesting entirely. In addition, the @chunk attribute enables topics to be equally re-usable regardless of whether they are separate or nested. The standard DITA configuration for ditabase document-type documents allows unrestricted topic nesting and may be used for holding sets of otherwise unrelated topics that hold re-usable content. It may also be used to convert DITA topics from non-DITA legacy source without first determining how individual topics should be organized into separate XML documents.

2.2.1.2.1.6: Topic content

The content of all topics, regardless of topic type, is built on the same common structures.
Topic body
The topic body contains all content except for that contained in the title or the short description/abstract. The topic body may be specialized to impose constraints appropriate for the specific topic type even when titles and prolog are generic, or the topic body may be generic where the topic title and prolog are specialized.
Sections and examples
The body of a topic may contain divisions, such as sections and examples. They may contain block-level elements like titles and paragraphs and phrase-level elements like API names or text. It is recommend that sections have titles, whether they are entered directly into the title element or rendered using a fixed or default title.
Either body divisions or untitled sections or examples may be used to delimit arbitrary structures within a topic body. However, body divisions may nest, but sections and examples cannot contain sections.
Sectiondiv
Sectiondiv allows for the arbitrary grouping of content within a section for the purpose of content reuse. The sectiondiv does not include a title. Content that requires a title should use section or example.
Bodydiv
Bodydiv allows for the arbitrary grouping of content within the body of a topic for the purpose of content reuse. The bodydiv does not include a title. Content that requires a title should use section or example.
Block-level elements
Paragraphs, lists, and tables are types of "block" elements. As a class of content, they can contain other blocks, phrases, or text, though the rules vary for each structure.
Phrases and keywords
Block-level elements can contain markup to label parts of a paragraph or parts of a sentence as having special semantic meaning or presentation characteristics, such as <uicontrol> or <b>. Phrases can usually contain other phrases and keywords as well as text. Keywords can only contain text.
Images
Images can be inserted to display photos, illustrations, screen captures, diagrams, and the like. At the phrase level, they can display trademark characters, icons, toolbar buttons, and the like.
Multimedia
With the object element, multimedia information may be added to display, for example, diagrams that can be rotated and expanded. With the <foreign> element, media may be included within topic content, e.g., SVG graphics, MathML equations, and so on.

2.2.1.2.1.7: Topic domains: Basic DITA

A DITA vocabulary domain defines a set of elements associated with a particular subject area or authoring requirement regardless of topic type. DITA incorporates three domains into the basic DITA content: typographic, utilities, and indexing. Other domains are incorporated into the DITA Technical Content and Learning and Training specializations.

The elements in a domain are defined in a domain module. A domain module can be integrated with a topic type to make the domain elements available within the topic type structure. The following domains are provided as part of basic DITA:

DITA topic domains: Basic DITA
Domain Description Short name Module name
Typographic For highlighting when the appropriate semantic element doesn't exist yet hi-d
highlightDomain.mod (DTD)
highlightDomain.xsd (Schema)
Utilities For providing imagemaps and other useful structures ut-d
utilitiesDomain.mod (DTD)
utilitiesDomain.xsd (Schema)
Indexing For extended indexing functions such as see and see-also indexing-d
indexingDomain.mod (DTD)
indexingDomain.xsd (Schema)

2.2.1.2.2: DITA maps

This topic collection contains information about DITA maps and the purposes that they serve. It also includes high-level information about DITA map elements, attributes, and metadata.

2.2.1.2.2.1: Definition of DITA maps

DITA maps are documents that organize topics and other resources into structured collections of information. DITA maps specify hierarchy and the relationships among the topics; they also provide the context in which keys are defined and resolved. DITA maps should have .ditamap file extensions.

Maps draw on a rich set of existing best practices and standards for defining information models, such as hierarchical task analysis. They also support the definition of non-hierarchical relationships, such as matrices and groups, which provide a set of capabilities that has similarities to Resource Description Framework (RDF) and ISO topic maps.

DITA maps use <topicref> elements (or specializations of the <topicref> element) to reference DITA topics, DITA maps, and non-DITA resources, for example, HTML and TXT files. The <topicref> elements can be nested or grouped to create relationships between the referenced topics, maps, and non-DITA files; the <topicref> elements can be organized into hierarchies in order to represent a specific order of navigation or presentation.

DITA maps impose an architecture on a set of topics. Information architects can use DITA maps to specify what DITA topics are needed to support a given set of user goals and requirements; the sequential order of the topics; and the relationships that exist among those topics. Because DITA maps provide this context for topics, the topics themselves can be relatively context-free; they can be used and reused in multiple different contexts.

DITA maps often represent a single deliverable, for example, a specific Web site, a printed publication, or the online help for a product. DITA maps also can be subcomponents for a single deliverable, for example, a DITA map might contain the content for a chapter in a printed publication or the troubleshooting information for an online help system. The DITA specification provides specialized map types; book maps represent printed publications, subject scheme maps represent taxonomic or ontological classifications, and learning maps represent formal units of instruction and assessment. However, these map types are only a starter set of map types reflecting well-defined requirements.

DITA maps establish relationships through the nesting of <topicref> elements and the application of the @collection-type attribute. Relationship tables may also be used to associate topics with each other based on membership in the same row; for example, task topics can be associated with supporting concept and reference topics by placing each group in cells of the same row. During processing, these relationships can be rendered in different ways, although they typically result in lists of "Related topics" or "For more information" links. Like many aspects of DITA, the details about how such linking relationships are presented is determined by the DITA processor.

DITA maps also define keys and provide the context in which key references are resolved. A <topicref> element (or specialized <topicref> such as <keydef>) may be used to define a key which binds that key name to a specified resource.

2.2.1.2.2.2: Purpose of DITA maps

DITA maps enable the scalable reuse of content across multiple contexts. They can be used by information architects, writers, and publishers to plan, develop, and deliver content.

DITA maps support the following uses:

Defining an information architecture
Maps can be used to define the topics that are required for a particular audience, even before the topics themselves exist. DITA maps can aggregate multiple topics for a single deliverable.
Defining what topics to build for a particular output
Maps reference topics that are included in output processing. Information architects, authors, and publishers can use maps to specify a set of topics that are processed at the same time, instead of processing each topic individually. In this way, a DITA map can serve as a manifest or bill of materials.
Defining navigation
Maps can define the online navigation or table of contents for a deliverable.
Defining related links
Maps define relationships among the topics they reference. These relationships are defined by the nesting of elements in the DITA map, relationship tables, and the use of elements on which the @collection-type attribute is set. On output, these relationships might be expressed as related links or the hierarchy of a table of contents (TOC).
Defining an authoring context
The DITA map can define the authoring framework, providing a starting point for authoring new topics and integrating existing ones.
Defining keys
Maps can define keys, which provide an indirect addressing mechanism that enhances portability of content. The keys are defined by <topicref> elements or specialization of <topicref> elements, such as <keydef>. The <keydef> element is a convenience element; it is a specialized type of a <topicref> element with the following attributes:
  • A required @keys attribute
  • A @processing-role attribute with a default value of "resource-only".
Maps also are the context for resolving key-based references, such as elements that specify the @keyref or @conkeyref attribute.

Specialized maps can provide additional semantics beyond those of organization, linking, and indirection. For example, the subjectScheme map specialization adds the semantics of taxonomy and ontology definition.

2.2.1.2.2.3: DITA map elements

A DITA map describes the relationships among a set of DITA topics. The DITA map and map group elements organize topics into hierarchies, groups, and relationships; they also define keys.
Map and map group elements

A DITA map is composed of the following elements:

map
The <map> element is the root element of the DITA map.
topicref

The <topicref> elements are the basic elements of a map. A <topicref> element can reference a DITA topic, a DITA map, or any non-DITA resource. A <topicref> element also can have a title, short description, and the same kind of prolog-level metadata that is available in topics.

The <topicref> elements can be nested to create a hierarchy, which can be used to define a table of contents (TOC) for print output, online navigation, and parent/child links. Hierarchies can be annotated using the @collection-type attribute to define a particular type of relationship, such as a set of choices, a sequence, or a family. These collection types can affect link generation, and they may be interpreted differently for different outputs.

reltable

Relationship tables are defined with the <reltable> element. Relationship tables can be used to define relationships between DITA topics or between DITA topics and non-DITA resources. In a relationship table, the columns define common attributes, metadata, or information type (for example, task or troubleshooting) for the resources referenced in that column. The rows define relationships between the resources referenced in different cells of the same row.

The <relrow>, <relcell>, <relheader>, and <relcolspec> elements are used to define the components of the relationship table. Relationships defined in the relationship table also can be further refined by using the @collection-type attribute.

topicgroup
The <topicgroup> element defines a group or collection outside of a hierarchy or relationship table. It is a convenience element that is equivalent to a <topicref> element with no @href attribute or navigation title. Groups can be combined with hierarchies and relationship tables, for example, by including a <topicgroup> element within a set of siblings in a hierarchy or within a table cell. The <topicref> elements so grouped can then share inherited attributes and linking relationships with no effect on the navigation or table of contents.
topicmeta
Most map-level elements, including the map itself, can contain metadata inside the <topicmeta> element. Metadata typically is applied to the element and its descendants.
topichead
The <topichead> element provides a navigation title; it is an convenience element that is equivalent to a <topicref> element with a navigation title but no @href attribute.
anchor
The <anchor> element provides an integration point that another map can reference in order to insert its navigation into the current navigation tree. For those familiar with Eclipse help systems, this serves the same purpose as the <anchor> element in that system. It may not be supported for all output formats.
navref
The <navref> element represents a pointer to another map which should be preserved as a transcluding link rather than resolved. Output formats that support such linking will integrate the referenced resource when displaying the referencing map to an end user.
keydef
Enables authors to define keys. This element is a convenience element; it is a specialization of <topicref> that sets the default value of the @processing-role attribute to resource-only. Setting the @processing-role attribute to resource-only ensures that the resource referenced by the key definition is not directly included in the navigation that is defined by the map that includes the key definition.
mapref
Enables authors to reference an entire DITA map, including hierarchy and relationship tables. This element is a convenience element; it is a specialization of <topicref> that sets the default value of the @format attribute to ditamap. The <mapref> element represents a reference from a parent map to a subordinate map.
topicset
Enables authors to define a branch of navigation in a DITA map so that it can be referenced from another DITA map.
topicsetref
Enables authors to reference a navigation branch that is defined in another DITA map.
anchorref
Enables authors to define a map fragment that is pushed to the location defined by an anchor.

Example of a simple map with a relationship table

The following example contains the markup for a simple relationship table:

<map>
...
<reltable>
  <relheader>
    <relcolspec type="concept"/>
    <relcolspec type="task"/>
    <relcolspec type="reference"/>
  </relheader>
  <relrow>
    <relcell>
      <topicref href="A.dita"/>
    </relcell>
    <relcell>
      <topicref href="B.dita"/>
    </relcell>
    <relcell>
      <topicref href="C1.dita"/>
      <topicref href="C2.dita"/>
    </relcell>
  </relrow>
</reltable>
</map>

A DITA-aware tool might represent the <reltable> graphically:

type="concept" type="task" type="reference"
A B
C1
C2

When the output is generated, the topics contain the following linkage:

A
Links to B, C1, and C2
B
Links to A, C1, and C2
C1, C2
Links to A and B
Example of a simple map that defines keys

The following example illustrates how keys can be defined:

<map>
	<keydef keys="dita-tc" href="dita_technical_committee.dita"/>
	<keydef keys="dita-adoption" href="dita_adoption_technical_committee.dita"/>
	...
</map>

The map also could be tagged in either of the following ways:

<topicref> element with @processing-role attribute set to "resource-only"
<map>
	<topicref keys="dita-tc" href="dita_technical_committee.dita" processing-role="resource-only"/>
	<topicref keys="dita-adoption" href="dita_adoption_technical_committee.dita" processing-role="resource-only"/>
	...
</map>
<topicref> element with @toc, @linking, and @search attributes set to "no"
<map>
	<topicref keys="dita-tc" href="dita_technical_committee.dita" toc="no" linking="no" search="no"/>
	<topicref keys="dita-adoption" href="dita_adoption_technical_committee.dita" toc="no" linking="no" search="no"/>
	...
</map>
Example added based on review #1 comment from Elliot Kimber. Exactly what do we want to communicate in this example?
  • Best practices for key definitions: Using a separate map, defining keys at beginning of map, etc.?
  • First key encountered is used?
  • That <keydef> is equivalent to <topicref processing-role="resource-only"> or setting @toc, @linking, and @search attributes to "no"?
Should the example include more information about why the keys are defined and how they would be resolved?
Example of a simple map that references another map

The following code sample illustrates how a DITA map can reference another DITA map:

<map>
	<title>DITA work at OASIS</title>
	<topicref href="oasis-dita-technical-committees.dita>
		<topicref href="dita_technical_committee.dita"/>
		<topicref href="dita_adoption_technical_committee.dita/>
	</topicref>
<mapref href"oasis-processes.ditamap"/>
...
</map>

The map also could be tagged in the following way:

<map>
	<title>DITA work at OASIS</title>
	<topicref href="oasis-dita-technical-committees.dita>
		<topicref href="dita_technical_committee.dita"/>
		<topicref href="dita_adoption_technical_committee.dita/>
	</topicref>
<topicref href"oasis-processes.ditamap" format="ditamap/>
...
</map>

With either of the above examples, during processing, the map is resolved in the following way:

<map>
	<title>DITA work at OASIS</title>
	<topicref href="oasis-dita-technical-committees.dita>
		<topicref href="dita_technical_committee.dita"/>
		<topicref href="dita_adoption_technical_committee.dita/>
	</topicref>
<-- Contents of the oasis-processes.ditamap file -->
<topicref href"oasis-processes.dita>
	...
</topicref>
...
</map>
Example of maps that use the <anchor> element and the @anchorref attribute

In this example, an anchor is defined with an ID of "a1".

<map>
  <title>MyComponent tasks</title>
  <topicref navtitle="Start here" href="start.dita" toc="yes">
    <navref mapref="othermap2.ditamap"/>
    <navref mapref="othermap3.ditamap"/>
    <anchor id="a1"/>
  </topicref>
</map>

The id on <anchor> can be referenced by the anchorref attribute on another map's <map> element. For example, the map to be integrated at that spot would be defined as follows.

<map anchorref="a1">
  <title>This map is pulled into the MyComponent task map</title>
  ...
</map>

2.2.1.2.2.4: DITA map attributes

DITA maps have unique attributes that are designed to control the way that relationships are interpreted for different output purposes. In addition, DITA maps share many metadata and linking attributes with DITA topics.
Attributes unique to DITA maps

DITA maps often encode structures that are specific to a particular medium or output, for example, Web pages or a PDF document. Attributes, such as @print and @toc, are designed to help processors interpret the DITA map for each kind of output. These attributes are not available in DITA topics; individual topics, once separated from the high-level structures and dependencies associated with a particular kind of output, should be entirely reusable regardless of the intended output format. The @collection-type and @linking attributes affect how related links are generated for topics that are referenced in the DITA map.

collection-type
The @collection-type attribute specifies how the children of a <topicref> element relate to their parent and to each other. This attribute, which is set on the parent element, typically is used by processors to determine how to generate navigation links in the rendered topics. For example, a @collection-type value of "sequence" indicates that children of the specifying <topicref> element represent an ordered sequence of topics; processors might add numbers to the list of child topics or generate next/previous links for online presentation. Where the @collection-type attribute is available on elements that cannot directly contain elements (such as <reltable> or <relcolspec>), the behavior of the attribute is reserved for future use.
linking

By default, the relationships between the topics that are referenced in a map are reciprocal:

  • Child topics link to parent topics and vice versa.
  • Next and previous topics in a sequence link to each other.
  • Topics in a family link to their sibling topics.
  • Topics referenced in the table cells of the same row in a relationship table link to each other. A topic referenced within a table cell does not (by default) link to other topics referenced in the same table cell.

This behavior can be modified by using the @linking attribute, which enables an author or information architect to specify how a topic should participate in a relationship. The following values are valid:

linking="none"
Specifies that the topic does not exist in the map for the purposes of calculating links.
linking="sourceonly"
Specifies that the topic will link to its related topics but not vice versa.
linking="targetonly"
Specifies that the related topics will link to it but not vice versa.
linking="normal"
Default value. It specifies that linking will be reciprocal (the topic will link to related topics, and they will link back to it).
Authors also can create links directly in a topic by using the <xref> or <link> elements, but in most cases map-based linking is preferable, because links in topics create dependencies between topics that can hinder reuse.

Note that while the relationships between the topics that are referenced in a map are reciprocal, the relationships merely imply reciprocal links in generated output that includes links. The rendered navigation links are a function of the presentation style that is determined by the processor.

toc
Specifies whether topics are excluded from navigation output, such as a Web site map or an online table of contents. By default, <topicref> hierarchies are included in navigation output; relationship tables are excluded.
navtitle
Specifies a navigation title. This is a shorter version of the title that is used in the navigation only. By default, the @navtitle attribute is ignored; it serves only to help the DITA map author keep track of the title of the topic.

Note

The @navtitle attribute is deprecated in favor of the <navtitle> element. When both a <navtitle> element and a navtitle attribute are specified, the <navtitle> element should be used.
locktitle

If locktitle is set to "yes", the <navtitle> element or @navtitle attribute is used if it is present. Otherwise, the navtitle is ignored and the navigation title is retrieved from the referenced file.

Note

The @navtitle attribute is deprecated in favor of the <navtitle> element. When both a <navtitle> element and a navtitle attribute are specified, the <navtitle> element should be used.
print
Specifies whether the topic should be included in printed output
search
Specifies whether the topic should be included in search indexes.
chunk
Specifies that the processor generates an interim set of DITA topics that are used as the input for the final processing. This can produce the following output results:
  • Multi-topic files are transformed into smaller files, for example, individual HTML files for each DITA topic.
  • Individual DITA topics are combined into a single file.
Specifying a value for the @chunk attribute on a <map> element establishes chunking behavior that applies to the entire map, unless overridden by @chunk attributes that are set on more specific elements in the DITA map. For a detailed description of the @chunk attribute and its usage, see Chunking.
copy-to

In most situations, specifies whether a duplicate version of the topic is created when it is transformed. This duplicate version can be either literal or virtual. The value of the @copy-to attribute specifies the uniform resource identifier (URI) by which the topic can be referenced by a @conref attribute, <topicref> element, or <xref> element. The duplication is a convenience for output processors that use the URI of the topic to generate the base address of the output. The @keys and @keyref attributes provide an alternative mechanism; they enable references to topics in specific-use contexts without making copies.

The @copy-to attribute also can be used to specify the name of a new chunk when topics are being chunked; it also can be used to determine the name of the stub topic that is generated from a <topicref> element that contains a title but does not specify a target. In both of those cases, no duplicate version of the topic is generated.

For information on how the @copy-to attribute can be used with the @chunk attribute, see Chunking.

processing-role
Specifies whether the topic or map referenced should be processed normally or treated as a resource that is only included in order to resolve key or content references.
processing-role="normal"
The topic is a readable part of the information set. It is included in navigation and search results. This is the default value for the <topicref> element.
processing-role="resource-only"
The topic should be used only as a resource for processing. It is not included in navigation or search results, nor is it rendered as a topic. This is the default value for the <keydef> element.
If the @processing-role attribute is not specified locally, the value cascades from the closest element in the containment hierarchy.
Attributes shared by DITA maps and DITA topics

The following metadata and reuse attributes are used by both DITA maps and DITA topics:

  • product, platform, audience, otherprops, rev, status, importance
  • dir, xml:lang, translate
  • id, conref, conrefend, conkeyref,, conaction
  • props, base
  • , search
DITA maps also use many of the following attributes that are used with <link> or <xref> elements in DITA topics:
  • format
  • href
  • keyref
  • scope
  • type
  • query

When new attributes are specialized from @props or @base as a domain, they may be incorporated into both map and topic structural types.

How the collection-type and linking attributes work in a relationship table

The following example illustrates how linkage is defined in a DITA map:

Simple linking example
<topicref href="A.dita" collection-type="sequence">
  <topicref href="A1.dita"/>
  <topicref href="A2.dita"/>
</topicref>
<reltable>
  <relrow>
    <relcell><topicref href="A.dita"/></relcell>
    <relcell><topicref href="B.dita"/></relcell>
  </relrow>
</reltable>

When the output is generated, the topics contain the following linkage:

A
Links to A1, A2 as children
Links to B as related
A1
Links to A as a parent
Links to A2 as next in the sequence
A2
Links to A as a parent
Links to A1 as previous in the sequence
B
Links to A as related

The following example illustrates how setting the @linking attribute can change the default behavior:

Linking example with the linking attribute
<topicref href="A.dita" collection-type="sequence">
  <topicref href="B.dita" linking="none"/>
  <topicref href="A1.dita"/>
  <topicref href="A2.dita"/>
</topicref>
<reltable>
  <relrow>
    <relcell><topicref href="A.dita"/></relcell>
    <relcell linking="sourceonly"><topicref href="B.dita"/></relcell>
  </relrow>
</reltable>

When the output is generated, the topics contain the following linkage:

A
Links to A1, A2 as children
Does not link to B as a child or related topic
A1
Links to A as a parent
Links to A2 as next in the sequence
Does not link to B as previous in the sequence
A2
Links to A as a parent
Links to A1 as previous in the sequence
B
Links to A as a related topic

2.2.1.2.2.5: Subject scheme maps

A subject scheme map enables adopters to create custom controlled values and to manage metadata attribute values for an organization or a project without having to write a DITA specialization.

Subject scheme maps use key definition to define a collection of controlled values rather than a collection of topics. The highest level of map that uses the set of controlled values must reference the subject scheme map in which those controlled values are defined.

A controlled value is a short, readable, and meaningful keyword that can abe used as a value in a metadata attribute. For example, the @audience metadata attribute may take a value that identifies the user group associated with a particular content unit. Typical user values for a medical-equipment product line might include therapist, oncologist, physicist, radiologist, and so on. In a subject scheme map, an information architect can define a list of these audience values. Authoring tools may use these lists of controlled values to provide value lists from which authors may select values when they are entering metadata.

If controlled values for a metadata attribute are defined using the subject scheme map, tools may give an organization a list of readable labels, a hierarchy of values to simplify selection, and a shared definition of the value.

Controlled values may be used to classify content for filtering and flagging at build time. They may also be used for retrieval and traversal of the content at run time if information viewers that provide such functionality are available.

Tools may validate controlled values for attributes by reference to the subject scheme map. As with all key definitions and references, the reference must appear in the highest map that makes use of the controlled values.

Defining a list of controlled values

A specialized DITA map, <subjectScheme> is used to define a collection of controlled values. Each controlled value is defined using a specialized topic reference, called <subjectdef>. The <subjectdef> is used to define both a category and a list of controlled values. The top-level <subjectdef> defines the category and the children define the controlled values. The following example illustrates the use of <subjectdef> to define controlled values for a group of users:

<subjectScheme>
<!-- Pull in a scheme that defines audience user values -->
    <subjectdef keys="users">
        <subjectdef keys="therapist">
        <subjectdef keys="oncologist">
        <subjectdef keys="radiationphysicist">
        <subjectdef keys="radiologist">
    </subjectdef>

 <!-- Define an enumeration of the audience attribute, equal to
       each value in the users subject. This makes the following values
       valid for the audience attribute: therapist, oncologist, physicist, radiologist -->
     <enumerationdef>
         <attributedef name="audience"/>
         <subjectdef keyref="users"/>
     </enumerationdef>...
</subjectScheme>

Within the <subjectdef> element

  • <navtitle> can provide a more readable value name
  • <shortdesc> within <topicmeta> can provide a definition

An enumeration may be defined with hierarchical levels by nesting subject definitions. If filtering or flagging excludes "therapist" and does not explicity identify "novice", processing should apply filtering to all subsets of therapist. If filtering includes "novice" but does not explicity exclude "therapist", processing should include the general therapist content because it applies to "novice". If flagging explicity includes "therapist" but is not set explicity for "novice", processing should apply the "therapist" flag to the "novice" content as a special type of therapist.

<subjectScheme>
    <subjectdef keys="users">
        <subjectdef keys="therapist">
            <subjectdef keys="novice"/>
            <subjectdef keys="expert"/>
        </subjectdef>
        <subjectdef keys="oncologist">
        <subjectdef keys="physicist">
        <subjectdef keys="radiologist">
    </subjectdef>

The <subjectdef> element can use an @href attribute to refer to a more detailed definition of the subject. For example, the value of "oncologist" could refer to an encyclopedia entry that describes the oncologist role in medicine.

<subjectdef keys="oncologist" href="encyclopedia/oncologist.dita"/>
These definitions may help to clarify the meaning of a value, especially when different parts of an organization may use the same term differently. An editor may support drilling down to the subject definition topic for a detailed explanation of the subject. DITA output formatting may produce a help file, PDF, or other readable catalog for understanding the controlled values.

Validating metadata attributes against a subject scheme

After locating the scheme, editors may validate an attribute against the bound enumeration, preventing users from entering misspelled or undefined values. A map editor may validate the audience attribute in a map against the scheme. A processor may check that all values listed for an attribute in a DITAVAL file are bound to the attribute by the scheme before filtering or flagging.

Scaling a subject scheme to define a taxonomy

A taxonomy differs from a controlled values list primarily in the degree of precision with which the metadata values are defined. A set of controlled values lists is sometimes regarded as the simplest form of taxonomy. Regardless of whether the goal is a simple list of controlled values or a taxonomy:

  • The same core elements are used (subjectScheme, subjectdef, and schemeref).
  • A category and its subjects can have a binding that enumerates the values of a metadata attribute.

Beyond the core elements and the attribute binding elements, sophisticated taxonomies can take advantage of some optional elements in the scheme. Most of these optional elements make it possible to specify more precise relationships among subjects.

The <hasNarrower>, <hasPart>, <hasKind>, <hasInstance>, and <hasRelated> elements specify the kind of relationship in a hierarchy between a container subject and its contained subjects. The following example defines San Francisco as an instance of a city but a geographic part of California.

<subjectScheme>
  <hasInstance>
    <subjectdef keys="city" navtitle="City">
       <subjectdef keys="la" navtitle="Los Angeles"/>
       <subjectdef keys="nyc" navtitle=New York City"/>
       <subjectdef keys="sf" navtitle="San Francisco">
    </subjectdef>
    <subjectdef keys="state" navtitle="State">
       <subjectdef keys="ca" navtitle="California"/>
       <subjectdef keys="ny" navtitle=New York"/>
    </subjectdef>
   </hasInstance>
   <hasPart>
      <subjectdef keys="place" navtitle="Place">
        <subjectdef keys="ca">
          <subjectdef keys="la">
          <subjectdef keys="sf">
      </subjectdef>
      <subjectdef keys="ny">
         <subjectdef keys="nyc">
      </subjectdef>
    </hasPart>
 </subjectScheme>

Sophisticated tools can use this scheme to associate content about San Francisco with related content about other California places or with related content about other cities (depending on the interests of the current user).

The scheme can also define relationships between subjects that are not hierarchical. For instance, cities sometimes have "sister city" relationships. The example scheme could add a subjectRelTable element to define these associative relationships, with a row for each sister-city pair and the two cities in different columns in the row.

While users who have access to sophisticated processing tools benefit from defining taxonomies with this level of precision, other users can safely ignore this advanced markup and define taxonomies with hierarchies of subjectdef elements that aren't precise about the kind of relationship between the subjects.

2.2.1.2.3: DITA metadata

Metadata can be applied in both DITA topics and DITA maps. Metadata that is assigned in DITA topics can be supplemented or overridden by metadata that is assigned in a DITA map; this design facilitates the reuse of DITA topics in different DITA maps and use-specific contexts.

2.2.1.2.3.1: Metadata elements

The metadata elements, many of which map to Dublin core metadata, are available in topics and DITA maps. This design enables authors and information architects to use identical metadata markup in both topics and maps.

The <metadata> element is a wrapper element that contains many of the metadata elements. In topics, the <metadata> element is available in the <prolog> element. In maps, the <metadata> element is available in the <topicmeta> element.

In DITA maps, the metadata elements also are available directly in the <topicmeta> element. However, it is recommended to use the metadata elements available in the <metadata> element, as it better supports reuse between topics and maps. Collections of metadata can be shared between DITA maps and topics by using the conref or keyref mechanism.

In general, specifying metadata in a <topicmeta> element is equivalent to specifying it in the <prolog> element of a referenced topic. The value of specifying the metadata at the map level is that the topic then can be reused in other maps where different metadata might apply. Many items in the <topicmeta> element also cascade to nested <topicref> elements within the map.

Note

Not all metadata elements are currently available in the <metadata> element. However, they are available in either the topic <prolog> element or the map <topicmeta> element.

2.2.1.2.3.2: Metadata attributes

Certain attributes are common across most DITA elements. These attributes support content referencing, conditional processing, application of metadata, and globalization and localization.

2.2.1.2.3.2.1: Conditional processing attributes

The metadata attributes specify properties of the content that can be used to determine how the content should be processed. Specialized metadata attributes can be defined to enable specific business processing needs, such as semantic processing and data mining.

Metadata attributes typically are used for the following purposes:

  • Filtering content based on the attribute values, for example, to suppress or publish profiled content
  • Flagging content based on the attribute values, for example, to highlight specific content on output
  • Performing custom processing, for example, to extract business-critical data and store in it a database

Typically @audience, @platform, @product, @otherprops, @props, and specializations of the @props attributes are used for filtering; the same attributes plus the @rev attribute are used for flagging. The @status and @importance attributes, as well as custom attributes specialized from @base, are used for application-specific behavior, such as identifying metadata to aid in search and retrieval.

Filtering and flagging attributes

The following conditional-processing attributes are available on most elements:

product
The product that is the subject of the discussion.
platform
The platform on which the product is deployed.
audience
The intended audience of the content.
rev
The revision or draft number of the current document. (This is typically used only for flagging.)
otherprops
Other properties that do not require semantic identification.
props
A generic conditional processing attribute that can be specialized to create new semantic conditional processing attributes.

In general, a conditional processing attribute provides a list of one or more values separated with whitespace. For instance, audience="administrator programmer" qualifies the content as applying to administrators and programmers.

Other metadata attributes

Other attributes are still considered metadata on an element, but they are not designed for filtering or flagging.

importance
The degree of priority of the content. This attribute takes a single value from an enumeration.
status
The current state of the content. This attribute takes a single value from an enumeration.
base
A generic attribute that has no specific purpose, but is intended to act as the basis for specialized attributes that have a simple value syntax like the conditional processing attributes (one or more alphanumeric values separated by whitespace).
outputclass
Provides a label on one or more element instances, typically to specify a role or other semantic distinction. As the @outputclass attribute does not provide a formal type declaration or the structural consistency of specialization, it should be used sparingly, usually only as a temporary measure while a specialization is developed. For example, <uicontrol> elements that define button labels could be distinguished by adding an @outputclass attribute:
<uicontrol outputclass="button">Cancel</uicontrol>
The value of the @outputclass attribute may be used to trigger XSLT or CSS rules, while providing a mapping to be used for future migration to a more specialized set of user interface elements.

2.2.1.2.3.2.2: Translation and localization attributes

DITA elements have several attributes that support localization and translation.
xml:lang
Identifies the language of the content, using the standard language and country codes. For instance, French Canadian is identified by the value fr-ca. The @xml:lang attribute asserts that all content and attribute values within the element bearing the attribute are in the specified language, except for contained elements that declare a different language.
translate
Determines whether the element requires translation. A default value may be inferred from the element type. For example, <apiname> may be untranslated by default, whereas <p> may be translated by default.
dir
Determines the direction in which the content should be rendered.

2.2.1.2.3.2.3: Architectural attributes

The architectural attributes specify the version of DITA that the content supports, identify the DITA domains that are in use by the content, and provide essential information about specializations that are in use by the content.

The architectural attributes should not be marked up in the source DITA map and topic instances. Instead, the values of the architectural attributes are handled by the processor when the content is processed, preferably through defaults set in the DTD or Schema declaration. This practice ensures that the DITA content instances do not specify invalid values for the architectural attributes.

The architectural attributes are as follows:

class
This attribute identifies the specialization modules for the element type as well as its ancestors. Every DITA element (except the <dita> element that is used as the root of a ditabase document) has a @class attribute.
domains
This attribute identifies the domain specialization modules used in a map or topic and, for each domain module, its module dependencies. The root element of every topic and map has a @domains attribute.
DITAArchVersion
This attribute identifies the version of the DITA architecture used by the DTD or schema. The root element of every topic and map has a @DITAArchVersion attribute. The attribute is declared in a DITA namespace to allow namespace-sensitive tools to detect DITA markup.

To make the document instance usable in the absence of a DTD or Schema declaration, a normalization process may set the architectural attributes in the document instance.

2.2.1.2.3.3: Metadata in maps and topics

Topic metadata can be specified in a DITA map as well as in the topics that the map references. By default, metadata in the map supplements or overrides metadata that is specified at the topic level, unless the @lockmeta attribute of the <topicref> element is set to "no".
Where metadata about topics can be specified

Information about topics can be specified as metadata on the map, as attributes on the <topicref> element, or as metadata attributes or elements in the topic itself:

DITA map: Metadata elements

At the map level, properties can be set by using metadata elements. They can be set for an individual topic, for a set of topics, or globally for the entire document. The metadata elements are authored within a <topicmeta> element, which associates metadata with the parent element, plus the other children of that element. Because the topics in a branch of the hierarchy typically have some common subjects or properties, this is a convenient mechanism to set properties for a set of topics. For example, the <topicmeta> element in a <relcolspec> can associate metadata with all the topics that are referenced in the <reltable> column.

A map can override or supplement everything about a topic except its primary title and body content. All the metadata elements that are available in a topic also are available in a map. In addition, a map may provide alternate titles and a short description. The alternate titles can override their equivalents in the topic. The short description in the map may override the short description in the topic if both following conditions are true:

  • The <topicref> element specifies a @copy-to attribute.
  • The processor implements this behavior. Processors may or may not implement this behavior.

DITA map: Attributes of the <topicref> element
At the map level, properties can be set as attributes of the <topicref> element.
DITA topic
Within a topic, authors can either set metadata attributes on the root element or add metadata elements in the <prolog> element.

How metadata set at both the map and topic level is handled

In a topic, the metadata elements apply to the entire topic. In a map, they supplement or override any metadata that is provided in the referenced topics. When the same metadata element or attribute is specified in both a map and a topic, by default the value in the map takes precedence, on the assumption that the author of the map has more knowledge of the reusing context than the author of the topic had. The @lockmeta attribute on the <topicmeta> element controls whether map-specified values override values in the referenced topic.

The <navtitle> element is an exception to the rule of how metadata specified by the <topicmeta> element is propagated. The content of the <navtitle> element is used as a navigation title only if the @locktitle attribute of the parent <topicref> element is set to "yes".

Associating attribute-based metadata with element-based metadata
Do we need examples that illustrate what is discussed earlier in this topic? The extant example really illustrates an edge case, rather than the basic principles.
Discussion from review #3:
  • Bruce Nevin: I agree with Kris that other examples are needed.
  • Kris Eberlein: If we want examples, people are going to need to pony up and develop them. This might need to be an item that is deferred to DITA 1.3.

At the topic level, the content of the prolog metadata elements can provide more information about the values that are used for attributes on the elements in the body of the DITA topic. However, prolog metadata and attribute metadata also can be used and expressed independently. The coordination shown here is possible but is not required.

<prolog>
  <metadata>
    <audience name="AdminNovice"
              type="administrator"
              job="customizing"
              experiencelevel="novice">

  </metadata>
</prolog>
....
<p audience="AdminNovice ProgrammerExp">This paragraph applies to both 
novice administrators and expert programmers</p>

In the preceding example, the attribute value AdminNovice is associated with the audience element with the same name, which gives authors and processes more information about the audience in question: in this case, that the "AdminNovice" audience consists of administrators who are customizing and who are new at it.

2.2.1.2.3.4: Cascading of attributes and metadata in a DITA map

Certain map-level attributes and metadata elements cascade throughout a map, which facilitates attribute and metadata management. When attributes or metadata elements cascade, they apply to the elements that are children of the element where the attributes or metadata were specified. Cascading applies to a containment hierarchy, as opposed to a element-type hierarchy.

The following attributes and metadata elements cascade throughout the entire map:

  • Attributes set on the <map> element
  • Metadata elements that are contained in the <topicmeta> element that is a child of the <map> element
Attribute values and metadata elements in relationship tables can be applied to entire columns or rows as well as individual cells, a practice that is particularly useful for attribute and metadata management.

Attributes and metadata that cascade

The following attributes and metadata elements cascade:

Attributes
  • @audience, @platform, @product, @otherprops, @rev
  • @props and any attribute specialized from @props
  • @linking, @toc, @print, @search
  • @format, @scope, @type
  • @xml:lang, @dir, @translate
  • @processing-role
Metadata elements
  • author, source, publisher, copyright, critdates, permissions
  • audience, category, prodinfo, othermeta

Cascading is additive for attributes and metadata elements that accept multiple values. For attributes that take a single value, the closest value defined on a containing element takes effect. In a relationship table, row-level metadata is considered more specific than column-level metadata, as shown in the following containment hierarchy:

  • <map> (most general)
    • <topicref> container (more specific)
      • <topicref> (most specific)
    • <reltable> (more specific)
      • <relcolspec> (more specific)
        • <relrow> (more specific)
          • <topicref> (most specific)

Rules for cascading in the map

When determining the value of an attribute, processors must evaluate each attribute on each individual element in a specific order; this order is specified in the following list. Applications should continue through the list until a value is established or until the end of the list is reached (at which point no value is established for the attribute). In essence, the list provides instructions on how processors can construct a map where all attribute values are set and all cascading is complete.

For example, in the case of <topicref toc="yes>, applications must stop at 2 in the list; a value is specified for @toc in the document instance, so @toc values from containing elements will not cascade to that specific <topicref> element. The @toc="yes" setting on that <topicref> element may cascade to contained elements, provided those elements reach 5 below when evaluating the @toc attribute.

For attributes within a map, the following processing order must occur:

  1. The @conref and @keyref attributes are evaluated.
  2. The explicit values specified in the document instance are evaluated. For example, a <topicref> element with the @toc attribute set to "no" will use that value.
  3. The default or fixed attribute values that are expressed within DTDs or XSDs are evaluated. For example, in the DTDs and XSDs, the @toc attribute on the <reltable> element has a default value of "no".
  4. The default values that are supplied by a controlled values file are evaluated.
  5. The attributes cascade.
  6. The processing-supplied default values are applied.
  7. After the attributes are resolved within the map, they cascade to referenced maps.

    Note

    The processing-supplied default values do not cascade to other maps. For example, most processors will supply a default value of @toc="yes" when no @toc attribute is specified. However, a processor-supplied default of toc="yes" must not override a value of toc="no" that is set on a referenced map. If the toc="yes" value is explicitly specified, is given as a default through a DTD, XSD, or controlled values file, or cascades from a containing element in the map, it will override a toc="no" setting on the referenced map. See Map-to-map cascading behaviors for more details.
  8. Repeat steps 1 to 4 for each referenced map.
  9. The attributes cascade within each referenced map.
  10. The processing-supplied default values are applied within each referenced map.
  11. Repeat the process for maps referenced within the referenced maps.

Example of metadata elements cascading in a DITA map

The following code sample illustrates how an information architect can apply certain metadata to all the DITA topics in a map:

<map title="DITA maps" xml:lang="en-us">
	<topicmeta>
		<author>Kristen James Eberlein</author>
		<copyright>
			<copyryear year="2009"/>
			<copyrholder>OASIS</copyrholder>
		</copyright>
	</topicmeta>
	<topicref href="dita_maps.dita" navtitle="DITA maps">
		<topicref href="definition_ditamaps.dita" navtitle="Definition of DITA maps"></topicref>
		<topicref href="purpose_ditamaps.dita" navtitle="Purpose of DITA maps"></topicref>
		...
</map>

The author and copyright information cascades to each of the DITA topics referenced in the DITA map. When the DITA map is processed to XHTML, for example, each XHTML files contains the metadata information.

2.2.1.2.3.5: Map-to-map cascading behaviors

When a DITA map (or branch of a DITA map) is referenced by another DITA map, by default, certain rules apply. These rules pertain to the cascading behaviors of attributes, metadata elements, and roles assigned to content (such as the role of "Chapter" assigned by a <chapter> element). Attributes and elements that cascade within a map generally follow the same rules when cascading from one map to another map; this topic covers the exceptions and additional rules that apply.
Cascading of attributes from map to map

The following attributes cascade within a single map:

  • @audience, @platform, @product, @otherprops, @rev
  • @props and any attribute specialized from @props
  • @linking, @toc, @print, @search
  • @format, @scope, @type
  • @xml:lang, @dir, @translate
  • @processing-role

Of these, the following attributes do not cascade from map to map:

  • @format: this attribute must be set to "ditamap" in order to reference a map or a branch of a map, so it cannot cascade through to the referenced map.
  • @xml:lang and @dir: cascading behavior for xml:lang is defined in The @xml:lang attribute. The @dir and translate attributes work the same way.
  • @scope: the @scope value describes the map itself, rather than the content. A @scope value of "external" indicates that the referenced map itself is external and unavailable, so the value cannot cascade into that referenced map.

The @class attribute does not cascade within a map, but is used to determine processing roles that cascade from map to map. See Cascading of roles in specialized maps for more details.

As with values that cascade within a map, the cascading is additive if the attribute permits multiple values (such as @audience). When the attribute only permits one value, the cascading value overrides the top-level element.

Example of attributes cascading between maps

For example, assume the following references in test.ditamap:

<map>
  <topicref href="a.ditamap" format="ditamap" toc="no"/>
  <mapref   href="b.ditamap" audience="developer"/>
  <topicref href="c.ditamap#branch1" format="ditamap" print="no"/>
  <mapref   href="c.ditamap#branch2" platform="myPlatform"/>
</map>

  • The map a.ditamap is treated as if toc="no" is specified on the root <map> element. This means that the topics that are referenced by a.ditamap do not appear in the navigation generated by test.ditamap (except for branches within the map that explicitly set toc="yes").
  • The map b.ditamap is treated as if audience="developer" is set on the root <map> element. If the audience attribute is already set on the root <map> element within b.ditamap, the value "developer" is added to any existing values.
  • The element with id="branch1" within the map c.ditamap is treated as if print="no" is specified on that element. This means that the topics within the branch with id="branch1" do not appear in the printed output generated by test.ditamap (except for nested branches within that branch that explicitly set print="yes").
  • The element with id="branch2" within the map c.ditamap is treated as if platform="myPlatform" is specified on that element. If the @platform attribute is already specified on the element with id="branch", the value "myPlatform" is added to existing values.
Cascading of metadata elements

Elements that are contained within <topicmeta> or <metadata> follow the same rules for cascading as apply within a single DITA map. For a complete list of which elements cascade within a map, see the column "Does it cascade to child <topicref> elements? " in the topic Reconciling topic and map metadata .

For example, consider the following code snippets:

test-2.ditamap
<map>
    <topicref href="a.ditamap" format="ditamap">
        <topicmeta>
            <shortdesc>This map contains information about Acme defects.</shortdesc>
        </topicmeta>
    </topicref>
    <topicref href="b.ditamap" format="ditamap">
        <topicmeta>
            <audience type="programmer"/>
        </topicmeta>
    </topicref>    
    <mapref href="c.ditamap" format="ditamap"/>
    <mapref href="d.ditamap" format="ditamap"/>
    </map>
b.ditamap
<map>
    <topicmeta>
        <audience type="writer"/>
    </topicmeta>
    <topicref href="b-1.dita"/>
    <topicref href="b-2.dita"/>
</map>

When test-2.ditamap is processed, the following behaviour occurs:

  • Because the <shortdesc> element does not cascade, it does not apply to the DITA topics that are referenced in a.ditamap.
  • Because the <audience> element cascades, the <audience> element in the reference to b.ditamap combines with the <audience> attribute that is already specified at the top level of that map. The result is that the b-1.dita topic and b-2.dita topic are processed as if they each contained the following child <topicmeta> element:
    <topicmeta>
        <audience type="programmer"/>
        <audience type="writer"/>
    </topicmeta>

Note

It is possible that a specialization might define metadata that should replace rather than add to metadata in the referenced map, but DITA (by default) does not currently support this behavior.
Cascading of roles in specialized maps

When a <topicref> element or a specialization of a <topicref> element references a DITA resource, it defines a role for that resource. In some cases this role is straightforward, such as when a <topicref> element references a DITA topic (giving it the already known role of "topic"), or when a <mapref> element references a DITA map (giving it the role of "DITA map").

Unless otherwise instructed, a specialized topicref element that references a map supplies a role for the referenced content. This means that, in effect, the @class attribute of the referencing element cascades to top-level topicref elements in the referenced map. In situations where this should not happen - such as all elements from the OASIS-supplied "mapgroup" domain - the non-default behavior should be clearly specified.

For example, when a <chapter> element from the bookmap specialization references a map, it supplies a role of "chapter" for each top-level element in the referenced map. When the <chapter> element references a branch in another map, it supplies a role of "chapter" for that branch. In effect, the @class attribute for <chapter> ("- map/topicref bookmap/chapter ") cascades to the top-level topicref in the nested map, although it does not cascade any further.

Alternatively, the <mapref> element in the "mapgroup" domain is a convenience element; the top-level <topicref> elements in the map referenced by a <mapref> element must not be processed as if they are <mapref> elements. The @class attribute from the <mapref> element ("+ map/topicref mapgroup-d/mapref ") does not cascade to the referenced map.

In some cases, preserving the role of the referencing element might result in out-of-context content. For example, a <chapter> element that references a bookmap might pull in <part> elements that contain nested <chapter> elements. Treating the <part> element as a <chapter> will result in a chapter that nests other chapters, which is not valid in bookmap and may not be understandable by processors. The result is implementation specific; processors may or may not choose to treat this as an error, issue a warning, or simply assign new roles to the problematic elements.

Example of cascading roles between maps

Consider the scenario of a <chapter> element that references a DITA map. This scenario could take several forms:

Referenced map contains a single top-level <topicref> element
The entire branch functions as if it were included in the bookmap; the top-level <topicref> element is processed as if it were the <chapter> element.
Referenced map contains multiple top-level <topicref> elements
Each top-level <topicref> element is processed as if it were a <chapter> element (the referencing element).
Referenced map contains a single <appendix> element
The <appendix> element is processed as it were a <chapter> element.
Referenced map contains a single <part> element, with nested <chapter> elements.
The <part> element is processed as it were a chapter element. Nested <chapter> elements may not be understandable by processors; applications may recover as described above.
<chapter> element references a single <topicref> element rather than a map
The referenced <topicref> element is processed as if it were a <chapter> element.

2.2.1.2.3.6: Reconciling topic and map metadata

The <topicmeta> element in maps contains numerous elements that can be used to declare metadata. These metadata elements have an effect on the parent <topicref> element, any child <topicref> elements, and – if a direct child of the <map> element – on the map as a whole.

For each element that can be contained in the <topicmeta> element, the following table addresses the following questions:

How does it apply to the topic?
This column describes how the metadata specified within the <topicmeta> element interacts with the metadata specified in the topic. In most cases, the properties are additive. For example, when the <audience> element is set to "user" at the map level, the value "user" is added during processing to any audience metadata that is specified within the topic.
Does it cascade to other topics in the map?
This column indicates whether the specified metadata value cascades to nested <topicref> elements. For example, when an <audience> element is set to "user" at the map level, all child <topicref> elements implicitly have an <audience> element set to "user" also. Elements which can apply only to the specific <topicref> element, such as <linktext>, do not cascade.
What is the purpose when specified on the <map> element?
The map element allows metadata to be specified for the entire map. This column describes what effect, if any, an element has when specified at this level.

Topicmeta elements and their properties
Element How does it apply to the topic? Does it cascade to child <topicref> elements? What is the purpose when set on the <map> element?
<audience> Add to the topic Yes Specify an audience for the entire map
<author> Add to the topic Yes Specify an author for the entire map
<category> Add to the topic Yes Specify a category for the entire map
<copyright> Add to the topic Yes Specify a copyright for the entire map
<critdates> Add to the topic Yes Specify critical dates for the entire map
<data> Add to the topic No, unless specialized for a purpose that cascades No stated purpose, until the element is specified
<data-about> Add the property to the specified target No, unless specialized for a purpose that cascades No stated purpose, until the element is specified
<foreign> Add to the topic No, unless specialized for a purpose that cascades No stated purpose, until the element is specified
<keywords> Add to the topic No No stated purpose
<linktext> Not added to the topic; applies only to links created based on this occurrence in the map No No stated purpose
<metadata> Add to the topic Yes Specify metadata for the entire map
<navtitle> Not added to the topic; applies only to navigation that is created based on this occurrence in the map. The @locktitle attribute of the parent <topicref> element must be set to "yes" in order for the navigation title to be used. No No stated purpose
<othermeta> Add to the topic No Define metadata for the entire map
<permissions> Add to the topic Yes Specify permissions for the entire map
<prodinfo> Add to the topic Yes Specify product info for the entire map
<publisher> Add to the topic Yes Specify a publisher for the map
<resourceid> Add to the topic No Specify a resource ID for the map
<searchtitle> Replace the one in the topic. If multiple <searchtitle> elements are specified for a singletarget, processors may choose to issue a warning. No No stated purpose
<shortdesc> Only added to the topic when the <topicref> element specifies a @copy-to attribute. Otherwise, it applies only to links created based on this occurrence in the map.

Note

Processors may or may not implement this behavior.
No Provide a description of the map
<source> Add to the topic No Specify a source for the map
<unknown> Add to the topic No, unless specialized for a purpose that cascades No stated purpose, until the element is specified

2.2.1.3: DITA processing

Several common DITA processing behaviors are driven by attributes, including setting the set of vocabulary and constraint modules on which a DITA document depends, navigation, linking, content reuse (via direct or indirect addressing), conditional processing, chunking, and printing. In addition, translation of DITA content is expedited through the use of the @dir, @translate, and @xml:lang attributes, and the <index-sort-as> element.

2.2.1.3.1: Module compatibility and the @domains attribute

A given DITA document declares, through the @domains attribute on <map> and <topic> elements, the set of vocabulary and constraint modules on which it depends.

The @domains attribute serves two primary purposes:

  • To indicate to DITA processors the specific features that they should or must provide in order to completely process the document.
  • To determine the validity of elements that are copied from one DITA document to another. This copying may occur as the result of a content reference (conref) or key reference (keyref), or may occur in the context of an author editing a DITA document.

A processor can examine the value of the @domains attribute and compare the set of modules listed to the set of modules for which it provides direct support. It then can take appropriate action if it does not provide support for a given module, for example, issuing a warning before applying fallback processing.

When copying, it is necessary to determine if the data being copied (the copy source) requires modules that are not required by the document into which the data is to be copied (the copy target). Such a copy operation is always safe if the copy source requires a subset of the modules that are required by the copy target. Such a copy is unsafe if the copy source requires modules that are not required by the copy target.

When a copy operation is unsafe, processors may compare the copy source to the copy target to determine if the copy source satisfies the constraints of the copy target. If the copy source meets the copy target constraints, the copy may be allowed. Processors should issue a warning that the copy was allowed but the constraints are not compatible. If the copy source does not meet the constraints of the copy target, processors may apply generalization until the generalized result either satisfies the copy target constraints or no further generalization can be performed. If the copy operation can be performed following generalization, the processor should issue a warning that the constraints are not compatible and generalization had to be performed in order to complete the copy operation.

2.2.1.3.2: Navigation behaviors

DITA includes markup that processors may use to generate reader navigation to or across DITA topics.

While DITA content can be processed to create output with media-specific navigational aids, this topic discusses only the behaviors that are derived from markup.

Tables of contents (TOCs)

Processors may generate a TOC based on the hierarchy of the <topicref> elements in the DITA map. Each <topicref> element in the map represents a node in the TOC (unless it is set as a "resource only" topic reference). These topic references define a navigation tree. When a map contains a topic reference to a map (often called a map reference), processors should integrate the referenced map's navigation tree with the referencing map's navigation tree at the point of reference. In this way, a deliverable may be compiled from multiple DITA maps.

Note

If a <topicref> element that references a map contains child <topicref> elements, the processing behavior of the child <topicref> elements is undefined.

By default, the text for each node in the TOC is obtained from the referenced topic's title. If the @locktitle attribute on the <topicref> element is set to "yes", the node text must be taken from the @navtitle attribute or <navtitle> child element of the <topicref> element and must not be read from the referenced topic's title. If a <topicref> element contains both a <navtitle> child element and a @navtitle attribute, the @locktitle attribute applies to both <navtitle> and @navtitle and, when set to "yes", the value of the <navtitle> element must be used.

A TOC node is generated for every <topicref> element (or specialization thereof) that references a topic or specifies a navigation title, except in the following cases:

  • The @processing-role attribute is specified on the <topicref> element or an ancestor element.
  • The @print attribute is specified on the <topicref> element or an ancestor element and the current processing is not for print output.
  • Conditional processing is used to filter out this node or an ancestor node.
  • No @href or @navtitle attribute is set and no child <navtitle> element exists, or the node is a <topicgroup> element.

To suppress a <topicref> element from appearing in the TOC, set its @toc attribute to "no". The value of the @toc attribute cascades to child <topicref> elements, so if @toc is set to "no" on a particular <topicref>, all of that <topicref>'s children are also excluded from the TOC. If a child <topicref> overrides the cascading TOC node suppression by specifying @toc="yes", then the node that specifies @toc="yes" must appear in the TOC (minus the intermediate nodes that turned off @toc).

Indexing

An index may be generated from index entries occurring in topic bodies, topic prologs, or DITA maps. For more information, see the language reference for the <indexterm> element.

2.2.1.3.3: DITA linking

DITA depends heavily on links. The purposes for which it provides links include defining the content and organization of publication structures (DITA maps), topic-to-topic navigation links and cross references, and reuse of content by reference. All DITA links use the same addressing facilities, either URI-based addresses or DITA-specific indirect addresses using keys and key references.

At its most general, a link establishes a relationship among two or more objects. In DITA, relationships are among DITA elements and either other DITA elements or non-DITA resources, such as Web pages. Relationships may be explicitly typed in some cases (relationship tables and subject scheme maps for example) but are not always associated with a specific relationship type.

Anderson, March 10 2010: changed "are generally not associated" to "are not always associated" - I think the wording was unclear, and in particular, navigation links are quote often created and typed by the role attribute as parent/child/next/previous/etc. I'm not sure if that is considered "typed" by this definition, but to me "are generally not" means most are not, while a large percentage of relationships I encounter are typed in this way.

Note

For example, a <keyword> element that uses a key reference to link to the definition of the keyword can be considered to be establishing a "mention-of" relationship from the <keyword> element to the definition and a "definition-of" relationship from the definition to the <keyword> element. But those link types are not formally defined either in the DITA definition of <keyword> or in the markup for the <keyword> element itself. While DITA enables the formal definition of typed relationships for some types of link elements, it does not require that all links be formally typed and does not provide a general mechanism for associating explicit link types with links.

In the abstract, link relationships may be explicit, defined directly by some type of markup in the source data, or implicit, implied by properties of the content that a processor uses to infer relationships (for example, matching the content of a <keyword> element to the title of a topic of a specific topic type). DITA formally defines only explicit links, although processors may implement implicit links.

A link may establish either a navigation relationship or a use-by-reference relationship (e.g., content references). Navigation relationships are used primarily to enable navigation from one element to another, although they may also be used for other purposes, such as classification, or association of metadata. Use-by-reference relationships establish the effective structure and content of the information set.

An element that establishes one or more such relationships is a "link-defining element". Some element types, such as <link> and <xref>, are always link-defining elements. Other element types become link-defining elements when they use specific link-defining attributes.

Almost any element may become a use-by-reference link by using the @conref or @conkeyref attribute to establish a content reference (conref) relationship to another element or set of elements (see Use by reference). Elements such as <term> and <keyword> may become navigation links by using the @keyref attribute to establish a relationship to another DITA element or non-DITA resource.

In general, elements within topics that take both the @href and @keyref attributes always act as elements that define a navigation link, while elements that take @keyref but not @href act as elements that define a navigation link only when they specify @keyref.

A given link-defining element may establish more than one relationship. For example, an element may establish both a content reference link and a navigation link. A single row in a relationship table may establish a number of distinct relationships among the topics referenced in the different cells of the relationship table. A topic reference within a hierarchy of topic references establishes not only a use-by-reference relationship from the map to the topic, but also hierarchical relationships from the referenced topic to other topics in the navigation hierarchy (parents, siblings, and children).

DITA defines two forms of addresses for use in defining links, direct URI-based addresses and indirect key references. In all cases, the nature of the relationships established is independent of the form of address used. For example, a cross reference that uses a key reference to address the target of the cross reference is functionally equivalent to having addressed the same target by URI reference, in that the final processing result should be the same in both cases. However, the two forms of address have different practical and intermediate processing implications. See DITA addressing.

Links from maps to other maps, topics, or non-DITA resources establish explicit dependencies from the map containing the links to the associated resources. Links from maps to maps create a "map tree". The set of dependencies for a root map is the union of the dependencies of all the maps in the map tree.

Links from a topic to other topics, maps, or non-DITA resources establish explicit dependencies from the topic containing the links to the associated resources, and implicit dependencies from any maps that use that linking topic to its dependencies.

For the purposes of determining the set of dependencies for a given map tree, processors may ignore any implicit dependencies created by links within topics that are not also established by explicit dependencies in the map tree. In the case where a map includes a topic that includes a topic-to-topic link, where the linked topic is not explicitly included in the map, and the processor considers only dependencies that are explicitly defined in the map, the processor may fail to resolve the topic-to-topic link. This case can be avoided by using a resource-only topic reference in the map tree to establish the dependency explicitly. If the resource-only topicref also defines a key, the link within the topic can then be changed to use a key reference (@keyref or @conkeyref) instead of a URI reference (@href, @conref). See Key-based addressing.

Navigation links have an associated "scope" indicating the closeness of the relationship of the linking element to associated resources. See The scope attribute.

Most navigation links have an associated "link text", which is the text used to render the link so that it can be used. For all elements that allow or require link text, the link text may be specified as part of the linking element or, if unspecified, should be taken from the referenced resource. The details for how the link text for a given element should or may be generated are defined for that element type and may also be determined entirely by a rendition processor.

In the specific case of cross references created using <xref> and related links using <link>, the potential set of rules for constructing link text is essentially unbounded. Processors may, for example, define conventions for the value of @outputclass by which authors can indicate the details of how the link text should be constructed, or they may provide appropriate configuration options for controlling or customizing the construction of link text in cross references.

2.2.1.3.3.1: Links within maps

DITA maps serve primarily to define a navigation hierarchy of topics and non-DITA resources. Through relationship tables, maps may also define arbitrary topic-to-topic relationships such as "related links". Maps may also link to topics or non-DITA resources to establish dependency relationships without binding the linked resource into the navigation tree.

By default, the topic references within a map but not within a relationship table establish a navigation tree rooted at the root map within a map tree. A topic reference contributes to the navigation tree when it specifies a navigation title or references a topic or non-DITA resource. The @collection-type attribute of the <topicref> element determines the relationships established between the topicref and its parent, sibling, and child topicrefs, as well as among its child topicrefs.

A <topicref> or <navref> element that references a map does not bind the map to the navigation tree but acts as a form of use-by-reference link to the direct subelements of <map> and the relationship tables of the referenced map.

Maps may also contain relationship tables (<reltable>). Relationship tables establish navigation links among sets of topics and non-DITA resources. A given relationship table defines one or more links of a specific relationship type. See reltable. A map may include any number of relationship tables. Within a map tree, the effective set of relationship tables is the union of all the relationship tables in all the maps in the map tree.

Topic references that specify a @processing-role value of "resource-only" establish dependencies from the map to the associated resource but do not bind the resource to the navigation tree. Resource-only topic references are typically used for key definitions where the key is not intended to represent a specific navigation tree location and for topics that hold elements used only for content reference or that otherwise should not be reflected in the navigation tree.

Topic references in the navigation tree can further control whether or not they are included in tables of contents using the @toc attribute. A topic reference that specifies "no" for the @toc attribute and is not a resource-only topic reference still contributes to the navigation tree. In particular, any relationships determined by the value of the @collection-type attribute are created.

Topic references in the navigation tree can use the @linking attribute to control how links created by the effective @collection-type value apply to the topic reference's associated resource. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.

Within maps, subordinate maps may be linked in either of two ways:

  • <topicref> with a @format value of "ditamap" (this type of map reference is sometimes referred to as a "mapref")
  • <navref>

The <navref> element links to an otherwise independent map and indicates that the integration of that map's navigation structure into the larger navigation tree is deferred so that it can be performed as a final step in any delivery of the rendered content. Maps referenced by <navref> do not contribute to the key space of the map tree from which they are referenced. The map referenced by <navref> need not be available for processing at the time the referencing map is processed.

2.2.1.3.3.2: Links within topics

A topic may contain several types of links.
  • Content reference links from any element in the topic that allows @conref or @conkeyref.
  • Related information links, within a <related-links> element following the topic body. The related links are usually rendered at the end of the topic.
  • Image links created using <image>. Image elements may use <longdescref> to link to the long description for the image as a supplement to the <alt> element.
  • Object links created using <object>. Object elements may use <longdescref> to link to the long description for the object as a supplement to the <alt> element.
  • Navigation links created using <xref>. For output media that support hyperlinking, the <xref> should result in a hyperlink.
  • Navigation links created using @keyref on elements that allow @keyref but not @href (e.g., <ph>, <cite>, <keyword>, and <term>).
  • Metadata associations using <data-about> in contexts where <data> is allowed.
  • Navigation links from long quotes to the source of the quote using <longquoteref>.

Links to resources outside a topic's containing XML document that use direct URI-based addresses establish unconditional topic-to-resource dependencies. Such dependencies can impede reuse in two ways:

  • The linking topic cannot be used in a given map unless the dependent resource is also used.
  • The linked resource cannot be dynamically changed based on the map context in which the linking topic is used.

These issues can be avoided by using key-based addressing. Because keys are defined in maps, each map that uses the linking topic can bind the key to the most appropriate resource.

2.2.1.3.4: DITA addressing

DITA provides a number of facilities for establishing relationships among DITA elements and between DITA elements and non-DITA resources. All DITA relationships use the same addressing facilities irrespective of the semantics of the relationship established. DITA addresses are either direct, URI-based addresses, or indirect key-based addresses. Within DITA documents, individual elements are addressed by unique IDs specified on the common @id attribute. DITA defines two fragment identifier syntaxes for addressing DITA elements, one for topics and elements within maps and one for non-topic elements within topics.

2.2.1.3.4.1: ID attribute

The DITA identity attribute provides a mechanism for identifying content for linking.

The id attribute assigns an identifier to DITA elements so the elements can be referenced. The id attribute is available for most elements. The id attribute is required on some elements. For a specific element to be referenced, it must have an id attribute with a valid value, although entire maps and the first topic, only topic, or all direct-child topics (depending on processing context) in a topic-containing document may be referenced without using an ID. The requirements for the id attribute differ depending on whether it is used on a topic element, a map element, or an element within a topic or map.

The id attributes for topic and map elements are true XML IDs and therefore must be unique with respect to other XML IDs within the scope of the XML document that contains the topic or map element. The id attribute for most other elements within topics and maps are not declared to be XML IDs. This means that XML parsers do not require that the values of those attributes be unique. All id attribute values must be XML name tokens.

Within documents containing multiple topics, the IDs for all non-topic elements that have the same nearest ancestor topic element should be unique with respect to each other. The IDs for non-topic elements may be the same as non-topic elements with different nearest ancestor topic elements.

Note

Thus, within a single XML document containing multiple peer or nested topics, the IDs of the non-topic elements only need to be unique within each topic without regard to the IDs of elements within any ancestor or descendant topics.

The IDs of all elements within a map should be unique within that map document. When two elements within a map have the same ID value, the first element with a given ID value, in document order, must be used as the target of any reference to that ID.

ID requirements summary table
Element Attribute type Unique within Required Value type
map ID document No XML non-colonized name token
topic ID document Yes XML non-colonized name token
sub-map NMTOKEN document Usually no, with some exceptions Any legal XML name token
sub-topic NMTOKEN individual topic Usually no, with some exceptions Any legal XML name token

2.2.1.3.4.2: URI-based (direct) addressing

Content reference and link relationships can be established from DITA elements using URI references to point directly to targets.

URI references address "resources" and, optionally, subcomponents of those resources. In the context of DITA, a resource is a DITA document (map, topic, or DITA base document) or a non-DITA resource (e.g., a Web page, a PDF document, etc.). For DITA resources, fragment identifiers can be used with the URI to address individual elements. The fragment identifier is the part of the URI that starts with a number sign ("#"), e.g., "#topicid/elementid". URI references may also include a query component, introduced with "?". DITA processors may ignore queries on URI references to DITA resources.

Note

URI references that are URLs must conform to the rules for URLs and URIs. In particular, Windows paths with backslashes are not valid URLs.
URIs and DITA fragment identifiers

DITA uses URI references in @href, @conref, or other attributes for all direct addressing of resources.

For addressing DITA elements within maps and topics or individual topics within documents containing multiple topics, URI references must include the appropriate DITA-defined fragment identifier. URI references may be relative or absolute. A relative URI reference may consist of just a fragment identifier. Such a reference is a reference to the document that contains the reference.

When addressing a DITA topic element, URI references may include a fragment identifier that includes the ID of the topic element (filename.dita#topicId or #topicId).

When addressing a non-topic element within a DITA topic, a URI reference must use a fragment identifier that contains the ID of the ancestor topic element of the non-topic element being referenced, a solidus ("/"), and the ID of the non-topic element (filename.dita#topicId/elementId or #topicId/elementId).

This addressing model makes it possible to reliably address elements whose id attribute values are unique within a single DITA topic but which may not be unique within a larger XML document that contains multiple DITA topics. (See ID attribute for more information on ID attributes.)

When addressing a DITA map element, URI references may include a fragment identifier that includes the ID of the map element (filename.ditamap#mapId or #mapId).

If a target DITA element is within the same XML document as the element making the reference, the URI reference may consist of only the fragment identifier (including the "#" (number sign) character).

Addressing non-DITA targets via URI

All resources, regardless of type, are directly addressed by URI references from DITA elements. When addressing targets within non-DITA resources, any fragment identifier used must conform to the fragment identifier requirements defined for the target media type, including references to non-DITA XML resources.

Addressing DITA topics via URI

Topics can always be addressed by a URI reference whose fragment identifier consists of the topic's ID. For the purposes of linking, a reference to a topic-containing document addresses the first topic within that document in document order. For the purposes of rendering, a reference to a topic-containing document addresses the root element of the document.

Note

For example, given a document whose root element is a topic, a URI reference (with no fragment identifier) addressing that document implicitly references the topic element. Given a <dita> document containing multiple topics, a URI reference addressing the <dita> document implicitly addresses the first child topic of the <dita> element for purposes of linking (for example, from a cross reference element) but addresses the <dita> element for the purposes of rendering (implying that all the topics contained by the <dita> element will be rendered in the result).

Addressing non-topic DITA elements via URI

To address non-topic elements within topics via URI, a topicID/elementID fragment identifier must be used.

To address elements within a DITA map via URI, an elementID fragment identifier must be used. The linking element must specify a value of "ditamap" for the format attribute.

URI reference syntax examples

The following table shows the URI syntax for common use cases.

Use case Sample syntax
target a table in a topic at a network location "http://example.com/file.dita#topicID/tableID"
target a section in a topic on a local file system "directory/file.dita#topicID/sectionID"
target a figure contained in the same XML document "#topicID/figureID"
target an element within an map "http://example.com/map.ditamap#elementID" (and a value of "ditamap" for the format attribute)
target a map element within the same map document "#elementID" (and a value of "ditamap" for the format attribute)
reference an external Web site "http://www.somesite.com", "http://www.somesite.com#somefragment" or any other valid URI
reference an element within a local map "filename.ditamap#elementid" (and a value of "ditamap" for the format attribute)
reference a local map "filename.ditamap" (and a value of "ditamap" for the format attribute)
reference a local topic reference a local topic "filename.dita" or "path/filename.dita"
reference a specific topic in a local document "filename.dita#topicid" or "path/filename.dita#topicid"
reference a specific topic in the same file "#topicid"

2.2.1.3.4.3: Key-based addressing

The DITA key-reference mechanism provides a layer of abstraction so that the resources addressed by references can be defined globally at the DITA map level instead of locally in each topic.

When using DITA topics in the context of different maps, it is often necessary to have a relationship resolve to different resources. For example, a content reference to a <ph> element that contains a product name might need to resolve to a different <ph> element when used in a different product-specific map. The DITA key-reference mechanism provides an indirect addressing mechanism that separates references (topicrefs, conrefs, cross references, etc.) from the direct address of the target. (A direct address is the address specified on the element that references the key, for example via @href or @conref.) Linking elements can refer to key names; the key names then are bound to specific resources by maps. Different maps can bind the same key names to different resources. This form of indirection is late bound, because the binding of key names to resources is determined at processing time based on the current set of key definitions for the map context rather than from a static binding that is created when a topic or map is authored.

To address a review #3 comment from David Helfinstine, I broke the original topic (11 pages!) down into four child topics. (Caveat: This was quick and dirty work on an area that wasn't my primary responsibility.) This area needs additional work, so I did not add <shortdesc> elements for all new topics. I have the following concerns:

  • I think this content is nested too deeply in the architecture.
  • Ideally, I think the examples should be integrated into the topics, rather than segregated into a separate topic.
  • Is the syntax for key-based addressing covered in the language reference topics? While I think we need a sound overview of key-based addressing the in the arch spec topics, I think users will look first to the language reference when wanting to retrieve information about syntax.

2.2.1.3.4.3.1: Overview of keys

To use key references, one must understand how keys are defined and bound to resources, how a map hierarchy establishes a key space, and the interaction of keys with conditional processing.
Key definition

Keys are defined within maps. Key names are defined using the @keys attribute on <topicref> elements (or specializations of topicref, such as <keydef>).

The @keys attribute uses the following syntax:

  • The value of the @keys attribute is one or more space separated key names.
  • Key names consist of characters that are legal in a URI. The case of key names is significant.
  • The following characters are prohibited in key names: "{", "}", "[", "]", "/", "#", "?", and whitespace characters.

The @keys attribute in any <topicref> element can be used to define keys, regardless of any other purpose that it may serve in the map. However, common practice is to define most or all keys separately from the topic references that are used to establish navigation hierarchies and relationships. If a separate DITA map is created that contains only key definitions, it should have the @processing-role attribute set to "resource-only". The map-group vocabulary module includes the <keydef> element, a specialization of <topicref> in which the value of the @processing-role attribute is set by default to "resource-only".

Key binding

A key can be bound simultaneously to several resources:

  • It is directly bound to the resource addressed by the @href attribute of the key-defining element, if a @keyref either is not specified or cannot be resolved following key space construction.
  • If the key-defining element specifies a @keyref attribute and the key reference can be resolved following key space construction, the key is bound to any directly addressed resource bound to the referenced key (directly or indirectly). (It is an error for a topicref to refer directly or indirectly to any key that it defines.)
  • It is bound to the subelements of the <topicmeta> element within the key-defining element, if any are present.
Key spaces

A root map and its directly addressed, local scope descendant maps establish a unique key space within which each unique key name has exactly one binding to a set of resources.

For the purposes of determining the effective key definitions for the key space represented by a given root map, a map tree is determined by considering only directly addressed, local scope maps descending from the root map. The order of subordinate maps is determined by the document order of the topicrefs that point to them. Indirect references to maps with key references are necessarily ignored until after the key space is determined.

Maps addressed by <navref> do not contribute to the key space of a map tree. Maps referenced by <navref> are equivalent to maps referenced with a scope of "peer" or "external" and therefore need not be present or available at the time the referencing map is processed for purposes of key space construction.

Keys and conditional processing

The effective keys for a map might be affected by conditional processing (filtering). Processors should perform conditional processing before determining effective key definitions. However, processors may determine effective key bindings before filtering. Consequently, different processors might produce different effective bindings for the same map when there are key definitions that might be filtered out based on their select attributes.

If filtering is not done first, the same root map may result in different effective key spaces for different sets of conditions. For processors that provide sets of available keys within an information set, such as authoring support systems, keys may need to be associated with the conditions specified on their key definitions. For example, given a map that defines the key "os-name" twice with different conditions, an author may need to know both that the key has two possible bindings within the key space and what the conditions are under which those bindings are effective. It also means that processors might need both a root map and a set of active conditions (for example, a DITAVAL document) in order to correctly determine the effective key space.

A relative URI reference in a key definition is resolved relative to the base URI established for the location of the key definition rather than relative to the various locations of references using the key.

Effective key definitions

For a given key there is at most one effective definition within a key space. A key definition is the effective definition for a given key if it is the first, in document order, within the map document that contains it, and is the first in the map tree in breadth-first order. It is not an error for the same key name to be defined more than once within a map or map tree, and duplicate key definitions should be ignored without warning.

Note

A given <topicref> element that defines more than one key may be the effective definition for some of its keys but not for others. It is the duplicate binding of a key name to its definition that is ignored, not the key-defining topic reference as a whole.

Key definitions are not scoped by the map document within which they occur or by the element hierarchy of their containing map document. Keys do not have to be declared before they are referenced. The key space is effective for the entire document, so the order of key definitions and key references relative to one another within the map hierarchy is not significant, and keys defined in any map in the map tree are available for use with key references from all maps and topics processed in the context of the root map.

Note

These rules mean that key definitions higher in the map tree hierarchy take precedence over key definitions lower in the map tree and that key definitions in referencing maps always take precedence over key definitions in referenced maps. These rules also mean that the entire key space must be determined before any keys can be resolved to their ultimately-addressed resources (if any).

Note

Because keys are defined in maps, all key-based processing must be done in the context of a root map that establishes the effective key space.

For key definitions in a submap to be included in the key space, there must be a direct URI reference to that submap from another directly addressed map in the map tree. However, if that same submap is referenced indirectly and has no direct URI reference as a backup (using @keyref without providing a fallback @href value, or using @conkeyref without providing a fallback @conref value), that reference is ignored for purposes of constructing the key space, and the definitions in that submap consequently do not enter into the construction of the key space at that point.

2.2.1.3.4.3.2: Using keys to address DITA elements

For topic references, image references, and navigation link relationships (<link>, <xref>, and elements that take the @keyref but not the @href attribute), resources can be addressed by key using the @keyref attribute. For content reference relationships, resources can be addressed by key using the @conkeyref attribute.
Syntax

For references to topics, maps, and non-DITA resources, the value of the @keyref attribute is simply a key name: keyref="topic-key".

For references to non-topic elements within topics and non-topicref elements within maps, the value of the @keyref attribute is a key name, a solidus ("/"), and the ID of the target element: keyref="topic-key/some-element-id".

If both @keyref and @href attributes are specified on an element, the @href value must be used as a fall-back address when the key name is undefined, and should be used as a fall-back address when the key name is defined but the key reference cannot be resolved to a resource. If both @conkeyref and @conref attributes are specified on an element, the @conref value must be used as a fall-back address when the key name is undefined, and should be used as a fall-back address when the key name is defined but the key reference cannot be resolved to a resource.

Example

For example, consider this topic in the document "file.dita":

<topic id="topicid">
 <title>Example referenced topic</title>
 <body>
  <p id="para-01">Some content.</p>
 </body>
</topic>
and this key definition:
<map>
  <topicref keys="myexample"
    href="file.dita"
  />
</map>

A keyref of the form "myexample/para-01 resolves to the <p> element in the topic. The key reference would be equivalent, in the context of this map, to the URI reference file.dita#topicid/para-01.

A key reference to a topicref element where the linking element specifies a format value of "ditamap" addresses the topicref element itself as though the topicref element had been addressed by ID. In particular, a topicref with a key reference to another topicref and a format value of "ditamap" is a use of the map branch rooted at the referenced topicref.

2.2.1.3.4.3.3: Processing key references

When a key definition is bound to a resource addressed by @href or @keyref and does not specify "none" for the @linking attribute, all references to that key definition become navigation links to the bound resource. When a key definition is not bound to a resource or specifies "none" for the @linking attribute, references to that key do not become navigation links.

When a key definition has a <topicmeta> subelement, elements that refer to that key and that are empty may get their effective content from the first matching subelement of the <topicmeta> subelement of the key-defining topicref. If no matching element is found, the contents of the <linktext> tag, if present, should be used. Elements within <linktext> that do not match the content model of the key reference directly or after generalization should be skipped. For <link> tags with a keyref attribute, the contents of the <shortdesc> tag in the key-defining element should provide the <desc> contents.

When a key definition has no @href value and no @keyref value, references to that key will not result in a link, even if they do contain an @href attribute of their own. If the key definition also does not contain a <topicmeta> subelement, empty elements that refer to the key (such as <link keyref="a"/> or <xref keyref="a" href="fallback.dita"/>) are removed.

Matching element content for key references contained in @keyref attributes falls into one of two categories:

  1. For elements on which no @href attribute is available (such as cite, dt, keyword, term, ph, indexterm, index-base, and indextermref, and their specializations), matching content is taken from the <keyword> or <term> elements within <keywords> within <topicmeta>. If more than one <keyword> or <term> is present, the matching content is taken from the first of them.
  2. For elements that in addition to @keyref or @conkeyref do specify an @href attribute (such as author, data, data-about, image, link, lq, navref, publisher, source, topicref, xref, and their specializations), matching content includes all elements from within the key definition element that are in valid context within the key reference. Elements that are invalid within the key reference element directly or after generalization are not included or are filtered out.

For key reference elements that become navigation links, if there is no matching element in the key definition, normal link text determination rules apply as for <xref>.

If a referencing element contains a key reference with an undefined key, it is processed as if there were no key reference, and the value of the @href attribute is used as the reference. If the @href attribute is not specified either, the element is not treated as a navigation link. If it is an error for the element to be empty, an implementation may give an error message, and may recover from this error condition by leaving the key reference element empty.

For topic references that use the @keyref attribute, the effective value of the <topicref> element is determined as follows:

  • The effective resource bound to the <topicref> element is determined by resolving all intermediate key references. Each key reference is resolved either to a resource addressed directly by URI reference in an @href attribute, or to no resource. Processors may impose reasonable limits on the number of intermediate key references they will resolve. Processors should support at least three levels of key references.

    Note

    This rule applies to all topic references, including those that define keys. Thus, the effective bound resource for a key definition that uses the @keyref attribute cannot be determined until the key space has been constructed.

    The attributes that are common to a key definition element and a key reference element using that key, other than the @keys, @processing-role, and @id attributes, are combined as for content references, including the special processing for the @xml:lang, @dir, and @translate attributes. There is no special processing associated with either the @locktitle or the @lockmeta attributes when attributes are combined.

    Removed paragraph and list per public review 1 comment C024.
  • Content from a key reference element and a key-defining element is combined following the rules for combining metadata between maps and other maps and between maps and topics. The @lockmeta attribute is honored when metadata content is combined.
  • The combined attributes and content cascade from one map to another or from a map to a topic, but this is controlled by existing rules for cascading, which are not affected by the use of key references.

2.2.1.3.4.3.4: Examples of keys

A generic topicref element used to define a key bound to a topic:

<map>
  ...
  <topicref keys="apple-definition"
    href="topics/glossary/apple-gloss-en-US.dita"
  />
  ...
</map>

In this example, the topicref is acting as both a key definition and contributing to the navigation structure of the map, meaning the topic apple-gloss-en-US.dita will be processed as it would be if the @keys attribute were not present.

The same key definition using the <keydef> specialization of <topicref>:
<map domains="(map mapgroup-d)">
  ...
  <keydef keys="apple-definition"
    href="topics/glossary/apple-gloss-en-US.dita"
  />
  ...
</map>

Because the <keydef> element sets the default value of the @processing-role attribute to "resource-only", the key definition does not contribute to the map's navigation structure, but only serves to establish the key-to-resource binding for the key "apple-definition".

Duplicate definition of the same key:
<map domains="(map mapgroup-d)">
  ...
  <keydef keys="load-toner"
    href="topics/tasks/model-1235-load-toner-proc.dita"
  />
  <keydef keys="load-toner"
    href="topics/tasks/model-4545-load-toner-proc.dita"
  />
  ...
</map>

In this example, only the first definition in document order of the "load-toner" key is effective, so all references to the key within the scope of the root map will resolve to the topic model-1235-load-toner-proc.dita, not topic model-4545-load-toner-proc.dita.

Duplicate definitions with different conditions:
<map domains="(map mapgroup-d)">
  ...
  <keydef keys="file-chooser-dialog"
    href="topics/ref/file-chooser-osx.dita"
    platform="osx"
  />
  <keydef keys="file-chooser-dialog"
    href="topics/tasks/file-chooser-win7.dita"
    platform="windows7"
  />
  ...
</map>

In this example, both key definitions use the @platform metadata attribute to indicate that they apply to different operating system platforms. In this case, the effective key definition is determined not just by the order in which the definitions occur but whether the active value of @platform is "osx" or "windows7" when the key space is determined or the key is resolved. In this case both key definitions are potentially effective because they have distinct values for conditional attributes. Note that if no active value is specified for the @platform condition when determining the effective keys, then both of the definitions are effective and thus the first one in document order is the effective definition.

If the DITA value configuration were defined such that the default behavior is "exclude" rather than the normal default of "include", then neither definition would be effective and the key would be undefined. That case can be avoided by specifying an unconditional key definition after any conditional key definitions, e.g.:

<map domains="(map mapgroup-d)">
  ...
  <keydef keys="file-chooser-dialog"
    href="topics/ref/file-chooser-osx.dita"
    platform="osx"
  />
  <keydef keys="file-chooser-dialog"
    href="topics/tasks/file-chooser-win7.dita"
    platform="windows7"
  />
  <keydef keys="file-chooser-dialog"
    href="topics/tasks/file-chooser-generic.dita"
  />
  ...
</map>

In this case, with an explicitly-configured default behavior of "exclude", if no active value for the platform condition is specified, the third definition will be the effective definition, binding the key "file-chooser-dialog" to the topic file-chooser-generic.dita.

Duplicate key definitions using subordinate maps
Root map:

<map domains="(map mapgroup-d)">
  <keydef keys="toner-specs"
   href="topics/reference/toner-type-a-specs.dita"
  />
  <mapref href="submap-01.ditamap"/>
  <mapref href="submap-02.ditamap"/>
</map>

submap-01.ditamap:

<map domains="(map mapgroup-d)">
  <keydef keys="toner-specs"
   href="topics/reference/toner-type-b-specs.dita"
  />
  <keydef keys="toner-handling"
   href="topics/concepts/toner-type-b-handling.dita"
  />
</map>

submap-02.ditamap:

<map domains="(map mapgroup-d)">
  <keydef keys="toner-specs"
   href="topics/reference/toner-type-c-specs.dita"
  />
  <keydef keys="toner-handling"
   href="topics/concepts/toner-type-c-handling.dita"
  />
  <keydef keys="toner-disposal"
   href="topics/tasks/toner-type-c-disposal.dita"
  />
</map>

In this example the effective key space is:

Key Bound resource
toner-specs toner-type-a-specs.dita
toner-handling toner-type-b-handling.dita
toner-disposal toner-type-c-disposal.dita

The binding for the key "toner-specs" in the root map is effective because it is the first encountered in a breadth-first traversal of the map tree. The binding for the key "toner-handling" to the definition in submap-01.ditamap is effective because submap-01 is included before submap-02 and therefore comes first in the map tree. The binding for the key "toner-disposal" is effective because it is the only definition of the key in the map tree.

A key definition that uses elements within the key definition rather than a separately-addressed resource
<map domains="(map mapgroup-d)">
  <keydef keys="product-name">
    <topicmeta>
     <keywords>
       <keyword>Thing-O-Matic</keyword>
     </keywords>
    </topicmeta>
  </keydef>
</map>

This form of key definition would normally be used from a <keyword> element in order to use the value defined in the key definition:

<topic id="topicid">
  <title>About the <keyword keyref="product-name"/> product</title>
</topic>

Normal processing results in the effective title text "About the Thing-O-Matic product".

A key definition that uses both elements within the key definition and points to a resource
<map domains="(map mapgroup-d)">
  <keydef keys="yaw-restrictor"
    href="parts/subassem/subassm-9414-C.dita"
  >
    <topicmeta>
     <keywords>
       <keyword>yaw restrictor assembly</keyword>
     </keywords>
    </topicmeta>
  </keydef>
</map>

When referenced from a <keyword> element with no directly-specified content, normal processing sets the effective content of the keyword to "yaw restrictor assembly" and makes the keyword a navigation link to the topic subassm-9414-C.dita.

Redirect a link or xref
  1. Author 1 creates a map that associates keys with each topic, for example <topicref keys="a" href="a1.dita"/>
  2. Author 1 creates topic c.dita that contains a related link to a0.dita - but uses the keyref attribute: <link keyref="a" href="a0.dita"/>
  3. Author 2 reuses c.dita, but wants to redirect the link, so applies a different map with <topicref keys="a" href="a2.dita"/>. The link in c.dita now resolves to a2.dita when author 2 builds it (it continues to resolve to a1.dita when author 1 builds it)
  4. Author 3 also reuses c.dita, but wants the link to point to an external resource, so creates an external-pointing topicref to resolve the key:
    <topicref  keys="a" href="http://www.a..." scope="external">
      <topicmeta>
        <linktext>This links to A2</linktext>
        <shortdesc>Because it does.</shortdesc>
      </topicmeta>
    </topicref>

    The link in c.dita now resolves to an external URI reference when author 3 builds it (without affecting how it resolves for the other two reusers).

  5. Author 4 wants to get rid of the link, so creates an explicitly empty topicref to get rid of it: <topicref keys="a"/>. This gets rid of the link for author 4 without affecting the other reusers.
  6. Author 5 wants to turn the link into just plain text (not hypertext) - for example a citation of a print-only magazine article.
    <topicref  keys="a">
      <topicmeta>
        <linktext>This is just text.</linktext>
      </topicmeta>
    </topicref>
  7. Author 6 reuses c.dita, but does not include a topicref that defines the key “a” in the map. Topic a0.dita is used as the “fallback” related link.
Redirect conref
  1. Author 1 creates a map that associates a key with a topic that contains reusable elements, for example <topicref keys="reuse" href="prodA/reuse.dita"/>
  2. Author 1 uses the key instead of the full href whenever creating conrefs - for example <p conkeyref="reuse/para1"/>
  3. Author 2 wants to reuse author 1's content, but swap in a different set of reusable content. So Author 2 associates the key "reuse" with a different topic: <topicref keys="reuse" href="prodB/mytopic.dita"/>. So now <p conkeyref="reuse/para1"/> will resolve to a paragraph with the id “para1” in prodB/mytopic.dita when author 2 builds the content, while continuing to resolve to the para with the id “para1” in prodA/reuse.dita for author 1.
Create links from keywords, terms, or other elements
  1. Author 1 creates a map that contains glossary entries, and associates keys for each entry: <topicref keys="myterm" href="myterm.dita"/>
  2. Author 1 then uses the keys to create links to the appropriate glossary entry from occurrences of terms in content: <term keyref="myterm">my term</term>.

Note

The reusing author must create a parallel set of elements and IDs in the replacement topic; the element IDs within the topic are not remapped, only the pointer to the topic container.
Swap out variable content
  1. Author 1 creates a map for key words and phrases that tend to change, such as UI labels and product names. The topicrefs do not in this case contain any actual hrefs, just the text that should be used:
    <topicref keys="prodname">
      <topicmeta>
        <linktext>My Product</linktext>
      </topicmeta>
    </topicref>
  2. Author 1 then uses the keys to draw text into empty keywords: <keyword keyref="prodname"/>
  3. Author 2 reuses the content but wants to use a different product name, so associates prodname with a different string:
    <topicref keys="prodname">
      <topicmeta>
        <linktext>Another Product</linktext>
      </topicmeta>
    </topicref>

    The keyword now resolves to "Another Product" for author 2, while continuing to resolve to "My Product" for author 1.

Note

A processor should generate a warning message when a key reference on an empty element cannot be resolved, resulting in the element effectively being removed.
Splitting or combining targets
  1. Author 1 creates a map in which most branches have the same structure: intro, example, reference. Two branches have only very little content in them, because the product support is only minimal. In anticipation of future elaboration, author 1 assigns 4 keys to the container under which more topics are expected in the future:
    <topicref keys="blat-overview blat-intro blat-example blat-reference" 
              href="blat-overview.dita"/>
  2. Author 2 references blat-example, and in the future when Author 1 moves blat-example into a separate topic, author 2's link remains appropriate and valid and does not need to be reworked.
  3. Author 3 is reusing a bunch of author 1's content, but in a context where blats are not available, and are instead replaced by foobars. So author 3 simply adds the blat keys to their own foobar topicref:
    <topicref keys="blat-overview blat-intro blat-example blat-reference foobar" 
              href="foobar.dita"/>
Removing a link
  1. Author 1 creates a map which defines the key "overview":
    <topicref keys="overview" 
              href="blat-overview.dita"/>
  2. Author 1 adds a link to the topic productInfo.dita using they keyref attribute, and using the href as a fallback:
    <link keyref="overview" href="blat-overview.dita"/>
  3. Author 2 wishes to reuse productInfo.dita, but does not want a link to overview information. So, author 2 creates a new definition for the key overview that does not have a target:
    <topicref keys="overview"/>

    The link element which uses keyref="overview" is now removed, because there is no target and no link text.

2.2.1.3.4.4: Summary of addressing elements

This topic contains a table of DITA elements that may be used to link to or address other items. The table describes how and why each element uses the addressing mechanism, rather than defining the element itself.
DITA addressing elements
Base element type Description and notes
topicref Establishes a relationship between the containing map and another map, DITA topic, or non-DITA resource when @href or @keyref is specified. When @processing-role is "resource-only", establishes a dependency on the target resource but does not contribute to the navigation tree. May establish additional relationships between the referenced resource and other resources in the navigation hierarchy as determined by the values of the @collection-type attribute. By default, these additional relationships are bi-directional. The directionality of additional relationships can be controlled using the @linking attribute.
reltable Establishes relations of a specific type (as defined by the relationship table) among topicref-linked resources where each row in the table establishes a single set of relationships among the topicref-linked resources in each cell of the row. Relationships defined in relationship tables are outside of any navigation structure defined by the map.
navref Establishes a map-to-map relationship where the integration of the referenced map's navigation structure is deferred. The referenced map is processed independently from the referencing map and does not contribute to the referencing map's key space.
link Establishes a link from its containing topic to another resource. Any <link> element within a topic can be functionally replaced by the equivalent link defined in a relationship table. Likewise, topic-to-topic links defined by relationship tables can be replaced by the equivalent set of <link> elements in the topics involved.
xref Establishes a navigation link from a topic's abstract or body to another DITA element or non-DITA resource.
image Links to an image for display at the point of reference.
object Links to a media object for display at the point of reference.
longdescref Links to a long description for an image or object. Can be used in place of the @longdescref attribute on the parent image or object element.
longquoteref Links to the source of a long quotation. Used in place of the @href or @keyref attribute on <lq> and enables use of all the normal link-controlling attributes.
data-about Establishes an explicit relationship between one or more <data> elements and the DITA element or non-DITA resource to which the data applies.
Elements that take @keyref but not @href Elements that take @keyref but not @href establish navigation links to the referenced DITA element or non-DITA resource when @keyref is specified and the key is bound to a topic, map, or non-DITA resource. If the linking element has empty content and the key definition has a matching subelement in its <topicmeta>, establishes a use-by-reference relationship to the matchin element in the key definition. Includes <ph>, <cite>, <keyword>, and <term>.
imagemap (utilities domain) Enables linking from defined areas overlaid on a graphic. Modeled on the HTML image map facility.
author May link to a resource that represents the author in some way, such as a biographical topic or image.
data May link to a resource that represents the metadata value in some way.
fragref (programming domain) Links to a syntax definition fragment.
lq May link to the source of the quotation.
publisher May link to a resource that represents the publisher in some way, such as the Publisher's Web site or a publisher description topic.
source May link to a description of the source for the topic to which the <source> element applies.
synnoteref (programming domain) May link to a syntax note.
fn Establishes a relationship between the content within which the footnote appears and the note itself, such that the footnote is an annotation of the content.

2.2.1.3.5: Content inclusion (conref)

The DITA @conref, @conkeyref, @conrefend, and related attributes provide a mechanism for reuse of content fragments within DITA topics or maps.
  • The @conref or @conkeyref attribute can be used to pull the referenced content into the location of the referencing element. The combination of either of these attributes with the @conrefend attribute can be used to pull the content of a range of elements.

  • The @conref attribute can be used in combination with the @conaction attribute to push content from the referencing element to the location of the referenced element.

Pulling content to the referencing element

When the @conref or @conkeyref attribute is used alone, the referencing element acts as a placeholder for the referenced element, and the content of the referenced element is rendered in place of the referencing element.

The combination of the @conrefend attribute with either @conref or @conkeyref specifies a range of sibling elements that is rendered in place of the referencing element. See The conrefend attribute for examples of how to combine @conrefend with either @conref or @conkeyref.

Pushing content from the referencing element

The @conaction attribute reverses the direction of reuse from pull to push. When the @conref or @conkeyref attribute is used in combination with the @conaction attribute, content can be rendered before, after, or in place of the referenced element, depending on the value of the @conaction attribute. See The conaction attribute for more details.

Note

The @conaction and @conrefend attributes cannot both be used within the same referencing element, so it is not possible to push a range of elements.

The identifier for the referenced element must be either absolute or resolvable in the context of the referencing element.

More formally, the DITA @conref attribute can be considered a transclusion mechanism similar to XInclude and to HyTime value references. DITA differs from these mechanisms, however, in that conref validity does not apply simply to the current content at the time of replacement, but to the ranges of possible content given the constraints of both the referencing document type and the referenced document type. DITA compares the constraints of each context to ensure the continued validity of the replacement content in its new context. A conref processor must not permit resolution of a reuse relationship that could be rendered invalid under the rules of either the reused or reusing content.

When pulling content with the conref mechanism – if the referenced element is the same type as the referencing element, and the list of domains declared on the domains attribute in the referenced topic or map instance is the same as or a subset of the list of domains declared in the referencing document, the element set allowed in the referenced element is guaranteed to be the same as, or a subset of, the element set allowed in the referencing element. A processor resolving a conref should tolerate specializations of valid elements and should generalize elements in the pulled content fragment as needed for the referencing context.

When pushing content with the conref mechanism, the domain checking algorithm is reversed. In this case, the domains attribute on the referenced document's topic or map must be the same as or a superset of the domains declared on the referencing document. Once again, a processor resolving a conref should tolerate specializations of valid elements and should generalize elements in the pushed content fragment as needed for the referenced context.

All replacement of content based on @conref occurs after parsing of the document but prior to any styling or other transformational or presentational operations on the full topic.

The referenced element may replace the referencing element based on build-time or runtime conditions. For example, content such as product names or install paths may differ from one product to another. It is advantageous to separate such content from topic content which is reused for more than one product. When the content is reused in a different context, different resources are substituted as reference elements.

A fragment of DITA content, such as an XML document containing only a single paragraph without a topic or map ancestor, does not contain enough information for the conref processor to be able to determine the validity of a reference to it. Consequently, the value of a conref must specify a referenced element within a DITA topic or DITA map (or it may point to the entire topic or map).

The attribute specifications on the resolved element can be drawn from both the referencing element and the referenced element, according to the following priority:

  1. All attributes as specified on the referencing element, except for attributes which specify the value "-dita-use-conref-target". (The term "target" here refers to the referenced element.)
  2. All attributes as specified on the referenced element except:
    1. The id attribute
    2. Any attribute that is also specified on the referencing element, except when the value specified on the referencing element is "-dita-use-conref-target"
  3. The xml:lang attribute has special treatment as described in The @xml:lang attribute.

The only time the resolved element would include an attribute whose specified value is "-dita-use-conref-target" is when the referenced element had that attribute specified with the "-dita-use-conref-target" value and the referencing element either had no specification for that attribute or had it also specified with the "-dita-use-conref-target" value. If the final resolved element (after the complete resolution of any conref chain, as explained below) has an attribute with the "-dita-use-conref-target" value, that should be treated as equivalent to having that attribute unspecified.

A given attribute value on the resolved element comes in its entirety from either the referencing element or the referenced element; the attribute values of the referencing and referenced elements for a given attribute are never additive, even if the property (such as the audience type) takes a list of values.

If the referenced element has a @conref attribute specified, the above rules should be applied recursively with the resolved element from one referencing/referenced combination becoming one of the two elements participating in the next referencing/referenced combination. The result should preserve without generalization all elements that are valid in the originating context, even if they are not valid in an intermediate context. For example, if topicA and topicC allow highlighting, and topicB does not, then a content reference chain of topicA->topicB->topicC should preserve any highlighting elements in the referenced content. The result, however it is achieved, must be equivalent to the result of resolving the conref pairs recursively starting from the original referencing element in topicA.

The @conrefend attribute is used when referencing a range of elements with the conref mechanism. The @conref attribute references the first element in the range, while @conrefend points to the last element in the range. Although the start and end referenced elements must both be of the same type as the referencing element (or specialized from that element type), the intermediary, contiguous nodes in the middle of the range do not have to be the same.

2.2.1.3.6: Conditional processing (profiling)

Attribute-based profiling, also known as conditional processing or applicability, is the use of classifying metadata that enables the filtering, flagging, searching, indexing, and other processing based on the association of an element with one or more values in a specific classification domain.

DITA defines attributes that are specifically intended to enable filtering or flagging of individual elements. Those attributes are @audience, @platform, @product, @otherprops, @props, and @rev (flagging only). This enables the creation of topics and maps that can be dynamically configured at processing time to reflect a specific set of conditions, using the DITA-defined conditional processing profile (DITAVAL).

Processors should be able to perform filtering and flagging using the attributes listed above. Although metatdata elements exist with similar names, such as the <audience> element, processors are not required to perform conditional processing using metadata elements. The @props attribute can be specialized to create new attributes, and processors should be able to perform conditional processing on specializations of @props.

Conditional processing attributes

For a topic or topicref, the audience, platform, and product metadata can be expressed with attributes on the topic or topicref element or with elements within the topic prolog or topicmeta element. While the metadata elements are more expressive, the meaning of the values is the same, and can be used in coordination. For example, the prolog elements can fully define the audiences for a topic, and then metadata attributes can be used within the content to identify parts that apply to only some of those audiences.

audience
The values in the audience attribute may also be used to reference a more complete description of an audience in an audience element. Use the name of the audience in the audience element when referring to the same audience in an audience attribute.

The audience attribute takes a space-delimited list of values, which may or may not match the name value of any audience elements.

platform
The platform might be the operating system, hardware, or other environment. This attribute is equivalent to the platform element for the topic metadata.

The platform attribute takes a space-delimited list of values, which may or may not match the content of a platform element in the prolog.

product
The product or component name, version, brand, or internal code or number. This attribute is equivalent to the prodinfo element for the topic metadata.

The product attribute takes a space-delimited list of values, which may or may not match the value of the prodname element in the prolog.

rev
The identifier for the revision level. For example, if a paragraph was changed or added during revision 1.1, the rev attribute might contain the value "1.1".
otherprops
A catch-all for metadata qualification values about the content. This attribute is equivalent to the othermeta element for the topic metadata.

The attribute takes a space-delimited list of values, which may or may not match the values of othermeta elements in the prolog.

For example, a simple otherprops value list: <codeblock otherprops="java cpp">

MP: deprecated grouped value syntax per TC meeting 2007/01/02
The attribute may take labeled groups of values as for @props. Processors may treat such values as equivalent to @props or they may treat such values as simple strings. The use of labeled groups in @otherprops is deprecated in favor of using specializations of @props. Processors should clearly document how they treat grouped @otherprops values. See Attribute generalization for details on generalized @props attribute values.

props
A generic attribute for conditional processing values. Starting with DITA 1.1, the props attribute can be specialized to create new conditional processing attributes. See Attribute generalization.
Using conditional processing attributes

Each attribute takes zero or more space-delimited string values. For example, you can use the product attribute to identify that an element applies to two particular products.

Example source
<p audience="administrator">Set the configuration options:
    <ul>
        <li product="extendedprod">Set foo to bar</li>
        <li product="basicprod extendedprod">Set your blink rate</li>
        <li>Do some other stuff</li>
        <li platform="Linux">Do a special thing for Linux</li>
    </ul>
</p>
            
Evaluating conditional processing attributes

At processing time, a DITAVAL conditional processing profile may be used to specify values you want to include, exclude, or flag.

For example, a publisher producing information for a mixed audience using the basic product could choose to flag information that applies to administrators, and exclude information that applies to the extended product, by defining a conditional processing profile like this:

<val>
  <prop att="audience" val="administrator" action="flag">
    <startflag><alt-text>ADMIN</alt-text></startflag>
  </prop>
  <prop att="product" val="extendedprod" action="exclude"/>
</val>

At output time, the paragraph is flagged, and the first list item is excluded (since it applies to extendedprod), but the second list item is still included (even though it does apply to extendedprod, it also applies to basicprod, which was not excluded).

The result should look something like:

ADMIN Set the configuration options:

  • Set your blink rate
  • Do some other stuff
  • Do a special thing for Linux

Filtering logic

By default, values in conditional processing attributes that are not defined in a DITAVAL profile evaluate to "include". For example, if the value audience="novice" is used on a paragraph, but this value is not defined in a DITAVAL profile, the attribute evaluates to "include". However, the DITAVAL profile may change this default to "exclude", so that any value not explicitly defined in the DITAVAL profile will evaluate to "exclude". The profile may also be used to change the default for a single attribute; for example, it may declare that values in the platform attribute default to exclude while those in the product attribute default to include. See DITAVAL elements for information on how to set up a DITAVAL profile and how to change default behaviors.

When deciding whether to include or exclude a particular element, a processor should evaluate each attribute, and then evaluate the set of attributes.

  • If all the values in a single attribute evaluate to "exclude", the attribute evaluates to "exclude".
  • If any single attribute evaluates to exclude, the element is excluded.

For example, if a paragraph applies to three products and the publisher has chosen to exclude all of them, the processor should exclude the paragraph. This is true even if the paragraph applies to an audience or platform that is not excluded. But if the paragraph applies to an additional product that has not been excluded, then its content is still relevant for the intended output and should be preserved.

Flagging logic

When deciding whether to flag a particular element, a processor should evaluate each value. Wherever a value that has been set as flagged appears in its attribute (for example, audience="administrator") the process should add the flag. When multiple flags apply to a single element, multiple flags should be rendered, typically in the order they are encountered.

Flagging could be done using text (for example, bold text against a colored background) or using images. When the same element evaluates as both flagged and filtered (for example, flagged because of an audience attribute value and filtered because of its product attribute values), the element should be filtered.

2.2.1.3.7: Chunking

Content may be chunked (divided or merged into new output documents) in different ways for the purposes of authoring, for delivering content, and for navigation. For example, something best authored as a set of separate topics may need to be delivered as a single Web page. A map author can use the chunk attribute to split up multi-topic documents into component topics or combine multiple topics into a single document as part of output processing.
Examples of use

Here are some examples of potential uses of the chunk attribute:

Reuse of a nested topic
A content provider creates a set of topics as a single document. Another user wants to incorporate only one of the nested topics from the document. The new user can reference the nested topic from a DITA map, using the chunk attribute to specify that the topic should be produced in its own document.
Identification of a set of topics as a unit
A curriculum developer wants to compose a lesson for a SCORM LMS (Learning Management System) from a set of topics without constraining reuse of those topics. The LMS can save and restore the learner's progress through the lesson if the lesson is identified as a referenceable unit. The curriculum developer defines the collection of topics with a DITA map, using the chunk attribute to identify the learning module as a unit before generating the SCORM manifest.
Using the chunk attribute

When a set of topics is processed for output using a map, the map author may use the chunk attribute to override whatever default chunking behavior is set by the processor. The chunk attribute allows the map author to request that multi-topic documents be be broken into multiple documents, and that multiple individual topics be combined into a single document.

Chunking is necessarily output processor specific with chunked output required for some and not supported for other types of output. Chunking is also implementation specific with some implementations supporting some, but not all, chunking methods, or adding new implementation specific chunking methods to the standard methods described in this specification.

The value of the chunk attribute consists of one or more space delimited tokens. Tokens are defined in three categories: for selecting topics, for setting chunking policies, and for defining how the chunk values impact rendering. It is an error to use two tokens from the same category on a single topicref element.

Selecting topics
These values describe what portion of a target document is referenced. Such tokens are only useful when addressing a document that is made up of multiple topics. These values are ignored when the element on which they are specified does not reference a topic. Recognized values include:
  • select-topic : The "select-topic" token is used to select an individual topic without any ancestors, descendents, or peers from within the same document.
  • select-document : The "select-document" token is used to select the target topic together with all ancestors, descendents, and peers within the target document.
  • select-branch : The "select-branch" token is used to select the target topic together with its descendents.
Policies for splitting or combining documents
Two tokens are defined for setting chunking policies. Each token applies only to the current topicref or topicref specialization, except when used on the map element, in which case the value establishes a policy for the entire map.
  • by-topic : The "by-topic" token establishes a policy for the current topicref (or topicref specialization) where a separate output chunk is produced for each of the selected topics.
  • by-document : The "by-document" token establishes a policy for the current topicref (or topicref specialization) where a single output chunk is produced for the referenced topic or topics.
Rendering the selection
The following tokens affect how the chunk values impact rendering of the map or topics.
  • to-content : The "to-content" token indicates that the selection should be rendered as a new chunk of content.
    • When specified on a topicref or topicref specialization, this means that the topics selected by this topicref and its children will be rendered as a single chunk of content.
    • When specified on the map element, this indicates that the contents of all topics referenced by the map are to be rendered as a single document.
    • When specified on a topicref or topicref specialization that contains a title but no target, this indicates that a title-only topic must be generated in the rendered result, along with any topics referenced by child topicrefs (and topicref specializations) of this topicref. The rendition address of the generated topic is determined as defined for the copy-to attribute. If the copy-to attribute is not specified and the topicref has no id attribute, the address of the generated topic is not required to be predictable or consistent across rendition instances.

    For cross references to topicref elements, if the value of the chunk attribute is "to-content" or is unspecified, the cross reference is treated as a reference to the target topic. If the reference is to a topicref with no target, it is treated as a reference to the generated title-only topic.

  • to-navigation : The "to-navigation" token indicates that a new chunk of navigation should be used to render the current selection (such as an individual Table of Contents or related links). When specified on the map element, this token indicates that the map should be presented as a single navigation chunk. If a cross reference is made to a topicref that has a title but no target, and the chunk value of that topicref is set to "to-navigation", the resulting cross reference is treated as a reference to the rendered navigation document (such as an entry in the table of contents).

Some tokens or combinations of tokens may not be appropriate for all output types. When unsupported or conflicting tokens are encountered during output processing, warning or error messages should be produced. Recovery from such conflicts or other errors is implementation dependent.

There is no default value for the chunk attribute and the chunk attribute does not cascade from container elements, meaning that the chunk value on one topicref is not passed to its children. A default by-xxx policy for an entire map may be established by setting the chunk attribute on the map element, which will apply to any topicref that does not specify its own by-xxx policy.

When no chunk attribute values are given, chunking behavior is implementation dependent. When variations of this sort are not desired, a default for a specific map may be established by including a chunk attribute value on the map element.

When creating new documents via chunk processing, the storage object name or identifier (if relevant) is determined as follows:

  1. If an entire map is used to generate a single chunk (by placing to-content on the map element), the name is taken from the name of the map.
  2. If the @copy-to attribute is specified, the name is taken from the @copy-to attribute.
  3. If @copy-to is not specified and the by-topic policy is in effect, the name is taken from the @id attribute of the topic.
  4. If @copy-to is not specified and the by-document policy is in effect, the name is taken from the name of the referenced document.

Examples

In the examples below, an extension of ".xxxx" is used in place of the actual extensions that will vary by output format. For example, when the output format is HTML, the extension may actually be ".html", but this is not required.

The examples below assume the existence of the following files:

  • parent1.dita, parent2.dita, etc., each containing a single topic with id P1, P2, etc.
  • child1.dita, child2.dita, etc., each containing a single topic with id C1, C2, etc.
  • grandchild1.dita, grandchild2.dita, etc., each containing a single topic with id GC1, GC2, etc.
  • nested1.dita, nested2.dita, etc., each containing two topics: parent topics with id N1, N2, etc., and child topics with ids N1a, N2a, etc.
  • ditabase.dita, with the following contents:
    <dita xml:lang="en-us">
      <topic id="X">
        <title>Topic X</title><body><p>content</p></body>
      </topic>
      <topic id="Y">
        <title>Topic Y</title><body><p>content</p></body>
        <topic id="Y1">
          <title>Topic Y1</title><body><p>content</p></body>
          <topic id="Y1a">
           <title>Topic Y1a</title><body><p>content</p></body>
          </topic>
        </topic>
        <topic id="Y2">
          <title>Topic Y2</title><body><p>content</p></body>
        </topic>
      </topic>
      <topic id="Z">
        <title>Topic Z</title><body><p>content</p></body>
        <topic id="Z1">
          <title>Topic Z1</title><body><p>content</p></body>
        </topic>
      </topic>
    </dita>

  1. The following map causes the entire map to generate a single output chunk.
    <map chunk="to-content"> 
       <topicref href="parent1.dita"> 
          <topicref href="child1.dita"/> 
          <topicref href="child2.dita"/> 
       </topicref> 
    </map> 
  2. The following map will generate a separate chunk for every topic in every document referenced by the map. In this case, it will result in the topics P1.xxxx, N1.xxxx, and N1a.xxxx.
    <map chunk="by-topic"> 
       <topicref href="parent1.dita"> 
          <topicref href="nested1.dita"/> 
       </topicref> 
    </map> 
  3. The following map will generate two chunks: parent1.xxxx will contain only topic P1, while child1.xxxx will contain topic C1, with topics GC1 and GC2 nested within C1.
    <map> 
       <topicref href="parent1.dita"> 
          <topicref href="child1.dita" chunk="to-content"> 
            <topicref href="grandchild1.dita"/>
            <topicref href="grandchild2.dita"/>
          </topicref>
       </topicref> 
    </map> 
  4. The following map breaks down portions of ditabase.dita into three chunks. The first chunk Y.xxxx will contain only the single topic Y. The second chunk Y1.xxxx will contain the topic Y1 along with its child Y1a. The final chunk Y2.xxxx will contain only the topic Y2. For navigation purposes, the chunks for Y1 and Y2 are still nested within the chunk for Y.
    <map>
      <topicref href="ditabase.dita#Y" copy-to="Y.dita"
                chunk="to-content select-topic">
        <topicref href="ditabase.dita#Y1" copy-to="Y1.dita"
                  chunk="to-content select-branch"/>
        <topicref href="ditabase.dita#Y2" copy-to="Y2.dita"
                  chunk="to-content select-topic"/>
      </topicref>
    </map>
  5. The following map will produce a single output chunk named parent1.xxxx, containing topic P1, with topic Y1 nested within P1, but without topic Y1a.
    <map chunk="by-document"> 
       <topicref href="parent1.dita" chunk="to-content"> 
          <topicref href="ditabase.dita#Y1" 
             chunk="select-topic"/> 
       </topicref> 
    </map> 
  6. The following map will produce a single output chunk, parent1.xxxx, containing topic P1, topic Y1 nested within P1, and topic Y1a nested within Y1.
    <map chunk="by-document"> 
       <topicref href="parent1.dita" chunk="to-content"> 
          <topicref href="ditabase.dita#Y1" 
             chunk="select-branch"/> 
       </topicref> 
    </map> 
  7. The following map will produce a single output chunk, P1.xxxx. The topic P1 will be the root topic, and topics X, Y, and Z (together with their descendents) will be nested within topic P1.
    <map chunk="by-topic"> 
       <topicref href="parent1.dita" chunk="to-content"> 
          <topicref href="ditabase.dita#Y1" 
             chunk="select-document"/> 
       </topicref> 
    </map> 
  8. The following map will produce a single output chunk named parentchunk.xxxx containing topic P1 at the root. Topic N1 will be nested within P1, and N1a will be nested within N1.
    <map chunk="by-document"> 
       <topicref href="parent1.dita" chunk="to-content" copy-to="parentchunk.dita"> 
          <topicref href="nested1.dita" chunk="select-branch"/> 
       </topicref> 
    </map> 
  9. The following map will produce two output chunks. The first chunk named parentchunk.xxxx will contain the topics P1, C1, C3, and GC3. The "to-content" token on the reference to child2.dita causes that branch to begin a new chunk named child2chunk.xxxx, which will contain topics C2 and GC2.
    <map chunk="by-document"> 
       <topicref href="parent1.dita" 
          chunk="to-content" copy-to="parentchunk.dita"> 
          <topicref href="child1.dita" chunk="select-branch"/> 
          <topicref href="child2.dita" 
             chunk="to-content select-branch" 
             copy-to="child2chunk.dita"> 
             <topicref href="grandchild2.dita"/> 
          </topicref> 
          <topicref href="child3.dita"> 
             <topicref href="grandchild3.dita" 
                chunk="select-branch"/> 
          </topicref> 
       </topicref> 
     </map> 
  10. The following map produces a single chunk named nestedchunk.xxxx, which contains topic N1 with no topics nested within.
    <map> 
       <topicref href="nested1.dita#N1" 
                 copy-to="nestedchunk.dita" 
                 chunk="to-content select-topic"/> 
    </map> 
  11. The following map will produce two navigation chunks, one for P1, C1, and the other topic references nested under parent1.dita, and a second for P2, C2, and the other topic references nested under parent2.dita.
    <map> 
        <topicref href="parent1.dita" 
              navtitle="How to set up a web server"
              chunk="to-navigation"> 
           <topicref href="child1.dita" 
              chunk="select-branch"/> 
           <!-- ... -->
        </topicref> 
        <topicref href="parent2.dita" 
              navtitle="How to ensure database security"
              chunk="to-navigation"> 
           <topicref href="child2.dita" 
              chunk="select-branch"/> 
           <!-- ... -->
        </topicref> 
        <!-- ... -->
    </map> 
      
Implementation-specific tokens and future considerations

Additional chunk tokens may be added to the DITA Standard in the future. In addition, implementers may define their own custom, implementation-specific tokens. To avoid name conflicts between implementations or with future additions to the standard, implementation-specific tokens should consist of a prefix that gives the name or an abbreviation for the implementation followed by a colon followed by the chunking method name. For example: “acme:level2” could be a token for the Acme DITA Toolkit that requests the “level2” chunking method.

2.2.1.3.8: Printing

By default, the content of most elements is included in all output media. The DITA map provides a means to suppress element content from appearing in print-oriented media, or from appearing in non-print-oriented media, such as HTML. The generation or non-generation of print and other forms of output can also be affected through the use of other navigation-related attributes.

The author can specify whether individual topics or groups of topics referenced in a DITA map should be included for processing to print-oriented outputs such as PDF. Each map (or map specialization) and topicref (or topicref specialization) in a DITA map supports the attributes @toc, @processing-role, and @print. The @print attribute supports the following enumerated values, each controlling the way that print-oriented processors handle the inclusion or exclusion of topics or groups of topics.

@print value Print-oriented Processing Non-print-oriented Processing

unspecified (default)

Example:

<topicref href="foo.dita">

Topics referenced by the map element are included in output.

Topics referenced by the map element are included in output.

yes

Example:

<topicref href="foo.dita" print="yes">

Topics referenced by the map element are included in output.

Topics referenced by the map element are included in output.

printonly

Example:

<topicref href="foo.dita" print="printonly">

Topics referenced by the map element are included in output.

Topics referenced by the map element are excluded in output.

no

Example:

<topicref href="foo.dita" print="no">

Topics referenced by the map element are excluded in output.

Topics referenced by the map element are included in output.

-dita-use-conref-target

Example:

<topicref conref="#foo-topic" print="-dita-use-conref-target">

Topics referenced by the map element derive a value for @print from the @print value of the referenced map element.

See Using the -dita-use-conref-target value for more details on this value.

Topics referenced by the map element derive a value for @print from the @print value of the referenced map element.

See Using the -dita-use-conref-target value for more details on this value.

Note

If a value for @print is not specified explicitly in a map element, but is specified in a map that references the map element, the @print value cascades to the referenced map. If the @print value is not specified on the referencing map, a default of "yes" is assumed.

Use @print="printonly" to identify transitional topics to be included exclusively in highly contextual or linear print-oriented output.

If the referenced topic should be excluded from all output formats, set the @processing-role attribute to "resource-only" instead of using the @print attribute. Content within that topic may still be referenced for display in other locations.

2.2.1.3.9: Translation and localization

DITA has features that facilitate preparing content for translation and working with multilingual content, including the @xml:lang attribute, the @dir attribute, and the @translate attribute. In addition, the <index-sort-as> element provides support for index sorting in languages in which the index sort order must be modified by the author or translator.

2.2.1.3.9.1: The @xml:lang attribute

The @xml:lang attribute specifies the language (and optionally the locale) of the element content. The @xml:lang attribute applies to all attributes and content of the element where it is specified, unless it is overridden with @xml:lang on another element within that content. If the @xml:lang attribute on the document (outermost) element of a map or of a top-level topic has no value, the processor should assume a default value. The default value of the processor may be either fixed, configurable, or derived from the content itself, such as the @xml:lang attribute on the primary map file. As the default value of a processor may be fixed, it is strongly recommended that the @xml:lang attribute be set on each map and top-level topic.

The @xml:lang attribute is described in the XML Recommendation at http://www.w3.org/TR/REC-xml/#sec-lang-tag. Note that the recommended style for the @xml:lang attribute is lower case language and uppercase locale (if used), separated by a hyphen, i.e., en-US or sp-SP.

Recommended use in topics

For a DITA document that contains a single language, the highest level element that contains content should set the @xml:lang attribute to the language (and optionally the locale) that applies to the document.

When a DITA document contains more than one language, the highest level element should set the @xml:lang attribute to the primary language (and optionally the locale) that applies to the document. If part of a document is written in a different language, authors should ensure that the part is enclosed in an element with the @xml:lang attribute set appropriately. Processors should style each element in a way that is appropriate for its language as identified by the @xml:lang attribute. This method of overriding the default document language applies to both block and inline elements that use the alternate language.

The @xml:lang attribute should be explicitly set on the root element of each map and topic. When the @xml:lang attribute is specified for a document, DITA processors must use the specified value to determine the language of the document. It is strongly recommended to author the @xml:lang value in the source language document, in order to facilitate the translation process, where translation tools (or translators) simply change the existing @xml:lang attribute value to the value of the target language.

Note: Some translation tools support changing the value of an existing @xml:lang attribute, but do not support adding new markup to the document being translated. Therefore, if the author of the source language content does not set the @xml:lang attribute, it may not be possible (or may be difficult) for the translator to add the @xml:lang attribute to the translated document.

Use in maps

The @xml:lang attribute can be specified on the <map> element. The @xml:lang attribute cascades within the map the same way that it cascades within a topic. The @xml:lang value does not cascade from one map to another or from a map to a topic, and an @xml:lang value specified in a map does not override @xml:lang values specified in other maps or in topics.

The primary language for the map should be set on the <map> element. The specified language should remain in effect for all child <topicref> elements, unless a child specifies a different value for the @xml:lang attribute.

When no @xml:lang value is supplied locally or on an ancestor, a processor determined default value is assumed.

Use with the @conref or @conkeyref attribute

When a @conref or @conkeyref attribute is used to include content from one element into another, the processor must use the effective value of the @xml:lang attribute from the referenced element, that is, the element that contains the content. If the reference element does not have an explicit value for the @xml:lang attribute, the effective value for its @xml:lang attribute is determined by using the standard @xml:lang inheritance from the referenced source.. If this action results in no effective value for @xml:lang, the processor should default to using the same value that is used for topics that do not set the @xml:lang attribute.

This behavior is shown in the following example, where the value of the @xml:lang attribute of the included note is obtained from its parent <section> element (id="qqwwee") that sets the @xml:lang attribute. In this example, the @xml:lang value "fr" is applied to the note with the id attribute "mynote".

<-- ****************installingAcme.dita********************* -->
                
<?xml version="1.0"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic xml:lang="en" id="install_acme">
 <title>Installing Acme</title>
 <shortdesc>Step-by-step details about how to install Acme.</shortdesc>
 <body>
  <section>
   <title>Before you begin</title>
   <p>Special notes when installing Acme in France:</p>
   <note conref="warningsAcme.dita#topic_warnings/frenchwarnings"></note>
  </section>
 </body>
</topic>
</dita>
*******************************************

<-- **************** warningsAcme.dita ********************* -->
<?xml version="1.0"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic id="topic_warnings">
 <title>Warnings</title>
 <body>
  <section id="qqwwee" xml:lang="fr">
   <title>French warnings</title>
   <p>These are our French warnings.</p>
   <note id="frenchwarnings">Note in French!</note>
  </section>
  <section xml:lang="en">
   <title>English warnings</title>
   <p>These are our English warnings.</p>
   <note id="englishwarnings">Note in English!</note>
  </section>
 </body>
</topic>
*************************************

2.2.1.3.9.2: The dir attribute

The dir attribute provides direction about how processors should render bidirectional text. Languages such as Arabic, Hebrew, Farsi, Urdu, and Yiddish have text written from right to left. Numerics and embedded sections of Western language text, however, are written from left to right. Some multilingual documents also contain a mixture of text segments in two directions. This attribute specifies how such text should be rendered to a reader.

Bidirectional text processing is controlled by several factors:

  • The xml:lang attribute may be used to identify text that requires bidirectional rendering. The Unicode Bidirectional algorithm provides the means to properly identify western content in mixed text.
  • The dir attribute may be set on the root element, in combination with the xml:lang attribute. For example, to correctly set in a web browser a text in Arabic with embedded English content, the root element should be set with xml:lang="ar" and dir="rtl". All text, including punctuation marks, will be set correctly.
  • The dir attribute may be set to either "ltr" or "rtl" on an element in the document.
    JTH: 21 Sept 2009; changed dir values to all uppercase to conform with the reference below.
    RDA 29 Jan 2010: changed back to lower case to conform with the DTD (upper case values are invalid in DITA content). Also added quotes to further clarify that these are attribute values.
  • The dir attribute may be set to either "lro" or "rlo" on an element in the document.

The Unicode bidirectional algorithm positions the punctuation correctly for a given language. The rendering is responsible for displaying the text properly.

The use of the dir attribute and the Unicode algorithm is explained in the article Specifying the direction of text and tables: the dir attribute (http://www.w3.org/TR/html4/struct/dirlang.html#adef-dir) . This article contains several examples of how to use the dir attribute set to either left-to-right or right-to-left. There is no example of setting the dir attribute to either "lro" or "rlo", although it can be inferred from the example that uses the <bdo> element, a now-deprecated W3C mechanism for overriding the entire Unicode bidirectional algorithm.

Note that properly written mixed text does not need any special markers. The Unicode bidirectional algorithm is sufficient. However, some rendering systems may need directions for displaying bidirectional text, such as Arabic, properly. For example, the Apache FOP tool may not render Arabic properly unless the left-to-right and right-to-left indicators are used.

Recommended usage

The dir attribute, together with the xml:lang attribute, is essential for rendering table columns and definition lists <dl> to ensure proper order.

In general text, the Unicode Bidirectional algorithm, as specified by the xml:lang attribute together with the dir attribute, provides for various levels of bidirectionality, as follows:

  • Directionality is either explicitly specified via the xml:lang attribute in combination with the dir attribute on the highest level element (topic or derived peer for topics, map for ditamaps) or assumed by the processing application. If used, it is recommended to specify the dir attribute on the highest level element in the topic or document element of the map.
  • When embedding a right-to-left text run inside a left-to-right text run (or vice-versa), the default direction may provide incorrect results based on the rendering mechanism, especially if the embedded text run includes punctuation that is located at one end of the embedded text run. Unicode defines spaces and punctuation as having neutral directionality and defines directionality for these neutral characters when they appear between characters having a strong directionality (most characters that are not spaces or punctuation). While the default direction is often sufficient to determine the correct directionality of the language, sometimes it renders the characters incorrectly (for example, a question mark at the end of a Hebrew question may appear at the beginning of the question instead of at the end or a parenthesis may render incorrectly). To control this behavior, the dir attribute is set to "ltr" or "rtl" as needed, to ensure that the desired direction is applied to the characters that have neutral bidirectionality. The "ltr" and "rtl" values override only the neutral characters (e.g. spaces and punctuation), not all Unicode characters.

    Note

    Problems with Unicode rendering may be caused by the rendering mechanism. The problems are not due to the XML markup itself.
  • Sometimes you may want to override the default directionality for strongly bidirectional characters. Overrides are done using the "lro" and "rlo" values, which overrides the Unicode Bidirectional algorithm. This override forces a direction on the contents of the element. These override attributes give the author a brute force way of setting the directionality independent of the Unicode Bidirectional algorithm. The gentler "ltr" and "rtl" values have a less radical effect, only affecting punctuation and other so-called neutral characters.

For most authoring needs, the "ltr" and "rtl" values are sufficient. Only when the desired effect cannot be achieved using these values, should the override values be used.

Implementation precautions

Applications that process DITA documents, whether at the authoring, translation, publishing, or any other stage, should fully support the Unicode bidirectional algorithm to correctly implement the script and directionality for each language used in the document.

Applications should ensure every highest level topic element and the root map element explicitly assign the dir attribute, as well as the xml:lang attribute.

2.2.1.4: Configuration, specialization, and constraints

The extension facilities of DITA allow existing vocabulary and constraint modules to be combined to create specific DITA document types. Additionally, vocabulary modules can be extended to create more-specialized markup to meet new requirements not satisfied by existing markup.

2.2.1.4.1: Overview of DITA extension facilities

DITA provides three extension facilities: configuration of the vocabulary modules used by DITA document types, constraint of base content models and attribute lists, and creation of new element and attribute types (specialization).

Configuration enables the definition of DITA document types that include only those vocabulary modules required for a given set of documents without the need to modify the vocabulary modules in any way. Configurations are implemented as document type shells.

Constraint enables the unilateral modification of content models and attribute lists for individual elements without modifying the base vocabulary modules involved, in the context of a specific configuration. Constraints are implemented as constraint modules, which are integrated into document type shells.

Specialization enables the creation of new element types in a way that preserves the ability to blindly interchange those new element types with any conforming DITA application. Specializations are implemented as vocabulary modules, which are then integrated into any number of document type shells.

Specialization hierarchies are implemented as sets of vocabulary modules, each of which declares the markup and entities that are unique to a specialization. The separation of the markup vocabulary and its implementing declarations into modules makes it easy to extend the hierarchy, because new modules can be added without affecting existing document types. It also makes it easy to assemble design elements from different sources into a single integrated document type shell and makes it easy to reuse specific parts of the specialization hierarchy in more than one document type shell.

DITA documents are governed by DITA document types that represent the combination of one or more structural types (maps or topics), domain vocabularies, and constraint modules that define the set of element types and attributes available to a specific document. In short, DITA provides a framework by which XML vocabulary and constraint modules can be combined in an infinite number of ways to create specific document types, as well as a set of base modules that serve as the base for further configuration, constraint, or specialization.

DITA documents are typically governed by a conforming DITA document type shell as defined in this section. However, the conformance of a DITA document is a function of the document instance, not its governing schema. Therefore conforming DITA documents are not required to use a conforming document type shell.

Conforming DITA documents are not required to have any governing document type declaration or schema. In addition, there may compelling or practical reasons to use non-conforming document type shells. For example, a document might use a document type shell that does not conform to the DITA requirements for shells in order to meet the needs of a specific tool, but the document can still be a conforming DITA document and, if the document type only allows content and attributes that are conforming, it can ensure that the documents it governs are conforming DITA documents even though the document type itself does not conform to the requirements for DITA document type shells. That is, there can be document type shells that do not conform to the coding requirements for document shells that can still ensure the creation of conforming DITA documents. There can also be document type shells that do not conform to the coding requirements for document type shells and that allow, but do not ensure, the creation of conforming DITA documents.

2.2.1.4.1.1: Recognized XML document constraint mechanisms

The DITA standard currently recognizes two XML document grammar mechanisms by which conforming DITA vocabulary modules and document types may be constructed: document type declarations (DTDs) and XML Schema declarations (XSDs).

This specification defines implementation requirements for both of these document constraint mechanisms. The OASIS DITA Technical Committee recognizes that other XML grammar languages might provide similar modularity and extensibility mechanisms. However, the Technical Committee has not yet defined implementation requirements for those languages so their conformance cannot be determined.

2.2.1.4.2: Configuration (Document type shells)

A given DITA map or topic document is governed by a DITA document type that defines the set of structural modules (topic or map types), domain modules, and constraints modules that the map or topic can use.

The DITA document type is defined entirely by the set of modules declared on the @domains attribute of the document's root element and by the values of the @class attributes of all the elements in the document. If the @domains attribute declares both structural and domain vocabulary modules, then the @domains attribute by itself serves to define the DITA document type. The information on the @domains and @class attributes is sufficient to implement all DITA-defined processing and constraint checking on documents (for example, determining if a referenced element in a content reference has a set of modules compatible with the modules used by the referencing element's document).

Thus, DITA does not require that conforming DITA documents have an associated DTD, XSD, or other formal document type definition as long as all required attributes are explicit in document instances. However, most DITA documents have an associated DTD or XML schema document by which the documents can be validated using normal XML processors and that can provide default values for the @domains and @class attributes, in particular. In addition, while the DITA specification only defines coding requirements for DTDs and XML schema documents, conforming DITA documents may use other document type constraint languages, such as RelaxNG or Schematron.

Per the coding requirements for DITA document types, document type shells are always implemented as a top-level file that only includes and configures vocabulary modules—they never directly define new element or attribute types.

Two document type shells define the same DITA document type if they integrate the same set of vocabulary and constraint modules. For example, a shell document type that is an unmodified copy of the OASIS-provided topic document type shell (topic.dtd or topic.xsd) defines the same DITA document type as the original but, because it is a distinct file, has a distinct system identifier (because it is not a replacement for the OASIS-provided shell but a copy of it, which must be stored in a different location) and must have a unique public identifier if a public identifier is associated with it. In particular, for document type shells not created by OASIS, the public identifier or URN for the document type shell must not indicate OASIS as the owner and should reflect the owner or creator of the document type shell. For example, if example.com creates a copy of the topic.dtd document type shell for its own use, an appropriate public identifier would be "-//example.com//DTD DITA Topic//EN", where "example.com" is the owner identifier component of the public identifier. An appropriate URN would be "urn:example.com:names:dita:xsd:topic.xsd".

Note

The public or system identifier associated with a given document type shell is not, by itself, necessarily distinguishing. This is because two different shell document types, owned by different owners, may define the same DITA document type as indicated by the effective value of the @domains attribute.

While the DITA specification includes a starter set of document type shells for common combinations of modules, those document type shells are not mandatory.

Note

Even if an initial implementation does not require configuration, constraint, or specialization, it can be useful to create new shell document types. That way, if modification is required in the future, documents will not need to be modified to point to a new shell document type.

DITA document type shells must follow the coding requirements defined in this specification. This ensures consistency of implementation and also serves to make the task of creating document type shells almost entirely mechanical.

2.2.1.4.2.1: DTD document-type shell: Coding requirements

A document type shell integrates one or more topic type or map type modules, zero or more domain modules, and zero or more constraint modules. A DTD document type shell is organized into sections, where each section contains a specific type of declaration.

DTD document type shells may not directly declare element types or attributes. A DTD document type shell must conform to the following coding requirements.

Each section of the shell is introduced by a comment. Shells should use these comments to identify each section of the shell. Each section should be present in the shell DTD, even if the section contains no declarations, and must occur in the order they are presented here. The ordering is required by the XML rules for entity declaration precedence and also serve to enable automatic shell creation and modification. Shells should have an initial set of comments that describe the shell and indicate the public identifiers, URNs, or absolute URLs by which the shell should be referenced in DOCTYPE declarations.

Topic or map entity inclusions
The topic or map entity declarations section includes the .ent file for the top-level topic or map type the shell is configuring.

Topic shells should use the comment:

<!-- ============================================================= -->
<!--                    TOPIC ENTITY DECLARATIONS                  -->
<!-- ============================================================= -->  

Map shells should use the comment:

<!-- ============================================================= -->
<!--                    MAP ENTITY DECLARATIONS                    -->
<!-- ============================================================= -->

This section must declare and reference as an external parameter entity the .ent file for the topic or map module where the entity is named %typename-dec. For example:

<!ENTITY % concept-dec     
  PUBLIC "-//OASIS//ENTITIES DITA 1.2 Concept//EN" 
         "concept.ent"
>%concept-dec;

Domain entity inclusions

The domain entity inclusions section includes the entity declaration files for each element domain integrated by the document type. This section should use the comment:

<!-- ============================================================= -->
<!--                    DOMAIN ENTITY DECLARATIONS                 -->
<!-- ============================================================= -->

For each element domain included in the shell, this section must declare an external parameter entity for the domain's entity declaration file and immediately reference the entity. The entity name for the domain declaration consists of the domain name plus the dec suffix. In the following example, the entity file for the highlight domain is included in the document type shell:

<!ENTITY % hi-d-dec PUBLIC
    "-//OASIS//ENTITIES DITA Highlight Domain//EN" 
    "highlightDomain.ent"
>%hi-d-dec;
Domain attribute inclusions

The domain attribute inclusions section includes the entity declaration files for each attribute domain integrated by the document type. This section should use the comment:

<!-- ============================================================= -->
<!--                    DOMAIN ATTRIBUTE DECLARATIONS              -->
<!-- ============================================================= -->

For each attribute domain included in the shell, this section must declare an external parameter entity for the domain's entity declaration file and immediately reference the entity. The entity name for the domain declaration consists of the domain name plus the ent suffix. In the following example, the entity file for a new attribute domain is included in the document type shell:

<!ENTITY % newAtt-d-dec PUBLIC
    "-//My Company//ENTITIES New Attribute Domain//EN"
    "newAttDomain.ent"
>%newAtt-d-dec;
Element extension redefinitions

The element extension redefinition section contains redefinitions of element name parameter entities to reflect the integration of domain-provided element types into base content models. This section should use the comment:

<!-- ============================================================= -->
<!--                    DOMAIN EXTENSIONS                          -->
<!-- ============================================================= -->

For each element that is extended by one or more domains, the document type shell redefines the entity for the element. The new definition is a disjunctive list of alternatives comprising the literal name of the element followed by the element extension entity from each domain that is providing specializations. In the following example, the entity for the <pre> element is redefined to allow specializations from the programming, software, and user interface domains:

<!ENTITY % pre
    "pre        | 
     %pr-d-pre; | 
     %sw-d-pre; | 
     %ui-d-pre;">

The value of the entity may omit any base types from which other types listed are specialized. For example, the preceding example could omit the <pre> element, effectively allowing only specializations of <pre>, but not <pre> itself:

<!ENTITY % pre
    "%pr-d-pre; | 
     %sw-d-pre; | 
     %ui-d-pre;">

Note

Omitting base types from domain extensions constitutes a form of constraint. The constraint must be represented by a constraint module that declares the @domains attribute declaration for the constraint. For the omission of <pre> in the preceding example the constraint might be called "noBasePre-c" and would be declared in a file named "noBasePreConstraint.mod", containing the following declarations:
<!ENTITY noBasePre-c-pre  "%pr-d-pre; | %sw-d-pre; | %ui-d-pre;">
<!ENTITY noBasePre-c-att  "(topic noBasePre-c)" >
<!ENTITY % pre          “%noBasePre-c-pre ;“>
Attribute extension redefinitions

The attribute extension redefinition section integrates the declarations of specializations of the base and props attributes (defined in attribute domain modules included in the attribute domain inclusion section). This section must use the comment:

<!-- ============================================================= -->
<!--                    DOMAIN ATTRIBUTE EXTENSIONS                -->
<!-- ============================================================= -->

The entities for extending the props and base attributes have a null value by default:

<!ENTITY % props-attribute-extensions  "" >
<!ENTITY % base-attribute-extensions   "" >

For each attribute domain included by the shell, the shell must redefine the entity that is extended. The new definition is a list of the attribute extension entities for the domains that are providing specializations.

<!ENTITY % props-attribute-extensions
        "%newAtt-d-attribute; 
         %othernewAtt-d-attribute;">
<!ENTITY % base-attribute-extensions
        "%newfrombaseAtt-d-attribute; 
         %othernewfrombaseAtt-d-attribute;">
Topic nesting redefinitions

The topic nesting section contains redefinitions of the topic nesting control parameter entities defined by the topic modules integrated in the shell. This section should use the comment:

<!-- ============================================================= -->
<!--                    TOPIC NESTING OVERRIDES                    -->
<!-- ============================================================= -->

For each topic type integrated in the shell, the document type shell may control nesting of subtopics by redefining the topictype-info-types entity. The definition is usually an OR list of topic types that can be nested in the corresponding parent topic type. Use the literal root element name of each topic, not the corresponding element entity, as in the following example:

<!ENTITY % concept-info-types "concept | myTopicType">

The document type shell may also set the default for most topic types by defining the global info-types entity, for example:

<!ENTITY % info-types "concept | myTopicType">

Domain declaration redefinition

The domain declaration redefinition section sets the effective value of the @domains attribute for the topic or map type modules integrated into the shell. This section should use the comment:

<!-- ============================================================= -->
<!--                    DOMAINS ATTRIBUTE OVERRIDE                 -->
<!-- ============================================================= -->

The document type shell must redefine the included-domains entity to list the domains for specializations that are included in the document type, as well as any constraint modules, as in the following example:

<!ENTITY included-domains
    "&hi-d-att; 
     &ut-d-att; 
     &ui-d-att; 
     &pr-d-att; 
     &sw-d-att; 
     &newAtt-d-att;
     &noBasePre-c-ph;
   "
>

For a domain or structural module, the domains attribute value entity is declared in the domain's .ent file. For constraint modules, the domains attribute value entity is declared in the module's .mod file constraint modules do not use separate .ent files).

Content constraint module inclusions
The content constraint module inclusion section includes constraint modules that override the base content models for structural or domain types integrated in the shell. This section should use the comment:
<!-- ============================================================= -->
<!--                    CONTENT CONSTRAINT INTEGRATION             -->
<!-- ============================================================= -->

For each constraint module integrated in the shell, the shell must declare an external parameter entity for the constraint's .mod file and immediately reference the entity. The entity name for the constraint declaration consists of the constraint module name plus the -c-mod suffix. For example, this constraint inclusion for the task topic type constrains the DITA 1.2 relaxed task content model to match the more constrained DITA 1.1 task content model:

<!ENTITY % strictTaskbody-c-def  
  PUBLIC "-//OASIS//ELEMENTS DITA 1.2 Strict Taskbody Constraint//EN" 
  "strictTaskbodyConstraint.mod"
>%strictTaskbody-c-def;

Structural definition inclusions

The structural definition inclusion section includes the element type declaration (.mod) files for each topic or map type integrated into the shell. For topic shells, this section should use the comment:

<!-- ============================================================= -->
<!--                    TOPIC ELEMENT INTEGRATION                  -->
<!-- ============================================================= -->

For map shells, this section should use the comment:

<!-- ============================================================= -->
<!--                    MAP ELEMENT INTEGRATION                    -->
<!-- ============================================================= -->

For each structural type integrated in the document type, the document type shell must declare and reference an external parameter entity for the structural type module's .mod file. The entity name consists of the name of the structural type plus a -type suffix. For example:

<!ENTITY % topic-type PUBLIC
    "-//OASIS//ELEMENTS DITA Topic//EN" 
    "topic.mod"
>%topic-type;
Element domain definition inclusions

The element domain definition inclusion section includes the element definition files for each element domain integrated into the shell. This section should use the comment:

<!-- ============================================================= -->
<!--                    DOMAIN ELEMENT INTEGRATION                 -->
<!-- ============================================================= -->

For each element domain used in the document type, the document type shell must declare and reference an external parameter entity for the domain definition module file (.mod). The entity name consists of the domain name plus a -def suffix. For example:

<!ENTITY % hi-d-def PUBLIC
    "-//OASIS//ELEMENTS DITA Highlight Domain//EN" 
    "highlightDomain.mod"
>%hi-d-def;

2.2.1.4.2.2: XSD document-type shell: Coding requirements

A shell document type integrates one or more topic type or map type modules, zero or more domain modules, and zero or more constraint modules. A shell XSD is organized into sections, where each section contains a specific type of declaration.

An XSD document type shell must conform to the following coding requirements. XSD document type shells may not directly declare element types or attributes (except for the @domains attribute, which always reflects the details of the domains and structural types integrated by the shell).

DITA XSDs use the XML Schema redefine feature (xs:redefine) to override base group definitions for content models and attribute lists. This facility is analogous to the parameter entities used for DTDs. Unlike DTD parameter entities, an xs:redefine both includes the XSD file it redefines and holds the redefinition applied to the groups in the included XSD file. Thus, for XSD files that define groups, the file may be included via xs:include if it is used without modification or via xs:redefine if any of its groups are redefined.

Shell XSDs are organized into sections. Each section of the shell XSD is introduced by a comment. Shells should use these comments to identify each section of the shell. Each section should be present in the shell XSD, even if the section contains no declarations, and should occur in the order they are presented here. Shell XSDs should have an initial set of comments that describe the shell and indicate the URNs or absolute URLs by which the shell should be referenced from document instances or otherwise associated with documents. Shell XSDs may use the XSD appinfo and documentation elements to contain additional documentation about the shell.

Element domain inclusions

The element domain inclusion section contains includes of each element domain integrated by the shell. This section should use the comment:

<!--  ================ ELEMENT DOMAINS =====================  -->

For each element domain used by the map or topic type, the shell XSD must have an xs:include element that includes the XSD module for that domain. For example:

<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:programmingDomain.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:softwareDomain.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:highlightDomain.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:uiDomain.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:utilitiesDomain.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:indexingDomain.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:hazardstatementDomain.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:abbreviateDomain.xsd:1.2" />

Attribute domain inclusions
The attribute domain inclusion section contains includes of each attribute domain integrated by the shell. This section should use the comment:
<!--  ================ ATTRIBUTE DOMAINS =====================  -->

For each attribute domain used by the map or topic type, the shell XSD must have an xs:include element that includes the XSD module for that domain. For example:

<xs:include schemaLocation="urn:example.com:dita:domains:newAtt.xsd" />

Group inclusions
The group inclusion section contains includes or redefinitions of the group definitions for the structural types integrated in the shell. Group redefinitions are used to integrate domain-provided element and attribute types into base content models. This section should use the comment:
<!--  ================ GROUP DEFINITIONS =====================  -->

For both map and topic shells, this section must include or redefine the common element group, the metadata declaration group, and the table model group.

For topic shells, this section must include or redefine the group XSD for each topic type used by the shell. For example, from a shell for the task topic type:

<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:taskGrp.xsd:1.2" />
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:metaDeclGrp.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclGrp.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:topicGrp.xsd:1.2"/>

For map shells, this section must include or redefine the group XSD for each map type used by the shell (that is, the module for the specialization of <map> the shell uses, as well as any ancestor map types from which the shell's map element is specialized). For example, from the learningMap shell:

    <xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclGrp.xsd:1.2"/>
    <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:mapGrp.xsd:1.2">
      <xs:group name="topicref">
        <xs:choice>
          <xs:group ref="topicref"/>
          <xs:group ref="mapgroup-d-topicref"/>
          <xs:group ref="learningmap-d-topicref"/>
        </xs:choice>
      </xs:group>
    </xs:redefine>
  
    <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:commonElementGrp.xsd:1.2">
      <xs:group name="index-base">
        <xs:choice>
          <xs:group ref="index-base"/>
          <xs:group ref="indexing-d-index-base"/>
        </xs:choice>
      </xs:group>
      
    </xs:redefine>
    
    
    <xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:metaDeclGrp.xsd:1.2">
      <xs:group name="metadata">
        <xs:choice>
          <xs:group ref="metadata"/>
          <xs:group ref="learningmeta-d-metadata"/>
        </xs:choice>
      </xs:group>
      <xs:group name="keywords">
        <xs:choice>
          <xs:group ref="keywords"/>
          <xs:group ref="delay-d-keywords"/>
        </xs:choice>
      </xs:group>
    </xs:redefine>

For each element extended by one or more domains, the document type shell must redefine the model group for the element to a list of alternatives including the literal name of the element and the element extension model group from each domain that is providing specializations. To integrate a new domain in the document type shell use the schema <redefine> mechanism to manage the number of domains used by the document type shell. The model group requires a reference to itself to extend the base model group. To see an example, look at the topic.xsd schema document.

<xs:group name="pre">   
  <xs:choice>       
    <xs:group ref="pre" />
    <xs:group ref="pr-d-pre" />
    <xs:group ref="ui-d-pre" />
    <xs:group ref="sw-d-pre" />
  </xs:choice>
</xs:group>

To add domains to a new structural type you can copy the contents of the parent structural type domains schema document into the document type shell. Add or remove the model group from the new domain to the appropriate named group.

<xs:group name="pre">
  <xs:choice>
    <xs:group ref="pre"/>
    <xs:group ref="pr-d-pre" />
    <xs:group ref="domainName-d-element"/>
  </xs:choice> 
</xs:group>

For each attribute extended by one or more domains, the document type shell must redefine the attribute extension model group for the attribute to a list of alternatives including the literal name of the attribute and the attribute extension model group from each domain that is providing specializations. To integrate a new attribute domain in the document type shell use the schema <redefine> mechanism to manage the number of attribute domains used by the document type shell.

<xs:attributeGroup name="props-attribute-extensions">
  <xs:attributeGroup ref="props-attribute-extensions"/>
  <xs:attributeGroup ref="newAtt-d-attribute"/>
  <xs:attributeGroup ref="othernewAtt-d-attribute"/>
</xs:attributeGroup>
          
<xs:attributeGroup name="base-attribute-extensions">
  <xs:attributeGroup ref="base-attribute-extensions"/>
  <xs:attributeGroup ref="newfrombaseAtt-d-attribute"/>
  <xs:attributeGroup ref="othernewfrombaseAtt-d-attribute"/>
</xs:attributeGroup>        

Module inclusions
The module inclusion section includes the module XSD files for the structural types used in the shell. This section should use the comment:
<!-- =================  MODULE INCLUDE DEFINITION  ==================  -->

For each map or topic type used by the shell, this section must include either the module XSD file for that type or a constraint module for that type . It must also include any other module XSD files required by the topic or map types, normally the common element module, meta declaration module, and table declaration module. For example:

<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:commonElementMod.xsd:1.2"/>
<!-- ======== Table elements ======== -->
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:tblDeclMod.xsd:1.2"/>    
<!-- ======= MetaData elements, plus keyword and indexterm ======= -->
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:metaDeclMod.xsd:1.2"/>
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:topicMod.xsd:1.2" />  
<xs:include schemaLocation="urn:oasis:names:tc:dita:xsd:conceptMod.xsd:1.2" />

Domains attribute declaration
The @domains attribute declaration section contains the declaration of the domains attribute for the shell. This section should use the comment:
<!-- =================  DOMAINS ATTRIBUTE DECLARATION  ==================  -->

The shell must declare the @domains attribute such that the @domains attribute value reflects each vocabulary module and constraint module integrated by the shell. The declaration has the form:

<xs:attributeGroup name="domains-att">
   <xs:attribute name="domains" type="xs:string"
        default="domain usage declarations"
   />
</xs:attributeGroup>

Where domain usage declarations is a sequence of domain usage specifications (see Domain usage declaration (the @domains attribute) for details). For example, from the learningMap shell:

<xs:attributeGroup name="domains-att">
  <xs:attribute name="domains" type="xs:string"
     default="(map mapgroup-d) 
              (topic delay-d)  
              (topic indexing-d) 
              (topic learningmeta-d) 
              (map learningmap-d) "
  />
</xs:attributeGroup>

Info types definition
Each topic type defines an info types group that defines the default set of allowed subordinate topics for that topic type. Topic shells may redefine this group to change the effective set of allowed subordinate topics.

The info types section contains the definition of the effective value of the info types groups for topics used by the shell. This section should use the comment:

<!-- =================  INFO TYPES DEFINITION  ==================  -->

This section must not be included in map shells.

The shell must define a model group with the name info-types. This model group may define a list of allowed subordinate topics. If the topic type should not allow subordinate topics, then the default value for the info-types model group must be defined as an empty group, as follows:

<xs:group name="info-types">
  <xs:sequence/>
</xs:group>

The document type shell may control how topics are allowed to nest within specific topic types by redefining the topic-type-specific info types group, named topictype-info-types. The info-types group is declared in the module XSD file for a given topic type. For example, in a shell for the concept topic type, allowing concept or generic topic to nest within concept:

<xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:conceptMod.xsd:1.2" >
  <xs:group name="concept-info-types">
    <xs:choice>
      <xs:group ref="concept-info-types"/>
      <xs:group ref="topic"/>
    </xs:choice>
  </xs:group>
</xs:redefine>

Note that XSD rules require that the redefined group include a reference to itself in addition to any other components specified for the redefined group.

2.2.1.4.3: Specialization

The specialization feature of DITA allows for the creation of new element types and attributes that are explicitly and formally derived from existing types. The resulting specialization allows for the blind interchange of all conforming DITA content and a minimum level of common processing for all DITA content. It also allows specialization-aware processors to add specialization-specific processing to existing base processing.
Specializations are explicitly declared in documents

The specialization feature of DITA defines both a specialization hierarchy declaration syntax used in document instances and a set of document type implementation requirements. The specialization declarations allow processors to determine what set of specializations and associated local constraints a given DITA document uses. The specialization declarations for individual elements and attributes allow processors to determine what the type hierarchies of those elements and attributes are, from which processors can determine the most appropriate (or available) processing to apply.

Specialization enables controlled extension

Specialization allows you to define new kinds of information (new structural types or new domains of information), while reusing as much of existing design and code as possible, and minimizing or eliminating the costs of interchange, migration, and maintenance.

In traditional XML applications, all semantics for a given element instance are bound to the element type, such as <para> for a paragraph or <title> for a title. The XML specification provides no built-in mechanism for relating two element types to say "element type B is a subtype of element type A". However, in most documentation-focused XML applications there is often a clear hierarchy of types. For example, in a technical manual, there might be generic sections and more specialized sections, e.g. "Troubleshooting" or "Assembly Procedures". The presentation of the generic and specialized sections might be identical, but the more specialized sections might have more restrictive constraints or include additional element types relevant only to those section types. While these relationships might be understood by authors and system implementors, the XML standard provides no direct way to express the relationship, to say explicitly "A Troubleshooting section is a generic section and must conform to all requirements of generic sections". Having created the element type <section> and implemented presentation processing for it and then having later created the element type <troubleshooting>, there is no obvious mechanism for having all <troubleshooting> elements automatically get the processing associated with <section> elements. To get that behavior someone has to explicitly update all processors involved to apply <section> processing to <troubleshooting>.

The DITA specialization feature provides a standard mechanism for saying explicitly, using normal XML syntax, "A Troubleshooting section is a generic section and must conform to all requirements of generic sections" and, having said that, makes it possible for generic section processing to be applied to troubleshooting sections with no further effort.

When to use or not use specialization

Specialization is used when new structural types or new domains are needed. DITA specialization can be used when you want to make changes to your design for the sake of increased consistency or descriptiveness or have specific needs for output that cannot be addressed using the current data model. Specialization is not normally used for simply creating different output types, as DITA documents may be transformed to different outputs.

Do not use specialization to simply eliminate unneeded or unwanted element types from specific content models. The content models for element types defined in vocabulary modules can be configured using separately-defined constraint modules without the need to create new specializations. See Constraints.

Use specialization when you are dealing with new semantics (new, meaningful categories of information, either in the form of new structural types or new domains). The new semantics can be encoded as part of a specialization hierarchy, that allows them to be processed by existing specialization-aware transforms or transformed back to more general equivalents ("generalization") for processing by transforms that only understand the unspecialized base types. Use constraints to configure content models and attribute lists without changing semantics.

Types of specialization hierarchy

There are two kinds of specialization hierarchy: one for structural types (with topic or map at the root) and one for domains (with elements in topic or map at their root, or the @props or @base attributes). Structural types define topic or map structures, such as concept or task or reference, which often apply across subject areas (for example, a user interface task and a programming task may both consist of a series of steps). Domains define markup for a particular information domain or subject area, such as programming, or hardware. Each type of vocabulary module represents an “is a” hierarchy, in object-oriented terms, with each structural type or domain being a subclass of its parent. For example, a specialization of task is still a task and a specialization of the user interface domain is still part of the user interface domain. A given domain can be used with any map or topic type, as appropriate for the domain. In addition, specific structural types may require the use of specific domains.

Specialization of attributes

With structural specializations you can limit the allowed values of attributes defined on the base types of specialized types. You can also define new attributes through domain specializations based off of the @props attribute (for conditional processing) or the @base attribute (for other simple token attributes).

Note

As a general practice, structural specializations should not limit the values of the built-in selection attributes. Use constraint modules to define specific value lists for built-in selection attributes.

Attribute specialization allows you to define new conditional processing attributes that can be used for filtering and flagging (specializations of @props) or new attributes with no existing equivalent that can be managed and generalized in the same way as conditional processing attributes (specializations of @base).

New attributes need to be specialized from either @props or @base:

  • Attributes specialized from @props are recognized as conditional processing attributes
  • Attributes specialized from @base have no existing behavior associated with them
  • Values in specialized attributes should be preserved during generalization and respecialization as for @props
  • While generalized, the attribute values should still be understandable by both general and specialized behaviors, and be treated as equivalent to their specialized form. For example, conditional filtering should work the same way on specialized attributes and on generalized attributes.

2.2.1.4.3.1: Vocabulary modules

Vocabulary modules are atomic units of XML vocabulary definition (element types and attributes). A given DITA element type or attribute is declared in exactly one vocabulary module.

Vocabulary modules must reflect the implementation requirements defined in this specification for each recognized constraint mechanism. These requirements ensure that all vocabulary modules of a given type follow the same basic coding patterns for how their components are named and organized.

Vocabulary modules intended to be used outside of a narrowly-restricted context should have one or more associated globally-unique names (public IDs, URNs, or absolute URLs) by which modules can be referenced without regard to their local storage location.

There are three types of vocabulary module:

structural
A vocabulary module that defines exactly one top-level map or topic type. Structural modules may also define specializations of elements from domain modules. Structural modules are either topic modules or map modules.

A topic vocabulary module must define exactly one top-level topic type. It may define additional topic types that are then allowed to occur as subordinate topics within the top-level topic. However, such subordinate topic types may not be used as the root elements of conforming DITA documents. For example, a given top-level topic type may require the use of subordinate topic types that would only ever be meaningful in the context of their containing type and thus would never be candidates for standalone authoring or aggregation via maps. In that case, the subordinate topic type may be declared in the module for the top-level topic type that uses it. However, in most cases, potential subordinate topics should be defined in their own vocabulary modules.

A map vocabulary module must define exactly one element type that specializes map.

element domain
A vocabulary module that defines one or more element types that specialize element types used within maps or topics.
attribute domain
A vocabulary module that defines exactly one specialization of either the @base or @props attribute.

A given vocabulary module exists in an exclusive hierarchy relative to its ancestor modules. For example, the <concept> topic type is defined in the concept topic module and is itself derived from the topic topic module (that is, the topic-defining structural module that defines the topic type <topic>). Likewise, the <task> topic type is defined in the task topic module and is derived from the <topic> topic type. Thus the concept and task topic types are children of the <topic> topic type in the module hierarchy rooted at the <topic> topic vocabulary module.

All topic types must ultimately be specialized from <topic>. All map types must ultimately be specialized from <map>. Domain elements intended for use in topics must ultimately be specialized from elements defined in the topic module. Domain elements intended for use in maps must ultimately be specialized from elements defined by or used in the map module (maps share some element types with topics but no map-specific elements may be used within topics). Domain attributes must ultimately be specialized from either the @base or @props attribute.

Each vocabulary module has an associated short name, which is used to identify the module in @class and @domains attribute values. While module names need not be globally unique, module names must be unique within the scope of a given specialization hierarchy. The short name must be a valid XML name token.

For structural types, the module name must be the same as the root element. For example, "task" is the name of the structural vocabulary module whose root element is <task>. For domains, the name is assigned by the developer of the vocabulary module. By convention, domain names end with "-d" and are kept short; for example, "ui-d" for the user interface domain and "pr-d" for the programming domain.

When integrated into concrete document types, vocabulary modules may be further constrained through the use of constraint modules. See Constraints.

2.2.1.4.3.2: Requirements for specialized element types and attributes

When you specialize one element from another, or a new attribute from @props or @base, the new element or attribute must obey certain rules in order to be a conforming specialization.

A specialized element:

  • Must have a properly formed @class attribute specifying inheritance from its parent.
  • Must not have a more inclusive content model than its parent has.
  • Must not have attributes that its parent lacks.
  • Must not have values or value ranges of these attributes that are more extensive than those in the parent.

An attribute specialized from the @props or @base attribute:

  • Must follow the rules for attribute domain specialization.
  • Must not have values or value ranges that are more extensive than those of the parent.
  • Must conform to the rules for conditional processing values, that is, alphanumeric space-delimited values. In generalized form, the values must conform to the rules for attribute generalization.
  • Must be declared as a global attribute. Attribute specializations cannot be limited to specific element types.

DITA elements are never in a namespace. Only the @DITAArchVersion attribute is in a DITA-defined namespace. All other attributes, except for those defined by the XML standard, are in no namespace.

This limitation is imposed by the details of the @class attribute syntax, which makes it impractical to have namespace-qualified names for either vocabulary modules or individual element types or attributes. Elements included as descendants of the DITA <foreign> element type may be in any namespace.

Note

For this reason, domain modules that are intended for wide use should take care to define element type and attribute names that are unlikely to conflict with names used in other domains, for example, by using a domain-specific prefix on all names.

2.2.1.4.3.3: Element type specialization hierarchy declaration (the @class attribute)

Each DITA element declares its specialization hierarchy as the value of the @class attribute. The @class attribute usually provides a mapping from the element's current name to its more general equivalents, but it can also provide a mapping from the current name to more general and more specialized equivalents. All specialization-aware processing can be defined in terms of @class attribute values without reference to a given element's tagname.
Specialization hierarchy declaration requirements

Values for the @class attribute must conform to the following syntax requirements:

  • An initial "-" or "+" character followed by one or more spaces, "-" for element types defined in structural vocabulary modules, "+" for element types defined in domain modules.
  • A sequence of one or more module/type pair tokens of the form "modulename/typename", with each pair of tokens separated by one or more spaces, where modulename is the short name of the vocabulary module and typename is the element type name. Tokens are ordered left to right from most general to most specialized.
  • At least one trailing space character (" "). The trailing space ensures that string matches on module/name pairs can always include a leading and trailing space in order to reliably match full tokens.

When the @class attribute is declared in a DTD or XSD, it must be declared with a default value. In order to support generalization round-tripping (generalizing specialized content into a generic form and then returning it to the specialized form) the default value must not be fixed. This allows a generalization process to overwrite the default values defined by a general document type with specialized values taken from the document being generalized.

When a vocabulary module declares new element types, it must provide a @class attribute for each element type that it declares. The @class attribute must include a mapping for every structural type or domain in the specialized type's ancestry, even those in which no element renaming occurred. The mapping must start with the value for the base type (for example topic or map), and finish with the current element type.

A vocabulary module must not change the @class attribute for elements that it does not specialize, but simply reuses by reference from more generic levels. For example, since task, bctask, and guitask use the <p> element without specializing it, they must not declare mappings for it.

The @class attribute should not be modified by authors.

Examples (non-normative)

The @class attribute for the task topic type's <step> element is:

<!ATTLIST step         class  CDATA "- topic/li task/step ">

This tells us that the <step> element is equivalent to the <li> element in a generic topic. It also tells us that <step> is equivalent to a <step> in a task topic, which we already knew, but it's worth noting this in the attribute because it enables round-trip migration between upper level and lower level types without loss of information.

While a given element's tagname is normally the same as the typename of the last token in the @class value, this is not required. Processors that perform generalization may transform elements from specialized types to less-specialized types, leaving the values of the @class attribute unchanged (thus preserving knowledge of the original most-specialized form). For example, if a user runs a generalizing transformation that maps all elements to their first @class value, but preserves their content and attribute values, then the user can follow it up with a "specialize" transformation that maps all elements to their last @class value (preserving content and attribute values), and provide a full round trip for all content between the two document types, using nothing but two generic transformations and the information in the @class attribute.

The @class attribute tells a processor what general classes of elements the current element belongs to. DITA scopes elements by module type (for example topic type, domain type, or map type) instead of document type, which lets document type developers combine multiple topic types in a single document without complicating transformation logic.

The sequence of values in the @class attribute is important because it tells processors which value is the most general and which is most specific. This is especially important for "specializing" transformations, where you can apply a general rule that says: if the element doesn't have a mapping to the target topic type, simply use the last value of the @class attribute (and assume that the specialized topic type is reusing some general element declarations, which only have mappings for the level at which they were declared).

Example of structural type element with @class attribute
<appstep class="- topic/li task/step bctask/appstep ">
  <cmd class="- topic/ph task/cmd ">A specialized step</cmd>
</appstep>
Example of domain element with @class attribute
<wintitle class="+ topic/keyword ui-d/wintitle ">A specialized keyword</wintitle>

While this example is trivial, more complicated hierarchies (say, five levels deep, with renaming occurring at levels two and four only) make explicit intermediate values essential.

The specialization hierarchy for a given element type must reflect any intermediate modules between the base type and the specialization type, as shown in this example:

Example of @class attribute with intermediate value
<windowname class="- topic/keyword task/keyword guitask/windowname ">

The intermediate values are necessary so that generalizing and specializing transformations can map values simply and accurately. For example, if task/keyword was missing as a value, and a user decided to generalize this guitask up to a task topic, then the transformation would have to guess whether to map to keyword (appropriate if task is more general than guitask, which it is) or leave it as windowname (appropriate if task were more specialized, which it isn't). By always providing mappings for more general values, processors can then apply the simple rule that missing mappings must by default be to more specialized values than the one we are generalizing to, which means the last value in the list is appropriate. For example, when generalizing <guitask> to <task>, if a <p> element has no target value for <task>, we can safely assume that <p> does not specialize from <task> and should not be generalized.

2.2.1.4.3.4: Domain usage declaration (the @domains attribute)

Structural types must declare the domain vocabulary modules and constraint modules they use. This is done with the @domains attribute, whose value is a sequence of parenthesized module ancestry specifications. The @domains attribute is declared on the root element for each topic or map type. Structural modules should declare their structural ancestry.

Each structural, element, and attribute domain defines its module ancestry as a parenthesized sequence of space-separated module names from root module to provided module.

For element domains, the group syntax is:

 '(', modulename, (' ', modulename)+, ')'

For attribute domains, the group syntax is:

 'a(', attname, (' ', attname)+, ')'
The module ancestry specifications are added to the effective value of the @domains attribute to form a set of specifications, one for each domain used by the topic or map type.

The @domains values for the different module types are as follows:

structural domains
The structural type ancestry. For example: (topic concept glossentry). When a structural domain depends on one or more element or attribute domains, the structural domain's @domains specification must include the domain dependencies following the name of the specialize structural domain, e.g. (topic reference cppApiRef cpp-d compilerTypeAtt-d), here reflecting a topic specialization that depends on two domains, "cpp-d" and "compilerTypeAtt-d".

Note

The specification of domain dependencies serves in part as a signal to document type shell authors that the domain module must always be integrated along with the structural module.
constraint modules
The structural type ancestry followed by the name of the constraint domain. For example: (topic task strictTaskbody-c).
element domains
The structural type ancestry and, if applicable, the domain module ancestry from which the domain is specialized. For example: (topic hi-d) (topic pr-d cpp-d).
attribute domains
The attribute specialization hierarchy. For example: a(props mySelectAttribute).

The @domains attribute allows processors to determine whether or not two elements use compatible domains. For example, when pasting content from one topic into another topic within an editor, the editor can use the @domains attribute to determine if the paste target topic's domains are compatible with the paste source topic's domains and therefore whether or not the pasted content needs to be generalized before it can be pasted. Likewise, processors can use the value of the @domains attribute to determine if they have whatever may be necessary to support a particular domain.

The effective value of the @domains attribute is constructed using integration mechanisms specific to each XML document constraint language. Each domain and constraint module must provide a @domains attribute value fragment that can be used by DITA document types to construct the effective @domains attribute value. Each structural vocabulary module should provide a @domains attribute value fragment. See Configuration (Document type shells).

Example: task with multiple domains
<task id="mytask" class="- topic/topic task/task " 
	domains="(topic ui-d) (topic sw-d) (topic pr-d)">
...
</task>

In this example, the task allows the use of elements for describing user interfaces (ui-d), software (sw-d), and also programming (pr-d).

If the document used a specialization of the programming domain to describe C++ programming, the new domain would need a separate entry in the @domains attribute, e.g.:

<task id="mytask" class="- topic/topic task/task " 
	domains="(topic ui-d) (topic sw-d) (topic pr-d) (topic pr-d cpp-d)">
...
</task>
Example: How editing tools and processors can use the @domains attribute

The @domains attribute enables processors to determine whether two elements use compatible domains. For example, when pasting content from one topic into another topic within an editor, the editor can use the @domains attribute to determine if the paste target topic's domains are compatible with the paste source topic's domains and therefore whether or not the pasted content needs to be generalized before it can be pasted. Likewise, processors can use the @domains value to determine if they have whatever may be necessary to support a particular domain.

Another example is when an element references an element that is a more specialized version of the element, for example. a <li> element of concept topic references a <step> element in a task topic. During processing, the <step> element will be generalized back to a <li> element.

2.2.1.4.3.5: Generalization

Specialized content can be generalized to any ancestor type. The generalization process can preserve information about the former level of specialization to allow round-tripping between specialized and unspecialized forms of the same content.

Among the purposes of generalization:

  • Migration of content (for example, when retiring an unsuccessful specialization),
  • Temporary round-tripping (for example, when moving content through a process that is not specialization aware and has only been enabled for instances of the base structural type),
  • Reuse of specialized content in an environment that does not support one or more of its specializations (which may be thought of as a special case of round-tripping).

When generalizing for migration, the @class attribute and @domains attribute should be absent from the generalized instance document so that the default values in the DITA document type shell will be used. When generalizing for round-tripping, the @class attribute and @domains attribute should retain the original specialized values in the generalized instance document.

All DITA documents contain a mix of markup from at least one structural type and zero or more domains. When generalizing the document, the generalizer may choose to leave a structural type or domain as-is, or may choose to generalize that type or domain to any of its ancestors.

The generalizer can supply the source and target modules for each generalization, for example, "generalize from reference to topic". The generalizer can specify multiple target modules, for example, "generalize from reference to topic and from ui-d to topic". When the source and target modules are not supplied, generalization is assumed to be from all structural types to the base (topic or map), and no generalization is performed for domains.

The generalizer can also supply the target DITA document type shell. When the target document type is not supplied, the generalized document will not contain a reference to a DITA document-type shell. With the exception of topic nesting constraints, it is possible to generate a document type shell based on the @class and @domains attributes in the specialized documents. If the@ domains attribute includes all structural, domain, and constraint modules used, the @domains attribute alone is sufficient to enable generation of a document type shell.

A generalization process should be able to handle cases where it is given:

  • Just source modules for generalization (in which case the designated source types are generalized to topic or map),
  • Just target modules for generalization (in which case all descendants of the target are generalized to that target), or
  • Both (in which case only the specified descendants of the target are generalized to that target).

For each structural type instance, the generalization process checks whether the structural type instance is a candidate for generalization, or whether it has domains that are candidates for generalization. It is important to be selective about which structural type instances to process; if the process simply generalizes every element based on its @class attribute values, an instruction to generalize "reference" to "topic" could leave an APIReference topic with an invalid content model, since any elements it reuses from "reference" would have been renamed to topic-level equivalents.

The @class attribute for the root element of the structural type is checked before generalizing structural types:

Source module unspecified Source module specified
Target module unspecified Generalize this structural type to its base ancestor Check whether the root element of the topic type matches a specified source module; generalize to its base ancestor if it does, otherwise ignore the structural type instance unless it has domains to generalize.
Target module specified Check whether the @class attribute contains the target module. If it does contain the target, rename the element to the value associated with the target module. Otherwise, ignore the element. It is an error if the root element matches a specified source but its @class attribute does not contain the target. If the root element matches a specified source module and its @class attribute does contain the target module, generalize to the target module. Otherwise, ignore the structural type instance unless it has domains to generalize.

The @domains attribute for the root element of the structural type is checked before generalizing domains:

Source module unspecified Source module specified
Target module unspecified Do not generalize domain specializations in this structural type. Check whether the @domains attribute lists the specified domain; proceed with generalization if it does, otherwise ignore the structural type instance unless it is itself a candidate for generalization.
Target module specified Check whether the @domains attribute contains the target module. If it does, generalize to the target module. Otherwise, skip the structural type instance unless it is itself a candidate for generalization. It is an error if the @domains attribute matches a specified source but the domain value string does not contain the target. If the @domains attribute matches a specified source module and the domain value string does contain the target module, generalize to the target module. Otherwise, ignore the structural type instance unless it is itself a candidate for generalization.

For each element in a candidate structural type instance:

Source module unspecified Source module specified
Target module unspecified If the @class attribute starts with "-" (part of a structural type), rename the element to its base ancestor equivalent. Otherwise ignore it. Check whether the last value of the @class attribute matches a specified source; generalize to its base ancestor if it does, otherwise ignore the element.
Target module specified Check whether the @class attribute contains the target module; rename the element to the value associated with the target module if it does contain the target, otherwise ignore the element. It is an error if the last value in the @class attribute matches a specified source but the previous values do not include the target. If the last value in the @class attribute matches a specified source module and the previous values do include the target module, rename the element to the value associated with the target module. Otherwise, ignore the element.
When renaming elements during round-trip generalization, the generalization process should preserve the values of all attributes. When renaming elements during one-way or migration generalization, the process should preserve the values of all attributes except the @class and @domains attribute, both of which should be supplied by the target document type.

2.2.1.4.3.6: Attribute generalization

There is a particular syntax to generalize attributes that have been specialized from the @props or @base attribute. Specialization-aware processors should be able to recognize and process both the specialized and generalized forms of an attribute as being equivalent in their values.

When a specialized attribute is generalized to an ancestor attribute, the value of the ancestor attribute consists of the name of the specialized attribute followed by its specialized value in parentheses. For example, given that "jobrole" is an attribute specialized from "person", which in turn is specialized from "props":

  • jobrole="programmer" can be generalized to person="jobrole(programmer)" or to props="jobrole(programmer)"
  • props="jobrole(programmer)" can be respecialized to person="jobrole(programmer)" or to jobrole="programmer"

In this example, generalization and respecialization can use the @domains attribute to determine the ancestry of the specialized @jobrole attribute, and therefore the validity of the specialized @person attribute as an intermediate target for generalization.

If more than one attribute is generalized, the value of each is separately represented in this way in the value of the ancestor attribute.

Generalized attributes are typically not expected to be authored or edited directly, but are used by generalizing processors to preserve the values of the specialized attributes during the time or in the circumstances in which the document is in a generalized form.

A single element may not contain both generalized and specialized values for the same attribute. For example, this element:

<p person="jobrole(programmer)" jobrole="admin">...</p>
provides two values for the @jobrole attribute, but one is in a generalized syntax and the other in a specialized syntax. This is an error condition, since it means the document has been only partially generalized, or has been generalized and then edited using a specialized document type.

2.2.1.4.3.7: Specializing foreign or unknown content

Specializing the <foreign> or <unknown> element is an open extension to DITA for the purpose of incorporating standard vocabularies for non-textual content, such as MathML and SVG, as in-line objects. These elements should not be used to include textual content or metadata in DITA documents except where such content acts as an example or display, rather than as the primary content of a topic.
Incorporating foreign or unknown content

There are three methods of incorporating foreign content into DITA.

  • A domain specialization of the <foreign> or <unknown> element. This is the usual implementation.
  • A structural specialization using the <foreign> or <unknown> element. This affords more control over the content.
  • Do nothing: simply embed the foreign content within <foreign> or <unknown>.
Foreign or unknown content and the architectural @class attribute

Foreign content that is incorporated in DITA by one of these methods is not specialized. Specialization depends upon the architectural @class attribute found in every DITA element. If the foreign content has interoperability or vocabulary naming issues such as those that are addressed by specialization in DITA, they must be addressed by means that are appropriate to the foreign content.

Example of specializing foreign or unknown content using DTDs

The sample below describes how to create a domain declaration of the svg element, but does not show how to integrate that declaration in a DITA document-type shell. For more specific information on creating document-type shells, see DTD syntax specialization module coding requirements.

<!-- declaration for the specialized wrapper -->
<!ENTITY % svg "svg">

<!-- included SVG document type -->
<!ENTITY % SVG.prefix "svg" >
<!ENTITY % svg-qname.mod
    PUBLIC "-//W3C//ENTITIES SVG 1.1 Qualified Name//EN"
           "svg-qname.mod" 
>%svg-qname.mod;

<!-- definition for the specialized wrapper  -->
<!ENTITY % svg.content "
     (%SVG.svg.qname;)
">
<!ATTLIST % svg.attributes "
">
<!ELEMENT svg %svg.content; >
<!ATTLIST svg %svg.attributes; >

<!ATTLIST svg %global-atts; class CDATA "+ topic/foreign svg-d/svg "> 

Note

The example assumes that parameter entity SVG.svg.qname is declared in the SVG DTD or schema.
Example of SVG within a <p> element
<p>This is an ellipse:
  <svg>
    <svg:svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">

<ellipse cx="300" cy="150" rx="200" ry="80"
style="fill:rgb(200,100,50);
stroke:rgb(0,0,100);stroke-width:2"/>

    </svg:svg>    
  </svg>.
</p> 
Example of specializing foreign content using XML Schemas

The sample below describes how to create a domain declaration of the mathML element, but does not show how to integrate that declaration in a DITA document-type shell. For more specific information on creating document-type shells, see XSD schema specialization module coding requirements

<!-- importing MathML document type --> 
<xs:import namespace="http://www.w3.org/1998/Math/MathML" schemaLocation="mathml2.xsd">
 
<!-- definition for the specialized wrapper  -->
<xs:element name="mathML" type="mathML.class" />
<xs:complexType name="mathML.class">
  <xs:choice>
      <xs:element ref="mml:math" />
  </xs:choice>
  <xs:attribute name="outputclass" type="xs:string"/>
    <xs:attributeGroup ref="univ-atts"/>
    <xs:attributeGroup ref="global-atts"/>
    <xs:attribute ref="class" default="+ topic/foreign mathML/mathML"/>
</xs:complexType>

<!-- definition for each element extended by the domain  -->    
<xs:group name="ma-d-foreign">
  <xs:choice>
     <xs:element ref="mathML" />
  </xs:choice>
</xs:group>
  
<!-- definition for the named model groups  -->
<xs:group name="foreign">
   <xs:choice>
     <xs:group ref="foreign"/>
     <xs:group ref="ma-d-foreign"/>
   </xs:choice>
</xs:group>  
Example of MathML within an <object> element
<p>... as in the formula 
<object>
  <desc>4 + x</desc>
  <mathML>
    <mml:math display="block">
      <mml:mrow>
        <mml:mo>&sum;</mml:mo>
        <mml:mn>4</mml:mn>
        <mml:mo>+</mml:mo>
        <mml:mi>x</mml:mi>
      </mml:mrow>
    </mml:math>    
  </mathML>
 <object>.
</p> 

2.2.1.4.3.8: Specialization module coding requirements

The base DITA element and attribute types may be extended through the creation of new vocabulary modules that define specializations of more-general types.

2.2.1.4.3.8.1: DTD syntax specialization module coding requirements

To be extensible and backward compatible, DITA requires that a DTD implementation of structural and domain specialization modules conform to well-defined implementation (coding) requirements.

These coding requirements implement the specialization architecture with the capabilities and within the limitations of the DTD grammar. They are the coding requirements for structural specializations, element domain specializations, and attribute domain specializations.

2.2.1.4.3.8.1.1: General element type declaration coding requirements

Structural and element domain vocabulary modules must reflect the same coding requirements for element type declarations.
Module names

Each vocabulary module has a short name that is used to construct file names, entity names, and other names used in associated declarations. Modules may also have abbreviated names that further shorten the short name, for example "sw" for the "software" domain, where "software" is the short name and "sw" is the abbreviated name.

For structural modules, the module name must be the element type name of the top-level topic or map type defined by the module, such as "concept", "bookmap".

For element domain modules, the module name must be a name that reflects the subject domain to which the domain applies, such as "highlight", "software". Domain module names should be sufficiently unique that they are unlikely to conflict with any other domains.

Module files

A structural or element domain vocabulary module must have two files:

  • A module entity declaration file, which declares the entities used to integrate the module into a shell DTD.

    For structural modules, the file name is the module name plus the ent extension, e.g. concept.ent.

    For domain modules, the file name is the domain name plus Domain plus the ent extension, e.g. highlightDomain.ent, newAttDomain.ent.

  • A definition module, which contains the element type and/or attribute list declarations for the module.

    For structural modules, the file name is the module name plus the mod extension, e.g., concept.mod

    For domain modules, the file name is the domain name plus "Domain" and the mod extension, e.g., highlightDomain.mod, newAttDomain.mod.

Domain declaration entity

The domain declaration entity must conform to the following implementation pattern:

The declaration file must define an entity that associates the domain with a module. The name of the entity is the structure type name or domain abbreviation plus the -att suffix, e.g. "concept-att", "hi-d-att".

The value of the entity must list the dependencies of the domain module in order of dependency from left to right within enclosing parentheses, starting with the topic module. Domain abbreviations are used in the list, and the defining domain is the last item in the list. The following example declares the dependency of the highlight domain on the base topic module.

<!ENTITY hi-d-att "(topic hi-d)">

The domain declaration entity is used to construct the effective value of the domains attribute for a map or topic type as configured in a shell DTD.

Element definitions

A structural or domain vocabulary module must contain a declaration for each specialized element type named by the module. While the XML standard allows content models to refer to undeclared element types, all element types named in content models or attribute list declarations within a vocabulary module must have an ELEMENT declaration, in one of:

  • The vocabulary module
  • A base module of which the vocabulary module is a direct or indirect specialization
  • A required domain module (if the vocabulary module is a structural module).

The specialized elements must follow the rules of the architecture in defining content models and attributes.

For each element type declared in the vocabulary module there must be an element name parameter entity whose default value is the name of the element, e.g.:

<!ENTITY % conbody "conbody">

The element name entity provides a layer of abstraction that facilitates redefinition. A document type shell can predefine an element entity to add domain-specialized elements or replace a base element type with one or more specializations of that type. Because declarations use the entity rather than the element type name to include the element in a content model, the redefinition given in a shell is propagated to every context in which the base element occurs.

The element name parameter entities must be grouped together at the top of the vocabulary module before any other declarations to ensure they are declared before any use in content models declared in the same module. The declarations may occur in any order. By convention, they are usually ordered alphabetically or grouped logically.

For each element type, the content model and attribute list declarations should start with a descriptive comment. For example:

<!--                    LONG NAME: Topic Head                      -->

Each element type must have a corresponding content model parameter entity named %tagname.content. The value of the entity must be the complete content model definition. For example:

<!ENTITY % topichead.content
  "((%topicmeta;)?, 
    (%anchor; | 
     %data.elements.incl; | 
     %navref; | 
     %topicref;)*)
">

The content model parameter entity may be overridden in shell DTDs or constraint modules to further constrain the content model for the element type.

Each element type must have a corresponding attribute list parameter entity named %tagname.attributes. The parameter entity must declare all attributes used by the element type (except for the attributes provided by the %global-atts; parameter entity, which is always referenced as part of the attribute list declaration for an element's class attribute). For example:

<!ENTITY % topichead.attributes
 "navtitle 
     CDATA 
          #IMPLIED
   outputclass 
     CDATA 
          #IMPLIED
   keys 
     CDATA 
          #IMPLIED
   %topicref-atts;
   %univ-atts;"
>

The ELEMENT declaration for each element type must consist entirely of a reference to the corresponding content model parameter entity:

<!ELEMENT topichead    %topichead.content;>

The ATTLIST declaration for each element type must consist entirely of a reference to the corresponding attribute list parameter entity:

<!ATTLIST topichead    %topichead.attributes;>

The content model parameter entity, attribute list parameter entity, ELEMENT declaration, and ATTLIST declaration should be grouped together within the module. Each such group of declarations may occur in any order within the module. For example:

<!--                    LONG NAME: Topic Head                      -->
<!ENTITY % topichead.content
  "((%topicmeta;)?, 
    (%anchor; | 
     %data.elements.incl; | 
     %navref; | 
     %topicref;)* )
">
<!ENTITY % topichead.attributes
  "navtitle 
      CDATA 
          #IMPLIED
   outputclass 
      CDATA 
           #IMPLIED
   keys 
      CDATA 
          #IMPLIED
   %topicref-atts;
   %univ-atts;"
>
<!ELEMENT topichead    %topichead.content;>
<!ATTLIST topichead    %topichead.attributes;>

Attributes

[RDAnderson, 4 Jan 2010] In the final section about attributes, we should provide a pointer to the topic in the specialization section, "Element type class hierarchy declaration (the class attribute)". This section as written leaves out some details, without mentioning that more is required; we should indicate that complete details of constructing the class attribute are in the other topic.
The attributes of an element type must restrict or conserve those of the element type it specializes. Specialized element types may not add new attributes. New global attributes may be defined via attribute domain modules. Structural modules may require the use of attribute domain modules.

A vocabulary module must define a @class attribute for every specialized element declared in the module. The @class attribute must include the value of the @class attribute of the base element, and append to it the element name qualified by the topic element name with at least one leading and trailing space. The @class attribute for an element introduced by a structural specialization must start with a minus sign ("-"). The @class attribute for a domain specialization must start with a plus sign ("+"). The initial minus or plus sign must be followed by one or more spaces. The attribute value must end with one or more trailing spaces.

The ATTLIST declaration for the @class attribute must also include a reference to the %global-atts parameter entity.

For example, the ATTLIST definition for the <conbody> element (a specialization of the <body> element in the <topic> base type) includes global attributes with an entity, then the definition of the @class attribute, as follows:

<!ATTLIST conbody     %global-atts;  class CDATA "- topic/body  concept/conbody ">

The @class attribute declarations for a module must be grouped together at the end of the module after any other declarations. The declarations may occur in any order. By convention they are often ordered alphabetically or grouped logically.

See Element type specialization hierarchy declaration (the @class attribute) for complete details on the @class attribute.

2.2.1.4.3.8.1.2: Structural module coding requirements

A structural vocabulary module defines a new topic or map type as a specialization of a base topic or map type. The purpose is usually to enhance the user's interaction by adapting the topic or map type to its particular purposes.

A structural type module must conform to the following coding requirements in addition to the general module coding requirements:

Default included domains entity

The module must define the included-domains entity with a default value, as in the following example:

<!ENTITY included-domains "">

A document type shell can predefine the included-domains entity to list domains to be added to the document type.

Structural vocabulary modules may require the use of specific domains. In that case, the default value of the included-domains entity must include the appropriate domain use declaration, for example:

<!ENTITY included-domains "(topic myDomain)">

The list of included domains must declare the domains from most generic (on the left) to most specialized, current domain (on the right). See Domain usage declaration (the @domains attribute).

Topic and map element attributes

The topic or map element type must set the @DITAArchVersion attribute to the DITAArchVersion entity and the @domains attribute to the included-domains entity. These attributes give processors a reliable way to check the architecture version and look up the list of domains available in the document type.

<!ATTLIST concept    
  %concept.attributes;
  %arch-atts;
  domains 
    CDATA 
       "&included-domains;"
>

2.2.1.4.3.8.1.3: Topic type module coding requirements

Topic type vocabulary modules must conform to additional coding requirements for defining default topic nesting.
Default nested topics entity

A topic type module must define an entity to specify default subordinate topics. The entity name must be the topic element name plus the -info-types suffix. For example, the info-types entity for the concept topic is concept-info-types. If the topic has default subordinate topics, this entity can default to a list of element entities. If not, the entity can default to the value of the info-types entity as in the following example:

<!ENTITY % concept-info-types "%info-types;">

A document type shell can then control how topics are allowed to nest by redefining the topictype-info-types entity for each topic type, or it can efficiently create common nesting rules by redefining the main info-types entity.

In the declaration of the root element of a topic type, the last position in the content model must be the topictype-info-types nested topics entity, as in the following example:

<!ENTITY % concept.content
  "((%title;), 
    (%titlealts;)?,
    (%abstract; | 
     %shortdesc;)?, 
    (%prolog;)?, 
    (%conbody;)?, 
    (%related-links;)?,
    (%concept-info-types;)*)"
>

2.2.1.4.3.8.1.4: Element domain module coding requirements

An element domain vocabulary module defines element types that are appropriate for the subject-matter or application domain for which they are designed. The purpose is usually to enhance the user's interaction by providing semantic elements whose names more accurately denote their content, making that content easier to search and retrieve.
Domain entity file

In addition to the domain declaration entity, the entity declaration file for element domain modules must include the following components:

Element extension entity

The declaration (.ent) file must define an entity for each element extended by the domain. The base of the entity name is the abbreviation for the domain and the extension of the entity name is the name of the extended element. For example, the highlight domain (abbreviated as hi-d) extends the ph element, so the entity for the extended element is named hi-d-ph.

The value of the entity is a disjunctive list of the specialized elements that are intended to occur in the same locations as the extended element.

For example, the hi-d-ph entity is defined as follows:

<!ENTITY % hi-d-ph "b | u | i | tt | sup | sub">

2.2.1.4.3.8.1.5: Attribute domain module coding requirements

An attribute domain vocabulary module declares a new attribute specialized from either the @props or @base attribute. An attribute domain module defines exactly one new attribute type.

An attribute domain's name is the name of the attribute plus "Att" to distinguish the domain attribute from any element domains with the same name. For example, for an attribute named "new" the attribute domain name would be "newAtt". The attribute domain name is used to construct filenames and entity names for the domain.

An attribute domain must consist of one file, whose name consists of the module name plus Domain plus the ent extension. For example: newAttDomain.ent for an attribute named "new".

The file must have two parts:

Attribute extension entity

The attribute declaration is in an entity. This entity can then be used in document type shells to add the new attribute. The attribute declaration entity name consists of the attribute name plus "-d-attribute". For example:

<!ENTITY % newAtt-d-attribute "new   CDATA #IMPLIED">

For an attribute named "new".

Domain declaration entity

The attribute domain is declared in @domains attribute values through a general text entity that contains the attribute domain's domain declaration fragment. The entity name consists of the module name plus "-d-att". For example, "newAtt-d-att" for an attribute named "new". See Domain usage declaration (the @domains attribute) for details on attribute domain @domains values.

For example:

<!ENTITY newAtt-d-att       "a(props new)"  >

Attribute domains do not have domain module declaration (.mod) files.

2.2.1.4.3.8.2: XSD schema specialization module coding requirements

To be extensible and backward compatible, DITA requires that an XSD implementation of structural and domain specialization modules conform to well-defined implementation (coding) requirements.

These design patterns implement the specialization architecture with the capabilities and within the limitations of the XML Schema grammar. They are the coding requirements for structural specializations, domain specializations, and attribute domain specializations.

2.2.1.4.3.8.2.1: General element type declaration coding requirements

Structural and element domain vocabulary modules must reflect the same coding requirements for element type declarations.

[Jeff, 3 Jan 2010] I don't think it makes sense to have both a section for "General element type declaration coding requirements" and another for "Element domain module coding requirements". We should either combine them or give them better titles and otherwise reword them to make it clear what they are about what how they differ from each other. I'd favor combining them. I'm none too sure about the differences between the other sections on "Structural" and "Topic type" module coding requirements either. There seems as if there is a good deal over overlap between the sections, which I find confusing

Module names

Each vocabulary module has a short name that is used to construct file names, entity names, and other names used in associated declarations.

For structural modules, the module name must be the element type name of the top-level topic or map type defined by the module, such as "concept", "bookmap".

For element domain modules, the module name must be a name that reflects the subject domain to which the domain applies, such as "highlight", "software". Domain module names should be sufficiently unique that they are unlikely to conflict with any other domains.

For attribute domain modules, the module name must be the name of the attribute defined by the module plus "Att" (to avoid conflict with similarly-named structural types or element domains).

Element definitions

A structural or domain vocabulary module must contain a declaration for each specialized element type named by the module. While the XSD standard allows content models to refer to undeclared element types, all element types named in content models within a vocabulary module must have an xs:element declaration, either in the vocabulary module, in a base module of which the vocabulary module is a direct or indirect specialization, or, for structural modules, in a required domain module. The specialized elements must follow the rules of the architecture in defining content models and attributes.

Domain modules must consist of a single XSD document named modulenameMod.xsd. Structural modules must consist of two modules, modulenameGrp.xsd, which contains all element name groups, and modulenameMod.xsd, which contains all other declarations for the module.

For each element type declared in the vocabulary module there must be an xs:group whose name is the element type name and whose one member is a reference to the element type, e.g.:

<xs:group name="codeph">
  <xs:sequence>
    <xs:choice>
      <xs:element ref="codeph"/>
    </xs:choice>
  </xs:sequence>
</xs:group>

The element name group provides a layer of abstraction that facilitates redefinition. A document type shell can redefine an element group to add domain-specialized elements or replace a base element type with one or more specializations of that type.

For domain modules, the group definitions should be grouped together at the start of the domain's XSD document. The definitions may occur in any order.

Each element type must have a corresponding content model group named tagname.content. The value of the group must be the complete content model definition. For example:

<xs:group name="codeph.content">
  <xs:sequence>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:group ref="basic.ph.notm" minOccurs="0"/>
      <xs:group ref="data.elements.incl" minOccurs="0"/>
      <xs:group ref="foreign.unknown.incl" minOccurs="0"/>
    </xs:choice>
  </xs:sequence>
</xs:group>

The content model group may be overridden in constraint modules to further constrain the content model for the element type.

Each element type must have a corresponding attribute group named tagname.attributes. The group must declare all attributes used by the element type except for the @class attribute. For example:

<xs:attributeGroup name="codeph.attributes">
  <xs:attribute name="outputclass" type="xs:string"/>
  <xs:attributeGroup ref="global-atts"/>
  <xs:attributeGroup ref="univ-atts"/>
</xs:attributeGroup>

Each element type must have a complex type definition named tagname.class, which references the tagname.content and tagname.attributes groups. For example:

<xs:complexType name="codeph.class" mixed="true">
  <xs:sequence>  
    <xs:group ref="codeph.content"/>
  </xs:sequence>        
  <xs:attributeGroup ref="codeph.attributes"/>
</xs:complexType>

Each element type must have an xs:element declaration named tagname , that uses as its type the tagname.class complex type and extends that complex type to add the class attribute for the element. For example:

<xs:element name="codeph">
  <xs:annotation>
    <xs:documentation>
      The code phrase (&lt;<keyword>codeph</keyword>&gt;) element represents a snippet
      of code within the main flow of text. The code phrase may be displayed in
      a monospaced font for emphasis. This element is part of the DITA programming
      domain, a special set of DITA elements designed to document programming tasks,
      concepts and reference information.
    </xs:documentation>
  </xs:annotation>
  <xs:complexType mixed="true">
    <xs:complexContent>
      <xs:extension base="codeph.class">
        <xs:attribute ref="class" default="+ topic/ph pr-d/codeph "/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:element>

The content model group, attribute group, complex type, and element type definition for an element should be grouped together within the module. Each such group of declarations may occur in any order within the module. It is recommended to sort the element type definitions alphabetically or group them into categories. Here is an example declaration for the <codeblock> element:

  <xs:element name="codeblock">
    <xs:annotation>
      <xs:documentation>
        The &lt;<keyword>codeblock</keyword>&gt; element represents lines of
        program code. Like the <ph>
          <xref href="xref.xml">&lt;<keyword>pre</keyword>&gt;</xref>
        </ph> element,
        content of this element has preserved line endings and is output in a monospaced
        font. This element is part of the DITA programming domain, a special set of
        DITA elements designed to document programming tasks, concepts and reference
        information.
      </xs:documentation>
    </xs:annotation>
    <xs:complexType mixed="true">
      <xs:complexContent>
        <xs:extension base="codeblock.class">
          <xs:attribute ref="class" default="+ topic/pre pr-d/codeblock "/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>
  
  <xs:complexType name="codeblock.class" mixed="true">
        <xs:sequence>
          <xs:group ref="codeblock.content"/>
        </xs:sequence>
        <xs:attributeGroup ref="codeblock.attributes"/>
  </xs:complexType>
  
  <xs:group name="codeblock.content">
    <xs:sequence>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:group ref="basic.ph.notm" minOccurs="0"/>
          <xs:group ref="coderef" minOccurs="0"/>
          <xs:group ref="txt.incl" minOccurs="0"/>
          <xs:group ref="data.elements.incl" minOccurs="0"/>
          <xs:group ref="foreign.unknown.incl" minOccurs="0"/>
        </xs:choice>
    </xs:sequence>
  </xs:group>
  
  <xs:attributeGroup name="codeblock.attributes">
    <xs:attribute name="outputclass" type="xs:string"/>
        <xs:attribute name="spectitle" type="xs:string"/>
        <xs:attributeGroup ref="display-atts"/>
        <xs:attributeGroup ref="univ-atts"/>
        <xs:attribute ref="xml:space" fixed="preserve"/>
        <xs:attributeGroup ref="global-atts"/>
  </xs:attributeGroup>

Each xs:element declaration should include descriptive documentation as in the examples above.

2.2.1.4.3.8.2.2: Structural specialization coding requirements

An XSD structural module declares a top-level map or topic type, implemented as a pair of XSD documents, one that defines groups used to integrate and override the type and one that defines the element types specific to the type.

A structural type module must conform to the following coding requirements in addition to the general module coding requirements:

Module files

A structural vocabulary module must have two files:

  • A module schema document. The file name is the name of the root structural element plus Mod plus the .xsd extension. For example, conceptMod.xsd is the module schema document for the concept topic type.
  • A module group definition schema document. The file name is the name of the root structural element plus Grp plus the .xsd extension. For example, conceptGrp.xsd is the module group definition schema document for the concept topic type.
Structural module schema document

The root element must reference the @DITAArchVersion attribute and the @domains attribute. These attributes give processors a reliable way to check the architecture version and look up the list of domains available in the document type. The @DITAArchVersion attribute is referenced as in the following example:

<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute ref="ditaarch:DITAArchVersion" />

See XSD document-type shell: Coding requirements for information on how to set the values for the domains attibute for XSD shells.

For topic modules, the last position in the content model must be the topictype-info-types nested topics group as in the following example of the root element of the concept topic:

<xs:complexType name="concept.class">
  <xs:sequence>
    <xs:group ref="title"/>
    <xs:group ref="titlealts" minOccurs="0"/>
    <xs:choice minOccurs="0">
      <xs:group ref="shortdesc" />
      <xs:group ref="abstract" />
    </xs:choice>
    <xs:group ref="prolog" minOccurs="0"/>
    <xs:group ref="conbody" minOccurs="0"/>
    <xs:group ref="related-links" minOccurs="0"/>
    <xs:group ref="concept-info-types" minOccurs="0" maxOccurs="unbounded"/>
  </xs:sequence>
  ...
</xs:complexType>
Topic module schema document

For topic modules, the module schema document must define an info-type model group. The name of this group is the topic element name plus -info-types. Thus, the info-type model group for the concept topic type is concept-info-types. The following example shows how this group is defined in conceptMod.xsd:

<xs:group name="concept-info-types">
  <xs:choice>
    <xs:group ref="concept" minOccurs="0"/>
    <xs:group ref="info-types" minOccurs="0"/>
  </xs:choice>
</xs:group>

2.2.1.4.3.8.2.3: Attribute domain coding requirements

An attribute domain must consist of one file, whose name consists of the module name plus Domain plus the xsd extension. For example: newAttDomain.xsd for an attribute named "new". The file must have a single attribute group definition that contains the definition of the attribute itself, where the attribute group is named attnameAtt-d-attribute.

For example, for an attribute named "new":

<xs:attributeGroup name="newAtt-d-attribute">
  <xs:attribute name="new" type="xs:string"/>
</xs:attributeGroup>

The attribute domain must be reflected in a shell document type XSD that integrates it. See Domain usage declaration (the @domains attribute) for details of attribute domain @domains values.

For example, if the attribute named "new" is a specialization of the @props attribute, the @domains value would be "a(props new)".

2.2.1.4.4: Constraints

Constraint modules define additional constraints for corresponding vocabulary modules in order to restrict content models or attribute lists for specific element types, remove extension elements from an integrated domain module, or replace base element types with domain-provided extension element types. Constraint modules do not and cannot change element semantics, only the details of how element types can be used in the context of a specific concrete document type. Because constraints can make optional elements required, documents that use the same vocabulary modules may still have incompatible constraints. Thus the use of constraints can affect the ability for content from one topic or map to be used directly in another topic or map.

Each constraint integrated into a DITA document type must be declared in the @domains attribute for each structural type integrated into the document type.

A constraint module may define any of the following types of constraint:

Restriction of content model or attributes for an element
Constraint modules may modify base content models by removing optional elements, making optional elements required, or requiring unordered elements to occur is a specific sequence. Constraint modules cannot make required elements optional or change the order of element occurrence for ordered elements.

For example, a constraint for <topic> could require <shortdesc>, could remove <abstract> altogether, and could require that the first child of <body> be <p>. A constraint cannot allow <shortdesc> to follow <prolog>, because the base content model for <topic> declares <shortdec> to precede <prolog>.

Restriction of extension elements from a domain
Constraint modules for element domains may define a subset of the base set of extension elements provided by the element domain.

For example, a constraint on the programming domain could reduce the list of included extension elements to <codeph> and <codeblock>.

Replacement of base elements by domain extensions
Constraint modules may replace base element types with domain-provided extension elements.

For example, a constraint module could replace the <ph> element with the domain-provided elements, making <ph> unavailable.

In a shell document type, when integrating a domain, the base domain element may be omitted from the domain extension group or parameter entity. While there is no separate content model constraint declaration in this case (because the content model is configured directly in the shell document type) the constraint should be declared in the @domains attribute and therefore there must be a domains module file that provides the constraint's contribution to the @domains attribute.

There may be at most one constraint module that defines the content model for a given element type included in a given concrete document type. This means that constraints for the same element type defined in two different constraint modules cannot be aggregated together. In that case, a new constraint module must be created that reflects the aggregation of the two original constraints.

Constraint rules

Constraint modules must conform to the following requirements:

  • Designers must implement constrained content models for element types that are more restrictive than the unconstrained content models for the same element types.

  • The content model and attributes of one element type can be constrained only by one constraint module included in a document type shell.

  • The list of extension element types provided by a domain module can be constrained only by one constraint module included in a document type shell.

  • Each constraint module may constrain element types from only one vocabulary module. This rule maintains granularity of reuse at the module level.

  • Constraint modules that restrict different element types within the same vocabulary module can be combined with one another or with a constraint module that selects a subset of the extension element types for the vocabulary. Such combinations of constraints on a single vocabulary module have no meaningful order or precedence.

  • Designers have the option to declare a constraint module or combination of constraint modules to be more restrictive than another constraint module or combination of constraint modules on the same vocabulary module or a base vocabulary module. This option is particularly useful when a designer wants to constrain base and specialized element types in a consistent way. The advantage of declaring the consistency is that processors can take advantage of the consistency when converting document instances.

    For example, a constraint module for <topic> that requires both <shortdesc> and <body> is more restrictive than a similar constraint module that only requires <body>. By declaring this relationship, a designer may indicate that documents which use the first constraint also comply with the looser constraint.

Content processing

A document type with constraints allows a subset of the possible instances of a document type for the same vocabularies without constraints. To put it another way, all instances of the constrained document type are guaranteed to be valid instances of the unconstrained document type.

As a result, a constraint does not and cannot change basic or inherited element semantics. The constrained instances remain valid instances of the unconstrained element type, and the element type retains the same semantics and class attribute declaration. Thus, a constraint never creates a new case to which content processing may need to react.

For example, a document type constrained to require the <shortdesc> element allows a subset of the possible instances of the unconstrained document type with an optional <shortdesc> element. Thus, the content processing for topic still works when topic is constrained to require a short description.

Content interoperability

DITA document instances declare (by means of the @domains attribute and the @class attribute for the topic or map elements) the vocabularies available in its document type. A processor may examine these declarations to determine whether or not a document instance uses a subset of the vocabularies in another DITA document type and is thus compatible with the other DITA document type.

A constrained document type allows only a subset of the possible instances of the unconstrained document type. Thus, for a processor to determine whether a document instance is compatible with another document type, the document instance must declare any constraints on the document type.

For instance, an unconstrained task is compatible with an unconstrained topic because the task can be generalized to topic. If, however, the topic is constrained to require the <shortdesc> element, a document type with an unconstrained task is not compatible with the constrained document type because some instances of the task might not have a <shortdesc> element. If, however, the task document type has also been constrained to require the <shortdesc> element, it is compatible with the constrained topic document type.

2.2.1.4.4.1: Constraint module DTD coding requirements

Requirements for structural constraint modules

A structural constraint module defines the constraints for exactly one map or topic element type.

Constraint modules should be named "qualifier tagnameConstraints.mod", where qualifier is specific to the constraints module and characterizes it, e.g. "strict", "requiredTitle", etc. and tagname is the name of the element type to which the constraints apply, e.g. "topic", "p", "myNewTopicType", etc.

Within the constraint module there must be a declaration for a general text entity named "tagname-constraints", where tagname is the name of the element type to which the constraints apply. The replacement text for the entity must be of the form "(tagname qualifier Tagname-c)", where tagname is the name of the element type to which the constraints apply, qualifier is as for the module filename (e.g., "strict"), and Tagname is the element type name with an initial capital (e.g. "Topic"). The literal "-c" indicates that the name is the name of a constraints domain. There must also be a declaration of the %tagname.content parameter entity that defines the constrained content model. For example:

<!ENTITY  topic-constraints  "(topic strictTopic-c)">
<!ENTITY % topic.content 
  "((%title;), 
    (%titlealts;)?, 
    (%shortdesc;|
     %abstract;), 
    (%prolog;)?, 
    (%body;)?, 
    (%topic-info-types;)*)"
>

In this example, the shortdesc-or-abstract choice, which is optional in the base <topic> content model, is required, defining a more-constrained content model.

Requirements for domain constraint modules

A domain constraint module defines the constraints for exactly one element domain module.

Domain constraint modules should be named "qualifier domainDomainConstraints.mod", where qualifier is specific to the constraints module and characterizes it, e.g. "strict", "requiredTitle", etc. and domain is the name of the domain to which the constraints apply, e.g. "hi-d", "pr-d", "mydomain-d", etc.

Within the constraint module there must be a declaration for a general text entity named "tagname-constraints", where tagname is the name of the element type to which the constraints apply. The replacement text for the entity must be of the form "(tagname qualifier Tagname-c)", where tagname is the name of the element type to which the constraints apply, qualifier is as for the module filename (e.g., "strict"), and Tagname is the element type name with an initial capital (e.g. "Topic"). The literal "-c" indicates that the name is the name of a constraints domain. There must also be a declaration of the %tagname.content parameter entity that defines the constrained content model.

For example:

<!ENTITY % basicHighlight-c-ph  "b | i">

<!ENTITY   basicHighlight-c-att   "(topic hi-d basicHighlight-c)">

In this example, the set of highlight domain elements has been reduced to just <b> and <i>.

Requirements for shell document types

Information on how to incorporate a constraint module into a DTD document type shell can be found in DTD document-type shell: Coding requirements.

2.2.1.4.4.2: Constraint module XSD coding requirements

A given constraint definition module corresponds to exactly one topic, map, or domain vocabulary module.

Requirements for constraint definition modules

Topic and map type constraint modules should be named "qualifier tagnameConstraints.xsd", where qualifier is specific to the constraints module and characterizes it, e.g. "strict", "requiredTitle", etc. and tagname is the name of the element type to which the constraints apply, e.g. "topic", "p", "myNewTopicType", etc.

Domain constraint modules should be named "qualifier domainDomainConstraints.xsd", where qualifier is specific to the constraints module and characterizes it, e.g. "strict", "requiredTitle", etc. and domain is the name of the domain to which the constraints apply, e.g. "hi-d", "pr-d", "mydomain-d", etc.

Because of restrictions on the redefine feature of XML Schema, it is sometimes necessary to use an intermediate level of redefinition, which requires a separate XSD document. In that case, the intermediate XSD document should be named "qualifier domainDomainConstraintsInt.xsd".

For each extension element type in the base vocabulary module whose content model or attributes are to be constrained in the constraint module, there must be a xs:redefine element that defines the restricted content model for the base element. Attributes for an element type may be constrained as part of the redefinition of the complex type.

Note

When adding an xs:redefine element to an existing document type shell you must remove any xs:include elements that refer to the XSD module to which the redefine is applied. For example, to redefine groups defined in commonElementsMod.xsd you must remove any xs:include of commonElementsMod.xsd.
Example of a structural constraint module
The following code sample shows how the <topic> element may be constrained to create a stricter form of the element, in this case, disallowing the <body> element. This xs:redefine element would be placed in a file named noBodyTopicConstraint.xsd.
...
<xs:redefine schemaLocation="urn:oasis:names:tc:dita:xsd:topicMod.xsd:1.2">
  <xs:group name="topic.content">
    <xs:sequence>
      <xs:sequence>
        <xs:group ref="title"/>
        <xs:group ref="titlealts" minOccurs="0"/>
        <xs:choice minOccurs="1" >
          <xs:group ref="shortdesc" />
          <xs:group ref="abstract" />
        </xs:choice>
        <xs:group ref="prolog" minOccurs="0"/>
        <!--<xs:group ref="body" minOccurs="0"/>-->
        <xs:group ref="related-links" minOccurs="0"/>
        <xs:group ref="topic-info-types" minOccurs="0"
          maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:sequence>
  </xs:group>
</xs:redefine>
...

For selective restriction there must be a group with a subset list of extension elements for a domain in a reusable constraints module. The group name should be named "qualifier domain-c-tagname" where qualifier is a description for the constraint vocabulary constraint module file, domain is the name of the domain, map, or topic being constrained, and tagname is the name of the extension element being restricted.

Example of a domain constraint module
The following code sample shows how the highlight domain can be constrained to limit the elements that are available in the domain to only <b> and <i>. These declarations would be placed in a file named basicHighlightConstraint.xsd.
...
<xs:group name="basicHighlight-c-ph">
  <xs:choice>
    <xs:element ref="b"/>
    <xs:element ref="i"/>
  </xs:choice>
</xs:group>
...
Requirements for shell document types

Document type shell schemas that integrate constraint modules must reflect these requirements:

  • For content model constraints, must include the constraint module instead of the vocabulary module that it constrains.
  • For selective extension, must include the extension subset constraint module and use that group for domain or topic type extension.
  • Must declare the constraints in the domains attribute.
strictTopic.xsd (shell)
The following code sample demonstrates the markup used to constrain the standard <topic> element. These declarations would be placed in a shell file named "strictTopic.xsd".
...
<xs:include schemaLocation="basicHighlightConstraint.xsd"/>
...
<xs:redefine schemaLocation="commonElementGrp.xsd">
  <xs:group name="ph">
    <!-- drop base <ph> as well as apply basic subset of highlight domain -->
    <xs:choice>
      <xs:group ref="basicHighlight-c-ph"/>
    </xs:choice>
  </xs:group>
  ...
</xs:redefine>

<xs:redefine schemaLocation="strictTopicConstraint.xsd">
  <xs:complexType name="topic.class">
    <xs:complexContent>
      <xs:extension base="topic.class">
        <!-- declare the constraint of topic and highlight vocabulary modules
             and compatibility of constrained highlight with subset of 
             topic constraints -->
        <xs:attribute name="domains" type="xs:string"
            default="(topic noBasePhrase-c)
                     (topic strictTopic-c)
                     (topic strictTopic-c hi-d basicHighlight-c)"/>
        ...
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  ...
</xs:redefine>
...

2.2.1.4.4.3: Conref and generalization for constraint modules

When documents use different constraints, conref and generalization processors may examine the @domains to verify compatibility between the document instances.
Conref compatibility with constraints

To determine compatibility between two document instances, a conref processor can check the @domains attribute to confirm that

  • The referencing document has a superset of the vocabulary modules in the referenced document.
  • For each vocabulary module in the referenced document, the referencing document qualifies the common module with a subset of the constraints in the referenced document.

Some examples:

Referencing Referenced Resolution
(topic) (topic shortdescReq-c) Allowed - content model of referenced topic is more constrained
(topic shortdescReq-c) (topic) Prevented - content model of referenced topic is less constrained
(topic hi-d) (topic hi-d basicHighlight-c) Allowed - domain extension list of referenced document type shell is more constrained
(topic hi-d basicHighlight-c) (topic hi-d) Prevented - domain extension list of referenced document type shell is less constrained.
(topic hi-d) (topic noBasePhrase-c) (topic hi-d) Allowed - referencing document type shell doesn't replace base element with domain extensions.
(topic noBasePhrase-c) (topic hi-d) (topic hi-d) Prevented - referencing document type shell does replace base element with domain extensions.
(topic task) (topic hi-d basicHighlight-c) (topic simpleSection-c task simpleTaskSection-c) Allowed - referencing shell has a subset of the constraints of the referenced shell on the common vocabulary modules.
(topic shortdescReq-c task shortdescTaskReq-c) (topic hi-d basicHighlight-c) (topic simpleSection-c task simpleTaskSection-c) Prevented - referencing shell has constraints on common vocabulary modules that aren't in the referenced shell.
Generalization and constraints

Similarly, to determine compatibility between a document instance and a target document type, a generalization processor can use the @domains and @class attributes for the document instance and the @domains attribute for the target document type to determine how to rename elements in the document instance. For each element instance, the generalization processor:

  • Iterates over the @class attribute on the element instance from specific to general, inspecting the vocabulary modules.

  • Looks for the first vocabulary module that is both present in the target document type and that has a subset of the constraints in the document instance.

    If a module is found in the target document type, that module becomes the minimum threshhold for the generalization of contained element instances.

    If a module is not found, the document instance cannot be generalized to the target document type and, instead, can only be generalized to a less constrained document type.

Note that a document instance can always be converted from a constrained document type to an unconstrained document type merely by switching the binding of the document instance to the less restricted schema (which would also have a different @domains attribute declaration). No renaming of elements is needed to remove constraints.

2.2.1.4.4.4: Examples of constraint declaration modules

This section provides examples of constraint declaration modules.
Constraining element content in a topic vocabulary module

A constraint module named shortdescReq redefines the content model of the <topic> element so that the <shortdesc> element is required. The DTD declarations for this module would be:

<!ENTITY shortdescReq.constraint 
  "(topic shortdescReq-c)"
>

<!ENTITY % topic.content  
   "((%title;), 
     (%titlealts;)?, 
     (%shortdesc;),
     (%prolog;)?, 
     (%body;)?, 
     (%related-links;)?, 
     (%topic-info-types;)*)"
>
<!ENTITY % topic.attributes
            "id          ID                                #REQUIRED
             conref      CDATA                             #IMPLIED
             %select-atts;
             %localization-atts;
             outputclass CDATA                             #IMPLIED">
...
<!ELEMENT topic  %topic.content;>
<!ATTLIST topic  %topic.attributes;>
<!ATTLIST topic
             %arch-atts;
             domains    CDATA                    
             "&included-domains;"
>

[Anderson 17 May 2010] The following section about domain vocabulary modules was removed until a sample can be completed.
Integrating a subset of the extension elements from a domain module

A constraint module named basicHighlight includes the <b> and <i> elements but not the <u>, <sub>, <sup>, and <tt> elements from the highlight domain. The DTD declarations for this module would be:

<!ENTITY   basicHighlight-c-att   
   "(topic hi-d basicHighlight-c)"
>

<!ENTITY % basicHighlight-c-ph  "b | i">

The XSD declarations for this module would be:

<xs:group name="basicHighlight-c-ph">
  <xs:choice>
    <xs:element ref="b"/>
    <xs:element ref="i"/>
  </xs:choice>
</xs:group>

[Anderson, 17 May 2010: Previous content was as follows. I've replaced it below while commenting out the noNestedHighlight sample above. Ideally this can be reintroduced when the noNestedHighlight sample is completed.

Note that because the noNestedHighlight constraint module shown above redefines content models and the basicHighlight constraint module subsets extension, these constraints don't conflict in attempting to revise the same content model and thus can be combined in the same shell document type. The effective value of the @domains attribute will include the contributions from both constraint modules, as well as any other modules integrated by the shell, e.g.:

...
(topic hi-d noNestedHighlight-c)
(topic hi-d basicHighlight-c)
...

Note that the basicHighlight constraint module subsets extension, but does not redefine any content models. If another constraint is created to restrict the content model of the <b> element, it will not conflict with the basicHighlight domain, because they do not attempt to revise the same content model. This means that the two can be combined in the same shell document type. The effective value of the @domains attribute will include the contributions from both constraint modules, as well as any other modules integrated by the shell, e.g.:

...
(topic hi-d noNestedHighlight-c)
(topic hi-d basicHighlight-c)
...

Applying multiple constraints to a single vocabulary module

A constraint module named simpleSection redefines the content models of the <section> and <example> elements to allow a single initial <title> element and to remove text and phrase elements. Because this constraint module redefines different elements than the shortdescReq constraint module shown above, both modules can apply to the topic module. The order in which the constraint modules are listed is not significant. The DTD declarations for this module would be:

<!ENTITY simpleSection.constraints
  "(topic simpleSection-c)"
>

<!ENTITY % section.content
  "((%title),
    (%basic.block; | 
     %data.elements.incl; | 
     %foreign.unknown.incl; |
     %sectiondiv;)*)

  "
>

Note that this constraint module and the shortdescReq constraint module both constrain task but because they constrain different element types they do not conflict and can be used together. Each constraint module provides its own contribution to the @domains attribute, so that when integrated the effective value of the @domains attribute will include the declarations for both constraint modules, as well as the declarations for the other modules integrated by the shell document type, e.g.:

...
(topic shortdescReq-c)
(topic simpleSection-c)
..
A topic with elements replaced by domain extensions

A document type shell replaces the <ph> element with extension elements from the highlighting and programming domains. Because the highlighting and programming domains cannot be generalized to a topic without the <ph> element, the removal constraint must be declared on the topic module with a separate parenthetical expression.

The @domains attribute declaration:

(topic noBasePhrase-c)
(topic hi-d)
(topic pr-d)

2.2.2: Architectural Specification: Technical Content Version

Previously, the document types and specializations for technical content were included as an integral part of the base DITA specification. With the release of DITA 1.2 and the increasingly number of specializations that are part of the DITA specification, the document types and specializations for technical content have a dedicated section in the DITA specification.

2.2.2.1: Overview of the DITA 1.2 Specification: Technical Content

This section describes the DITA document types and specializations for technical content.

Prior to the release of DITA 1.2, the document types and specializations for technical content were included as an integral part of the base DITA specification. With the release of DITA 1.2, the document types and specializations for technical content have a dedicated section in the DITA specification. This change reflects the addition of an increasing number of specializations that are part of the DITA standard.

The document types and specializations included in the technical content package and described in this section were designed to meet the requirements of those authoring content for technically oriented products in which the concept, task, and reference information types provide the basis for the majority of the content. These information types are used by technical-communication and information-development organizations that provide procedures-oriented content to support the implementation and use of computer hardware, computer software, and machine-industry content. However, many other organizations producing policies and procedures, multi-component reports, and other business content also use the concept, task, and reference information types as essential to their information models.

The DITA 1.2 technical content package includes the following document types and supporting structural specializations and constraints:

  • Concept document type and structural specialization
  • Reference document type and structural specialization
  • Task document type (general task with the Strict Taskbody Constraint)
  • General task document type and specialization
  • Machinery task document type (general task with the Machinery Taskbody Constraint)
  • Glossary entry (glossentry) document type and structural specialization
  • Glossary group (glossgroup) document type and structural specialization
  • Bookmap document type and structural specialization

The DITA technical content package includes the following domain specializations:

  • Programming elements
  • Software elements
  • User interface elements
  • Task requirements elements
  • Extensible Name and Address Language (xNAL) elements
  • Abbreviated form element
  • Glossary reference (glossref) element

The DITA technical content package includes the following constraint modules:

  • Strict Taskbody
  • Machinery Taskbody

The technical content document type shells included in the DITA technical content package use information types included in other packages, and other packages use the information types from the technical content package.

The technical content package consists of the technicalContent, machineIndustry, and xnal directories, as well as the map document type but not the base map information types.

2.2.2.2: Technical content: Document and information types

The Technical Content package contains five topic specializations that support seven document types: concept, reference, general task, strict task, machinery task, glossary entry, and glossary group. These topic types are specialized from the base topic and are designed specifically for information that describes how to use products and processes they are dominated by procedural, task-oriented information. The Technical Content package also includes the map document type.
Concept

The concept document and information types provide conceptual information to support the performance of tasks. Concepts may include extended definitions of terms, expositions of background information, descriptions of systems and objects, and other content that helps to build the users' understanding of the tasks to be performed.

Reference

The reference document and information types provide for the separation of fact-based information from concepts and tasks. Factual information may include tables and lists of specifications, parameters, parts, commands, and other information that the users are likely to look up. The reference information type allows fact-based content to be maintained by those responsible for its accuracy and consistency.

Task (strict task)

The task document type provides procedural information to support the performance of a task. The task document type implements the strict task content model from DITA 1.0 and 1.1 by combining the new general task (task) information type and the new Strict Taskbody constraint. This information model provides detailed semantics to encourage authors to label standard parts of the task, including pre-requisites, sufficient conceptual information required to perform the task, the commands that introduce each step in a procedure, additional support information required to understand a step, the result of performing the task, and examples that demonstrate the performance of the task.

General task

The general task document and information types are new to DITA 1.2. They provide a less strict task model for task-oriented information than was available in DITA 1.0 and 1.1. The general task model may be preferred over the strict task model by some organizations. It can facilitate the migration of legacy task content that does not follow the strict task topic model. The general task information type serves as the base for the strict task and machine-industry task document types, can be used to create new document types, and can be a base for new structural specializations.

Unfortunately, for historical reasons and to maintain compatibility with DITA 1.0 and 1.1, the names used for the various task components can be confusing:

  • General task is the name for the general task document type
  • Task is the name for the strict task document type
  • Task is also the name for the general task information type
  • Task is the name of the specialized topic tag in the general information type which is used in the strict task, general task, and machine-industry task document types
Machinery task

The machinery-task document type is new to DITA 1.2 and is built by combining the general task information type with the Task Requirements Domain and the Machinery Taskbody Constraint. It provides procedural information, similar to other task types, and has a well-defined semantic structure to meet the special requirements of organizations that develop instructional material for industrial equipment, such as industrial products like trucks, mining machinery, and automobiles. The machine-industry task requirements domain adds several new descriptive elements in the preliminary requirements (prelreqs) and closing requirements (closereqs) sections.

Glossary entry

The glossary entry (glossentry) document type replaces the glossary document type of DITA 1.1. It provides for the development of glossary topics that define terms, acronyms, and abbreviations. It may also contain terminology information.

Glossary group

The glossary group (glossgroup) document type, new in DITA 1.2, allows authors to incorporate multiple glossary entries in a single collection tile.

2.2.2.2.1: Concept topic

The DITA concept document type uses the concept information type. Concept topics are specialized from the base topic information type. They include the standard topic elements, including the short description, prolog, a body, and related links.
The purpose of the concept information type

Concepts provide background that helps readers understand essential information about a product, a task, a process, or any other conceptual or descriptive information. A concept may be an extended definition of a major abstraction such as a process or function. Conceptual information may explain the nature and components of a product and describe how it fits into a category of products. Conceptual information helps readers to map their knowledge and understanding to the tasks they need to perform and to provide other essential information about a product, process, or system.

The structure of the concept topic

The concept topic is specialized from the base topic information type. The top-level element for a DITA concept topic is the <concept> element. Every concept topic contains the standard topic elements, including title, short descriptions or abstract, prolog, a body, and related links.

The <conbody> element holds the main body-level elements of the concept topic. Like the body element of a base topic, the <conbody> allows paragraphs, lists, tables, figures and other general elements. It also provides two key elements that allow authors to subdivide the topic into parts, with or without titles. These subdivisions are called sections and examples. The <conbody> also allows <bodydiv> and <sectiondiv> to facilitate grouping elements in the <conbody> for reuse.

Limitations within <conbody>

The <conbody> provides for an unlimited number of subdivisions in the form of sections and examples. However, once an author decides to incorporate a section or example in the <conbody>, only additional sections or examples are allowed. Sections and examples may not nest, meaning that only one level of subdivision is permitted in the concept topic.

Concept body primary subdivisions
<section>
Represents an organizational division in a concept topic. Sections organize subsets of information within a larger topic. You can only include a simple list of peer sections in a topic; sections cannot be nested. A section may have an optional title.
<example>
Provides examples that illustrate or support the current topic. The <example> element has the same content model as <section>.

Following is an example of a simple concept topic. Note that once an example is used, it may be followed only by another example or by a section.

<concept id="concept">
 <title>Bird Songs</title>

<shortdesc>Bird songs are complex vocalizations used to attract mates or defend territories. 
<conbody>
  <p>Bird songs vary widely among species, from simple songs that are genetically imprinted to complex songs that are learned over a lifetime.</p>
  <example>
   <p>Flycatchers know their songs from birth:</p>
   <ul>
    <li>Flycatcher songs are simple sequences of notes.</li>
    <li>Flycatcher songs never vary but are unique to each member of the Flycatcher family.</li>
   </ul>
  </example>
 </conbody>
</concept>
Modules

The following DITA modules are provided for the concept topic:

  • concept.mod, concept.ent (DTD)
  • conceptMod.xsd, conceptGrp.xsd (Schema)

2.2.2.2.2: Reference topic

The DITA reference document type uses the reference information type. Reference topics are specialized from the base topic information type. They contain the standard topic elements, including title, short descriptions or abstract, prolog, a body, and related links.
The purpose of the reference information type

Reference topics that provide data in support of the performance of a task. Reference topics may provide lists and tables that include product specifications, parts lists, constraints on use or performance, and other data that is often “looked up” rather than memorized. A reference topic may also describe regular constituents of a subject or product, such as commands in a programming language. or required tools for a series of maintenance tasks.

Reference topics provide quick access to fact-based information. In technical information, reference topics are used to list product specifications and parameters, provide essential data, and provide detailed information on subjects such as the commands in a programming language. Reference topics may hold any subject matter that has regular content, such as ingredients for food in recipes, bibliographic lists, catalogue items, and so on.

The structure of the reference topic

The top-level element for a reference topic is the <reference> element.

The <refbody> element holds the main body-level elements of the reference topic. Reference topics limit the body to tables (both simple and complex), property lists, syntax sections, and generic sections and examples.

All of the elements of <refbody> are optional and may appear in any sequence and number.

Limitations on the reference body

The <refbody> provides for an unlimited number of subdivisions in the form of sections, examples, syntax sections, property lists, and tables. However, once an author decides to incorporate a section, example, property list, or syntax section in the <refbody>, only additional sections, examples, property lists, or syntax sections are allowed. Simple and complex tables may appear within sections, examples, and syntax sections. They may not appear within the property list or simple or complex table sections. Sections, examples, syntax sections, table subdivisions, and property lists may not nest, meaning that only one level of subdivision is permitted in the reference topic.

The sections of the reference body
<section>
Represents an organizational division in a reference topic. Sections organize subsets of information within a larger topic. You can only include a simple list of peer sections in a topic; sections cannot be nested. A section may have an optional title.
<refsyn>
Contains syntax or signature content (for example, a command-line utility's calling syntax or an API's signature). The <refsyn> contains a brief, possibly diagrammatic description of the subject's interface or high-level structure.
<example>
Provides examples that illustrate or support the current topic. The <example> element has the same content model as <section>.
<table>
Organizes information according into a rows and columns. Table markup also allows for more complex structures, including spanning rows and columns, as well as table captions.
<simpletable>
Holds information in regular rows and columns and does not allow a caption.
<properties>
Lists properties of a subject and their types, values, and descriptions.
Following is an example of a simple reference topic, including the <refsyn> element.
<reference id="boldproperty">
<title>Bold property</title>
<shortdesc>(Read-write) Whether to use a bold font for the specified text string.</shortdesc>
<refbody>
  <refsyn>
    <synph>
      <var>object</var><delim>.</delim><kwd>Font</kwd><delim>.</delim>
      <kwd>Bold</kwd><delim> = </delim><var>trueorfalse</var>
    </synph>
  </refsyn>
  <properties>
    <property>
      <proptype>Data type</proptype>
      <propvalue>Boolean</propvalue>
    </property>
    <property>
      <proptype>Legal values</proptype>
      <propvalue>True (1) or False (0)</propvalue>
    </property>
  </properties>
</refbody>
</reference>
Following is an example of a simple reference topic, including the <property> element.
<reference id="oiltypes">
<title>Oil Types</title>
<shortdesc>The tables provide the recommended oil types.</shortdesc>
<refbody>
    <properties>
    <property>         
      <prophead>
          <proptypehd>Oil type</proptypehd>
          <propvaluehd>Oil brand</propvaluehd>
          <propdeschd>Appropriate use</propdeschd>
      </prophead>
     <property>
      <proptype>Primary oil</proptype>
      <propvalue>A1X<propvalue>
      <propdesc>Appropriate for one-cylinder engines</propdesc>
    </property>
    <property>
      <proptype>Secondary oil</proptype>
      <propvalue>B2Z</propvalue>
      <propdesc>Appropriate for two-cylinder engines</propdesc>
    </property>
  </properties>
</refbody>
</reference>
Modules

The following DITA modules are provided for the reference topic.

  • reference.mod, reference.ent (DTD)
  • referenceMod.xsd, referenceGrp.xsd (Schema)

2.2.2.2.3: General task topic

The general task document and information types are new to DITA 1.2. They provide a less strict content model for task-oriented information than was available in DITA 1.0 and 1.1. The general task content model may be preferred over the strict task model by some organizations. It can facilitate the migration of legacy content that does not follow the strict task topic model. The general task information type serves as the base for the strict task and machine-industry task document types, can be used to create new document types, and serves as a base for new structural specializations.
The purpose of the general task information type

Like the DITA strict task document type, the general task document and information types contain the essential building blocks to provide procedural information. Both task information types answer the "How do I?" question by providing step-by-step instructions detailing the requirements that must be fulfilled, the actions that must be performed, and the order in which the actions must be performed. Both task topics include sections for describing the context, prerequisites, expected results, and other aspects of a task.

The general task information type is specifically designed to accommodate task specializations that differ from the DITA task information type. It may also be used for the conversion of loosely structured tasks from other sources into DITA before they are restructured to follow the more restrictive DITA task model.

The structure of the general task topic

The <task> element is the top-level element for the general task topic. The general task topic contains a title and a taskbody with optional alternative titles (titlealts), a short description or abstract, a prolog,and related-links.

The following elements are described here because they are introduced as part of the general task model. All other elements are described in the strict task topic.

<section>
Represents an organizational division in a task topic. Sections organize subsets of information within the larger topic. Sections may not be nested. A section may have an optional title.
<steps-informal>
Describes procedural task information that would not normally be ordered as steps, such as a group of general procedures that may all be applied in a particular situation. Instead of <step>, the <steps-informal> element uses <ol> and <ul> elements, which are less strictly defined than the <step> element. When converting legacy content, it may be simpler to convert numbered lists to <ol> elements than to <step> elements.
Comparison of general and strict task

The following table compares the structures of general and strict task:

General taskbody Strict taskbody constraint
prerequisite (optional, in any order, any number) prerequisite (optional, one only, must precede context)
context (optional, in any order, any number) context (optional, one only, must follow prerequisite)
section (optional, in any order, any number) (not defined for strict taskbody)
steps steps
steps-unordered steps-unordered
steps-informal (not defined for strict taskbody))
result (optional, one only, precedes example) result (optional, one only, precedes example)
example (optional, any number, precedes post-req) example (optional, one only, precedes post-req)
post-requisite (optional, any number) post-requisite (optional, one only)
Modules

The following DITA modules are provided for the task topic.

  • task.mod, task.ent(DTD)
  • taskMod.xsd, taskGrp.xsd (Schema)

2.2.2.2.4: Task topic (strict task)

The strict task document type supports the development of instructions for the completion of a procedure. The strict task document type is built using the general task information type combined with the Strict Taskbody Constraint. See the reference below to ensure that you have the correct task document type when you update to DITA 1.2.
The purpose of the standard task information type

Tasks are the essential building blocks to provide procedural information. A task information type answers the "How do I?" question by providing precise step-by-step instructions detailing the requirements that must be fulfilled, the actions that must be performed, and the order in which the actions must be performed. The task topic includes sections for describing the context, prerequisites, expected results, and other aspects of a task.

The structure of the task topic

The <task> element is the top-level element for the strict task topic. The strict task document type contains a title and a taskbody with optional alternative titles (titlealts), a short description or abstract, a prolog,and related-links.

The <taskbody> element is the main body element inside a strict task document type. The strict task body has a constrained structure, with these optional elements in the following order:

<prereq>
Describes information that the user needs to know or do before starting the immediate task. This section may occur only once.
<context>
Provides background information for the task. This information helps the users understand the purpose of the task and what they will gain by completing the task correctly. This section should be brief and does not replace or recreate a concept topic on the same subject, although the context section may include some conceptual information. This section may occur only once.
<steps>
Provides the main content of the task topic. A task consists of a series of steps that accomplish the task. The <steps> element must have one or more <step> elements, which provide the specifics about each step in the task. The <steps> element may occur only once.

The <step> element represents an action that a user must follow to accomplish a task. Each step in a task must contain a command <cmd> element which describes the particular action the user must perform to accomplish the overall task. The step element may also contain information <info>, substeps <substeps>, tutorial information <tutorialinfo>, a step example <stepxmp>, choices <choices>, or a stepresult <stepresult>, although these are optional.

<steps-unordered>
Provides alternative content for the task topic, allowing for a single step in a procedure or a set of commands that need not be performed in a specific order.
<result>
Describes the expected outcome for the task as a whole.
<example>
Provides an example that illustrates or supports the task.
<postreq>
Describes steps or tasks that the user should do after the successful completion of the current task. It is often supported by links to the next task or tasks in the <related-links> section.
Here is an example of a task topic:
<task id="birdhousebuilding">
    <title>Building a bird house</title>
    <shortdesc>Building a birdhouse is a perfect activity 
    for adults to share with their children or grandchildren. 
    It can be used to teach about birds, as well as the proper use of tools.
    </shortdesc>
 <taskbody>
  <context>Birdhouses provide safe locations for birds to build nests and raise their young. They also provide shelter during cold and rainy spells.</context>
  <prereq>To build a sound birdhouse, you will need a complete set of tools:
  <ul><li>hand saw</li>
      <li>hammer ... </li>
  </ul></prereq>
 <steps>
   <step><cmd>Lay out the dimensions for the birdhouse elements.</cmd></step>
   <step><cmd>Cut the elements to size.</cmd></step>
   <step><cmd>Drill a 1 1/2" diameter hole for the bird entrance on the front.</cmd>
         <info>You need to look at the drawing for the correct placement of the 
               hole.</info></step>
   ...
  </steps>
  <result>You now have a beautiful new birdhouse!</result>
  <postreq>Now find a good place to mount it.</postreq>
 </taskbody>
</task>
Maintaining specializations using the strict task model

Organizations that have created specializations based on the DITA 1.0 and 1.1 strict task model should review the recommendations in Migrating from DITA 1.1 to 1.2 to maintain their specializations.

Modules

The following DITA modules are provided for the task topic.

  • task.mod. task.ent, strictTaskbody constraint (DTD)
  • taskMod.xsd, taskGrp.xsd, strictTaskbodyConstraintMod.xsd (Schema)

2.2.2.2.5: Machinery task topic

The machinery task document type supports the development of instructions for the completion of a procedure. The machinery task document type is built using the general task information type combined with the Machinery Taskbody Constraint.
The purpose of the machinery task information type

The machinery-task is designed to provide procedural information, similar to the strict task topic, and has a well-defined semantic structure that describes how to perform the steps required to accomplish a specific goal. Compared to the strict task information type, the machinery-task information type contains additional descriptive elements in the prelreqs section that add detail to the pre-requisites required to perform a task. The machinery-task topic is developed using the DITA constraint mechanism, in addition to specializations for new elements.

Machinery tasks are the essential building blocks to provide procedural information for machines, machinery equipment, assemblies, and apparatuses. A machinery-task information type answers the "How do I?" question by providing precise step-by-step instructions detailing the requirements that must be fulfilled, the actions that must be performed, and the order in which the actions must be performed. The machinery-task topic includes sections for describing the context, preliminary requirements, expected results, examples, closing requirements, and other aspects of a task.

The structure of the machinery-task topic

Similar to a strict DITA task, the <task> element is the top-level element for a machinery task topic. The machinery task document type contains a title and a taskbody with optional alternative titles (titlealts), a short description or abstract, a prolog,and related-links.

The <taskbody> element is the main body element inside a machinery-task topic. A machinery-task body has a very specific structure, with the following elements in this order: (<prelreqs> or <context> or <section>)*, <steps>, <result>, <example>, and <closereqs>. Each of the body sections is optional.

The machinery task includes two specialized element groups: <prelreqs> and <closereqs>. All other element groups are the same as the general task model.

<prelreqs>
The preliminary-requirements section of a task is used to describe what the user needs to know or do before starting the immediate task. The <prelreqs> element is similar to the prerequisites section of the general task model but contains a more descriptive content model. The <prelreqs> element contains required conditions, required personnel, required equipment, supplies, spares, and safety information.
<closereqs>
The close-requirements section is used to describe conditions that must be fulfilled after the successful completion of the current task. It is often supported by links to the next task or tasks in the <related-links> section. The <closereqs> element contains required conditions <reqconds>.
Modules

The following DITA modules are provided for the machinery task topic.

  • machineryTask.dtd (DTD), machineryTaskbodyConstraint.mod
  • machineryTask.xsd, machineryTaskbodyConstraintMod.xsd, machineryTaskbodyConstraintIntMod.xsd (Schema)

2.2.2.2.6: Glossary entry topic

Each glossary entry <glossentry> topic defines a single sense of one term. Besides identifying the term and providing a definition, the topic accommodates basic terminology information, such as part of speech. A glossentry topic may also include acronyms and acronym expansions. Glossentry topics may be assembled by authors or processes to create glossaries for various purposes, including books, websites, or other projects.
The purpose of the glossary entry topic

Defining terminology in a glossary ensures that a team of writers uses the same term for the same concept. A glossary added to a book or available online in conjunction with other subject matter provides the reader with definitions of unfamiliar terms and expands acronyms.

The structure of the glossentry topic

The top-level element for a DITA glossentry topic is the <glossentry> element. Every glossentry topic contains a <glossterm> and a <glossdef> element and optional <related-links>.

Where a term has multiple senses, the writer should create multiple glossentry topics with the same term in the <glossterm> element but different definitions in the <glossdef> element. A process can collate and group glossentry topics by term when generating formatted output. Note that definitions with the same term in one language can have different terms in other languages, so translations can result in different collation and grouping of the same set of glossentry topics.

Here is an example of a simple glossentry topic:

<glossentry id="ddl">
    <glossterm>Data Definition Language</glossterm>
    <glossdef>A language used for defining database schemas.</glossdef>
</glossentry>

To create a glossary, authors can group multiple entries together by

  • authoring in a single document using the Glossary group document type
  • authoring in a single document under a container topic using the ditabase document type
  • referencing the glossentry topics from a map
  • using an automated process
For example, an automated process may assemble glossentry topics from a repository based on the <term> markup in a particular collection of topics.

Acronyms defined within glossentry topics

The glossentry topic may be used to provide expansions of acronyms in online text and assist in the proper translation of acronyms into multiple languages. The acronym elements of the glossentry topic include the following:

  • <glossterm> to enter the full text to which the acronym refers
  • <glossSurfaceForm> to provide the appropriate rendering of the full text plus the acronym in each language
  • <glossAcronym> to provide the acronym text itself

Here is an example of an acronym used in the glossentry topic:

<glossentry id="wmd" xml:lang="en">
  <glossterm>Weapons of Mass Destruction</glossterm>
  <glossBody>
    <glossSurfaceForm>Weapons of Mass Destruction (WMD)</glossSurfaceForm>
    <glossAlt>
      <glossAcronym>WMD</glossAcronym>
    </glossAlt>
  </glossBody>
</glossentry>

Here is an example of how the glossentry topic would be translated into Spanish:

<glossentry id="wmd" xml:lang="es">
  <glossterm>armas de destrucción masiva</glossterm>
  <glossBody>
    <glossSurfaceForm></glossSurfaceForm>
    <glossAlt>
      <glossAcronym></glossAcronym>
    </glossAlt>
  </glossBody>

Note that because no acronym exists for the term in Spanish, the <glossSurfaceForm> and <glossAcronym> elements are left blank.

In some languages, the surface form that expands the acronym in its first use handles the formatting differently than in English. For example, in Polish, the acronym precedes the expansion.

<glossentry id="eu" xml:lang="pl">
  <glossterm>Unia Europejska</glossterm>
  <glossBody>
    <glossSurfaceForm>UE (Unia Europejska)</glossSurfaceForm>
    <glossAlt>
      <glossAcronym>UE</glossAcronym>
    </glossAlt>
  </glossBody>
</glossentry>

For more information about the correct use of acronym expansions in multiple languages, see Best Practice for Managing Acronyms and Abbreviations in DITA, produced by the DITA Translation Subcommittee. http://www.oasis-open.org/committees/download.php/29734/AcronymBestPractice_08112008.doc

Modules

The following DITA modules are provided for the glossary entry topic.

Note

The glossary.dtd, glossary.ent, and glossary.mod are deprecated versions of the files glossentry.dtd., glossentry.ent, and glossentry.mod. The deprecated files are included in DITA 1.2 to provide backward compatibility with DITA 1.0 and 1.1.

  • glossentry.dtd, glossentry.ent, glossentry.mod (DTD)
  • glossentryMod.xsd, glossentryGrp.xsd (Schema)

2.2.2.2.7: Glossary group topic

Glossary group <glossgroup> topics may be used to contain multiple glossentry topics in a single collection file.

The glossgroup topic allows authors to include one or more glossentry topics in a single collection file rather than authoring each glossentry topic in a separate file. The glossgroup topic is a specialization of concept.

Modules

The following DITA modules are provided for the glossgroup topic.

  • glossgroup.dtd, glossgroup.ent, glossgroup.mod (DTD)
  • glossgroup.xsd, (Schema)

2.2.2.2.8: Bookmap

The DITA bookmap specialization represents the key markup requirements for managing DITA content through book-oriented publication processes, including book metadata and book structures for organizing content.
The purpose of the bookmap specialization

Books and other printed media are popular ways to present DITA content. By specializing the general DITA map structure into the general structure and subject areas used by most book-oriented DTDs, bookmaps enable users to organize their DITA information into front matter, parts, chapters, and so forth. A rich set of metadata allows for recording information about the book, such as its authors and owners, versions, and production history.

The structure of the bookmap specialization

The <bookmap> element is the top-level element for a DITA bookmap. Most of the content for a bookmap is optional, allowing for specializations that further restrict the bookmap model..

A bookmap allows the following parts:

  • An intial title or booktitle (booktitle has more semantics)
  • Book metadata (publisher, author, copyright holders and dates, etc.)
  • Front matter (placement for Table of Contents and other preliminary information)
  • Any number of chapters or parts (parts can group chapters, chapters can group topics)
  • An appendices section (similar to a part or a chapter, can group multiple appendices
  • Back matter (similar to front matter, notices, glossary, index, etc.)
  • Relationship table

In typical book-oriented DTDs or schemas, authors commonly manage major content structures as external entities, separate from the body of the book, and referenced as imbedded elements into the overall structure. Bookmap follows the same organizational approach, using the topicref-based structure of DITA maps as the archetype for the major divisions of a book.

Here is an example of a simple bookmap. It includes several mechanisms to include chapter content:

  • Referencing a DITA map
  • Referencing a DITA topic
  • Nesting <topicref> elements

<bookmap id="taskbook">
  <booktitle>
    <mainbooktitle>Product tasks</mainbooktitle>
    <booktitlealt>Tasks and what they do</booktitlealt>
  </booktitle>
  <bookmeta>
    <author>John Doe</author>
    <bookrights>
      <copyrfirst>
        <year>2006</year>
      </copyrfirst>
      <bookowner>
        <person href="task_preface.dita>Jane Doe</person>
      </bookowner>
    </bookrights>
  </bookmeta>
  <frontmatter>
    <preface/>
  </frontmatter>
  <chapter format="ditamap" href="installing.ditamap"/>
  <chapter href="configuring.dita"/>
  <chapter href="maintaining.dita">
    <topicref href="maintainstorage.dita"/>
    <topicref href="maintainserver.dita"/>
    <topicref href="maintaindatabase.dita"/>
  </chapter>
  <appendix href="task_appendix.dita"/>
  </bookmap>
Modules

The following DITA modules are provided for the bookmap specialization.

  • bookmap.dtd, bookmap.ent, bookmap.mod (DTD)
  • bookmap.xsd, bookmapGrp.xsd, bookmapMod.xsd (Schema)

2.2.2.3: Topic domains: Technical content

A DITA domain defines a set of elements associated with a particular subject area or authoring requirement. DITA incorporates several domains into the Technical Content specializations. Other domains are incorporated into basic DITA.

The elements in a domain are defined in a domain module which can be integrated with a topic type to make the domain elements available within the topic type structure. Currently the following domains are provided as part of the Technical Content specializations:

Technical content domains
DITA includes domain specializations that are especially useful for authoring technical content. The typographic, utilities, and indexing domains associated with Base DITA are described under DITA Markup.
Domain Description Short name Module name
Programming For describing programming and programming languages pr-d
programmingDomain.mod (DTD)
programmingDomain.ent
programmingDomain.xsd (Schema)
Software For describing software sw-d
softwareDomain.mod (DTD)
softwareDomain.ent
softwareDomain.xsd (Schema)
User interface For describing elements in a user interface ui-d
uiDomain.mod (DTD)
uiDomain.ent
uiDomain.xsd (Schema)
Hazard statements For providing detailed information about safety hazards hazard-d hazardstatementDomain.mod (DTD) hazardstatementDomain.ent hazardstatementDomain.xsd (Schema)
Abbreviated form For linking between a text reference to a glossentry topic. A specialization of <term> to provide an <abbreviated-form> element abbrev-d
abbreviateDomain.mod (DTD)
abbreviateDomain.ent
abbreviateDomain.xsd (Schema)
Glossary reference For linking from a term to its glossary topic glossref-d glossrefDomain.mod (DTD) glossrefDomain.ent glossrefDomain.xsd (Schema)

The technical content domain specializations, like all domain specializations, may be included in the DITA document types beyond those in the technical content section. The DITA document types in the technical content section make use of other domain specializations in addition to those listed in the table.

The elements and attributes included in specific domain specializations are described in the domain elements of the DITA 1.2 Language Reference.

2.2.2.4: The xNAL domain

The DITA xNAL domain specialization defines a number of metadata elements and attributes that are useful in representing personal/organizational names and addresses. The metadata can be used to identify authors and content owners. The OASIS xNAL Standard (extensible Name and Address Langauge) was selected to represent close mappings from the DITA bookmap metadata content model to an existing standard. xNAL is included in the Bookmap and the LearningBookmap document types.

The OASIS Customer Information Quality (CIQ) standard for global-customer information management contains the definition of the OASIS extensible Name and Address Language (xNAL) metadata elements. Version 2 of the standard states:

The objective of xNAL is to describe a common structure for Personal/Organization Names and Addresses that would enable any applications that want to represent customer names and addresses in a common standard format. The applications could be CRM/e-CRM, Customer Information Systems, Data Quality (Parsing, Matching, Validation, Verification, etc.), Customer Data Warehouses, Postal services, etc.

However, any party for its own purposes and applications may use xNAL grammar or parts of it.

The DITA xNAL specialization is based on the OASIS extensible Name and Address Language metadata elements. Due to differences between the two processing architectures, the DITA xNAL domain does not incorporate all of the definitions from the OASIS xNAL standard directly. Instead, there is a transformational equivalence between the DITA and OASIS xNAL definitions for names and addresses. This equivalence enables XML-aware tools in workflow systems to capture and manipulate names and addresses in a standard manner.

The xNAL domain is available for use in the bookmap and learningBookmap document types, which are distributed as part of the DITA 1.2 specification. It can be included in specialized DITA document types that require metadata for names and addresses.

2.2.3: Architectural Specification: Learning and Training Version

DITA 1.2 introduces the Learning and Training specialization, which is designed for developing instructional materials. It contains all of base DITA and some (but not all) parts of the Technical Content package.

2.2.3.1: Overview

The DITA 1.2 Learning and Training specialization addresses several key problems facing developers and consumers of instructional content.

Today's learners confront a complex world with many inter-related bits and pieces of information, many different ways to access that information, and a strong need to identify the connection points, the objectives, and the context for what to know and what to learn.

In this environment, developers of learning and training content face many challenges, including:

  • How to find the context for developing and delivering the right content to the right person at the right time?
  • How to identify the learning goals and objectives?
  • Who and how many are the audiences?
  • How to pull together and integrate content from many different sources and content providers?
  • How to enable customers and partners to add, integrate, assemble, and deliver their own content?

These key challenges and issues for delivery of learning and training content mirror long-standing pain points and requirements for content delivery in general.

  • Content consumers value consistency of content and learning experiences.
  • They desire management of content to make it shareable across and within teams.
  • They seek to simplify the information needed to support the complex environments.
  • Finally, they want a content development process that can enable the assembly and delivery of custom content that addresses specific learning contexts and use cases.

2.2.3.2: Objectives of the DITA Learning and Training Specialization

The DITA Learning and Training specialization builds on best practices for modular content design, following DITA principles.

The objectives of the specialization include the following:

  1. Provide a general top-level design for authoring of education content with good learning architecture, following DITA principles and best practices.

    Some specifics of good DITA design for learning content include:

    1. offers a starter set of specialized topic types that support structured, intent-based authoring of content for learning and training, including assessments
    2. provides a map domain for structuring the specialized learning topics as reusable learning objects, and for managing the linking and relationships among them
    3. offers basic map-driven processing to support topic linking, relationships, and simple sequencing
    4. includes a starter set of commonly-used learning interactions, for use in testing and assessment
    5. provides support for learning metadata based on the IEEE standard for learning objects metadata (LOM), for use in both topics and maps

  2. Establish guidelines that promote best practices for applying standard DITA approaches to learning content, which include:
    1. separation of presentation and content (as much as possible)
    2. separation of content and context
    3. single sourcing, repurposing, and reuse
  3. Provide basic support for processing DITA content for delivery as learning and training in a variety of forms, including print and presentation delivery to support instructor-led training (ILT) and web delivery for distance learning.
  4. Provide a framework for developing targeted support for processing DITA learning content for delivery with standards-based learning, specifically targeting SCORM. Extend DITA processing to support basic SCORM packaging and required SCORM LMS runtime behaviors. Build on best practices for behaviors to drive and present the interactions.
  5. Build on existing DITA infrastructures as much as possible, so learning content developers do not have to start from scratch because with minimal adaptation they can use standard approaches for DITA content and reuse content previously developed for other purposes.

Note

Simply using the content models described in this specification, of course, does not ensure quality learning content. Quality learning content only results from good instructional design and in-depth learning needs analysis.

2.2.3.3: A learning objects approach to learning and training content

The DITA Learning and Training specialization applies DITA principles and best practices for using topic-based and modular content to plan, develop, and deliver learning and training content.

The reusable learning objects, or RLO, approach to learning content derives from the pioneering work of learning content designers at several companies, including Autodesk®, Oracle®, and Cisco®. Author Peder Jacobsen defines an RLO as "a discrete reusable collection of content used to present and support a single learning objective." With this approach, it is possible to gather a pool of information objects and make them available for reuse and repurposing in a variety of learning delivery contexts.

There is a strong affinity between the DITA topic-based, modular approach to content in general, and the learning objects approach to learning content in particular.

Working assumptions about learning content and how to support authoring and delivering it with DITA include the following:

  • The DITA Learning and Training specialization builds on a reusable learning objects (RLO) approach to learning content.
  • DITA topic types are the basic building blocks for learning objects and specify the meaning and intention of content provided in instructional and information objects.
  • DITA domains provide the mechanism for defining interactions, which can be used across the learning topic types.
  • DITA domains also provide the mechanism for defining learning metadata, which can be assigned either in topics or in maps.
  • DITA maps arrange the DITA learning topics into a hierarchy of learning objects and group such content for delivery as lessons, modules, and courses.
  • DITA specialization provides the mechanism for creating the learning-based topic types, domains, and maps needed for instructional and information object content requirements.

Learning objects and specialized DITA learning and training topic types

This figure shows the composition of learning objects as a) instructional objects, b) information objects, and c) the specialized DITA topic types to support them.

Learning objects and the DITA learning types that support them

In this approach, a learning object comprises a "discrete reusable collection of content used to present and support a single learning objective," and consists of two primary information components:

  • instructional objects, which provide the structured framework for a learning experience. The learningOverview, learningSummary, and learningAssassessment topic types provide content for instructional objects.
  • information objects, which provide the source learning content - the topic-based learning content and other supplemental content that supports the learning goals identified in the instructional objects. The learningContent topic type provides content for information objects.
  • instructional plans, which identify the learning goals, needs, and objectives. The learningPlan topic type provides content for instructional plans.

Learning content design, authoring, and delivery through DITA specialization

This picture shows the end-to-end process for designing, authoring, and delivering specialized learning content with DITA. The end-to-end process for designing, authoring, and delivery specialized learning content with DITA.

In this approach, a learning content developer:

  1. Uses learning map elements to identify the learning objects and the supporting content needed to address specific learning goals and objectives.
  2. Uses learning topic elements to structure the learning content.
  3. Applies learning metadata elements to describe specific characteristics of the learning content, following a sub-set of the IEEE LOM standard.
  4. Constructs specific build maps and relationship tables to organize learning objects for delivery as a course with specific output and delivery needs.
  5. Invokes processing to generate specific learning deliverables, based on the default processing available with DITA content and specialized as needed for learning-specific purposes and delivery formats.

2.2.3.4: Use cases

Several use cases inform the design and development of the DITA Learning and Training Specialization.
Enable indexing, searching, and retrieval of learning content
By structuring content with DITA topics and maps as self-contained learning objects matched with appropriate DITA metadata, it is possible to enable fast indexing, search, and retrieval of learning content that meets specific learning goals and objectives.
Creating custom courses quickly
A company has a large inventory of topic-based content that is used to provide technical and troubleshooting information about a set of componentized software products. It desires to enable field engineers to quickly identify technical content that is suitable for providing on-site training. The DITA Learning and Training Specialization enables field engineers to draw on their inventory of topics and quickly assemble learning content to meet specific customer needs.
Making technical content available for direct sharing and reuse in learning and training
A DITA learning specialization makes it possible to define a context for and directly assemble and use existing technical content for delivery as learning and training. The DITA approach identifies consistent structures and patterns and leverages them to enable a consistent approach for sharing content across teams. The result is much more opportunity to share content between different providers and across areas of expertise, to learn from each other, and to deliver content and the learning experience consistently. As a result, instead of copy, paste, and make unique as the norm, we have write once and share with others as the new norm.

2.2.3.5: Summary of learning topic, map, and domain designs

The DITA 1.2 Learning and Training specialization provides a set of specialized DITA topics, a learning interactions domain, a learning metadata domain, and a learning map domain to support creating and delivering structured learning content.
Learning topic types

The following specialized DITA topic types provide support for creating learning and training content.

Learning Plan topic type
Describes learning needs and goals, instructional design models, task analyses, learning taxonomies, and other information necessary to the lesson planning process.
Learning Overview topic type
Identifies the learning objectives and includes other information helpful to the learner, such prerequisites, duration, and intended audience.
Learning Content topic type
Provides the learning content itself and enables direct use of content from DITA task, concept, and reference topics, as well as additional content of any topic type that supports specific objectives declared in the Learning Overview topic type.
Learning Summary topic type
Recaps and provides context for the learning objectives and provides guidance to reinforce learning and long-term memory.
Learning Assessment topic type
Presents instruments that measure progress, encourage retrieval, and stimulate reinforcement of the learning content and can be presented before the content as a pre-assessment or after the content as a post-assessment checkpoint or test.
Learning map domain

Use the learning map domain to organize groups of topics as learning objects.

Note

The learning map domain is part of the learningMap and the learningBookmap document types. As these learning map structures are delivered as a domain specialization rather than as a structural specialization, it is possible to extend any type of DITA map to include these structures.
learningGroup
A map container and optional topic reference to introduce and group learning objects into higher-level organizations, such as course-level, module-level, or lesson-level. A learningGroup can contain other learningGroup elements, allowing you to organize learning content at course, module, or other higher levels of hierarchy.
learningObject
A map container and optional topic reference to introduce and group the topic references for a learning object.
learningPlanRef
A topic reference to a learning plan or other topic that provides the learning plan.
learningOverviewRef
A topic reference to a learning overview or other topic that introduces the learning object.
learningContentRef
A topic reference to a learning content topic, or a topic, task, concept, reference or other specialized topic.
learningContentComponentRef
A topic reference to a learning content topic, or a topic, task, concept, reference or other specialized topic.
learningSummaryRef
A topic reference to a learning summary or other topic that provides the summary.
learningPreAssessmentRef
A topic reference to a learning assessment or other topic that is used as a pre-assessment.
learningPostAssessmentRef
A topic reference to a learning assessment or other topic that is used as a post-assessment.
Learning interactions domain

The learning interactions domain defines a set of basic learning interaction elements as a DITA domain.

lcOpenQuestion
Poses an open-ended question in an assessment interaction.
lcTrueFalse
Presents the learner with two choices, one correct, the other incorrect, often presented as true/false or yes/no responses.
lcSingleSelect
Presents three or more choices, only one of which is correct.
lcMultipleSelect
Presents two or more choices, two or more of which are correct.
lcMatching
In a list of paired choices, the learner identifies the correct choice that matches another choice.
lcHotspot
Presents an image, and the learner clicks on one or more regions to indicate a choice.
lcSequencing
Presents choices in a list that the learner must arrange in a correct ordered sequence.

Learning metadata domain

The learning metadata domain defines a set of basic learning metadata elements as a DITA domain and available for use in the learning topic types, as specialized prolog metadata and in the learning map domain, as specialized topicmeta.

lcLom makes the learning metadata elements available in the learning topics and learning map domain.

Elements in lcLom include:

  • lomAggregationLevel
  • lomContext
  • lomCoverage
  • lomDifficulty
  • lomInstallationRemarks
  • lomIntendedUserRole
  • lomInteractivityLevel
  • lomInteractivityType
  • lomLearningResourceType
  • lomOtherPlatformRequirements
  • lomSemanticDensity
  • lomStructure
  • lomTechRequirement
  • lomTypicalAgeRange
  • lomTypicalLearningTime

Instructor notes

The learning interactions domain also makes available an lcInstructornote element for providing instructor-specific information.

Chapter 3: Language reference

The language reference provides information about each element in the DITA vocabulary modules. It is divided into three sections: Base, technical content, and learning and training. It also includes a section titled "Attributes" that applies to all three of the preceding sections.

3.3.1: Base elements

Base elements include the core DITA topic and map elements that are the building blocks for other specializations as well as several basic specializations that are not applicable to a specific information domain.

3.3.1.1: Topic elements

The base topic elements include elements that make up the core building blocks of the DITA topic, such as topic, body, and related-links, as well as elements like <p> and <ph> that are used in many topic specializations. Some of these elements are also available inside the <topicmeta> map element.

3.3.1.1.1: Basic topic elements

The generic topic structure is used for untyped topics. While much of the DITA architecture is built on generic topics, it is generally better to use more specific information types (such as concept, task, or reference) when they are available.

For an answer to the question "What are topics?" and more details on when to use different information types, please refer to DITA topics.

3.3.1.1.1.1: topic

The <topic> element is the top-level DITA element for a single-subject topic or article. Other top-level DITA elements that are more content-specific are <concept>, <task>, <reference>, and <glossentry>, all of which are specializations of the <topic> element.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, concept, glossary, glossentry, glossgroup, reference, task, machineryTask, learningAssessment, learningOverview, learningPlan, learningSummary ( (title) then (titlealts) (optional) then (shortdesc or abstract) (optional) then (prolog) (optional) then (body) (optional) then (related-links) (optional) then (topic) (any number) )
ditabase ( (title) then (titlealts) (optional) then (shortdesc or abstract) (optional) then (prolog) (optional) then (body) (optional) then (related-links) (optional) then (topic or concept or task or reference or glossentry or glossgroup) (any number) )
learningContent ( (title) then (titlealts) (optional) then (shortdesc or abstract) (optional) then (prolog) (optional) then (body) (optional) then (related-links) (optional) then ( (no-topic-nesting) (optional) ) (any number) )
Contained by
Doctype Content model
topic (base), topic (technical content), concept, reference, task (strict), task (general), machineryTask topic
ditabase dita, topic, concept, task, reference
glossary, glossentry, glossgroup topic, concept
learningAssessment, learningOverview, learningPlan, learningSummary topic, learningBase
learningContent learningBase, learningContent
Inheritance

- topic/topic

Example
<topic id="topic">
 <title>Some little topic</title>
 <body>
  <p>Here's a little topic.</p>
  <ul>
   <li>Some item</li>
   <li>Another item</li>
  </ul>
 </body>
</topic>
Attributes
Name Description Data Type Default Value Required?
id This ID enables topics to be referenced uniquely by topicrefs in DITA maps. ID Yes
conref-atts attribute group (conref, conrefend, conaction, conkeyref) A set of related attributes; includes all of the attributes described in id-atts attribute group except for the id attribute.
xmlns:ditaarch Declares the default DITA namespace. "http://dita.​oasis-open.​org/​architecture/​2005/"
DITAArchVersion Designates the version of the architecture that is in use. The default value will increase with each release of DITA. CDATA "1.2" No
domains Indicates the specialized domains that are included in the DTD or Schema. This value will differ depending on what domains are included in the current DTD or Schema. CDATA Varies based on the DTD or Schema; a sample value is "(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d) (topic ut-d) (topic indexing-d)" No
select-atts attribute group (props, base, platform, product, audience, otherprops, importance, rev, status) A set of related attributes, described in select-atts attribute group
localization-atts attribute group (translate, xml:lang, dir) A set of related attributes, described in localization-atts attribute group.
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.1.2: title

The <title> element contains a heading or label for the main parts of a topic, including the topic as a whole, its sections and examples, and its labelled content, such as figures and tables. Beginning with DITA 1.1, the element may also be used to provide a title for a map. With DITA 1.2, the element is also available in reltables, although in the reltable a title is typically used for reference information (not for content displayed to an end user).
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or state or data or data-about or foreign or unknown or image) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or state or data or data-about or foreign or unknown or image) (any number)
machineryTask ( text data or boolean or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or state or data or data-about or foreign or unknown or image) (any number)
Contained by
Doctype Content model
topic (base) data, fig, figgroup, table, topic, section, example, linklist
map (base), learningMap data, fig, figgroup, table, map, reltable, relcolspec
topic (technical content) data, fig, figgroup, table, topic, section, example, linklist, syntaxdiagram, synblk, groupseq, groupchoice, groupcomp, fragment
map (technical content) data, fig, figgroup, table, map, reltable, relcolspec, syntaxdiagram, synblk, groupseq, groupchoice, groupcomp, fragment
concept data, fig, figgroup, table, topic, section, example, linklist, concept, syntaxdiagram, synblk, groupseq, groupchoice, groupcomp, fragment
ditabase data, fig, figgroup, table, topic, section, example, linklist, concept, task, reference, refsyn, glossProperty, glossgroup, syntaxdiagram, synblk, groupseq, groupchoice, groupcomp, fragment
glossary, glossentry data, fig, figgroup, table, topic, section, example, linklist, concept, glossProperty, syntaxdiagram, synblk, groupseq, groupchoice, groupcomp, fragment
glossgroup data, fig, figgroup, table, topic, section, example, linklist, concept, glossProperty, glossgroup, syntaxdiagram, synblk, groupseq, groupchoice, groupcomp, fragment
reference data, fig, figgroup, table, topic, section, example, linklist, reference, refsyn, syntaxdiagram, synblk, groupseq, groupchoice, groupcomp, fragment
task (strict), task (general) data, fig, figgroup, table, topic, section, example, linklist, task, syntaxdiagram, synblk, groupseq, groupchoice, groupcomp, fragment
bookmap data, fig, figgroup, table, map, reltable, relcolspec, bookmap, syntaxdiagram, synblk, groupseq, groupchoice, groupcomp, fragment
classifyMap data, fig, figgroup, table, map, reltable, relcolspec, topicSubjectTable
subjectScheme data, fig, figgroup, table, map, reltable, relcolspec, subjectScheme, subjectRelTable
machineryTask data, fig, figgroup, table, topic, section, example, linklist, task
learningAssessment data, fig, figgroup, table, topic, section, example, linklist, learningBase, lcIntro, lcObjectives, lcAudience, lcDuration, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, learningAssessment, lcInteractionBase, lcTrueFalse, lcSingleSelect, lcMultipleSelect, lcSequencing, lcMatching, lcHotspot, lcOpenQuestion
learningBookmap data, fig, figgroup, table, map, reltable, relcolspec, bookmap
learningContent data, fig, figgroup, table, topic, section, example, linklist, learningBase, lcIntro, lcObjectives, lcAudience, lcDuration, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, task, concept, reference, refsyn, learningSummary, learningAssessment, learningContent, lcInteractionBase, lcTrueFalse, lcSingleSelect, lcMultipleSelect, lcSequencing, lcMatching, lcHotspot, lcOpenQuestion
learningOverview data, fig, figgroup, table, topic, section, example, linklist, learningBase, lcIntro, lcObjectives, lcAudience, lcDuration, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, learningOverview, lcInteractionBase, lcTrueFalse, lcSingleSelect, lcMultipleSelect, lcSequencing, lcMatching, lcHotspot, lcOpenQuestion
learningPlan data, fig, figgroup, table, topic, section, example, linklist, learningBase, lcIntro, lcObjectives, lcAudience, lcDuration, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, learningPlan, lcProject, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcNeedsAnalysis, lcOrganizational, lcPlanAudience, lcWorkEnv, lcTask, lcGapAnalysis, lcGapItem, lcIntervention, lcInterventionItem, lcTechnical, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcTrueFalse, lcSingleSelect, lcMultipleSelect, lcSequencing, lcMatching, lcHotspot, lcOpenQuestion
learningSummary data, fig, figgroup, table, topic, section, example, linklist, learningBase, lcIntro, lcObjectives, lcAudience, lcDuration, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, learningSummary, lcInteractionBase, lcTrueFalse, lcSingleSelect, lcMultipleSelect, lcSequencing, lcMatching, lcHotspot, lcOpenQuestion
Inheritance

- topic/title

Example
<topic id="topic">
 <title>Some little topic</title>
 <body>
  <p>Some discourse.</p>
 </body>
</topic>
Attributes
Name Description Data Type Default Value Required?
base A generic attribute that has no specific purpose. It is intended to act as a base for specialized attributes that have a simple value syntax like the conditional processing attributes (one or more alphanumeric values separated by whitespace), but is not itself a filtering or flagging attribute. The attribute takes a space-delimited set of values. However, when acting as a container for generalized attributes, the content model will be more complex; see Attribute generalization for more details. CDATA #IMPLIED No
id-atts attribute group (id, conref, conrefend, conaction, conkeyref) A set of related attributes, described in id-atts attribute group
localization-atts attribute group (translate, xml:lang, dir) A set of related attributes, described in localization-atts attribute group.
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.1.3: titlealts

The <titlealts> element allows the insertion of alternate titles, such as titles that should be used in creating a table of contents for navigation or a title specific to search results. When the <titlealts> element is absent, the title element is used for all title purposes.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, concept, ditabase, glossary, glossentry, glossgroup, reference, task, machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( (navtitle) (optional) then (searchtitle) (optional) )
Contained by
Doctype Content model
topic (base), topic (technical content) topic
concept, glossary, glossentry, glossgroup topic, concept
ditabase topic, concept, task, reference
reference topic, reference
task (strict), task (general), machineryTask topic, task
learningAssessment topic, learningBase, learningAssessment
learningContent topic, learningBase, task, concept, reference, learningSummary, learningAssessment, learningContent
learningOverview topic, learningBase, learningOverview
learningPlan topic, learningBase, learningPlan
learningSummary topic, learningBase, learningSummary
Inheritance

- topic/titlealts

Example
<task id="progexample">
   <title>Example of Required Programming</title>
      <titlealts><navtitle>Programming Example</navtitle></titlealts>
   <taskbody> . . . </taskbody>
</task>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.1.1.4: searchtitle

The <searchtitle> element is used to specify a title that should be displayed by search tools that locate the topic. This is most useful when the topic has a title that makes sense in the context of a single information set, but may be too general in a list of search results; for example, a topic title of "Markup example" may make sense as part of a guide to DITA, but when found among thousands of unrelated topics, a search title of "DITA markup example" is more useful.
When a topic is rendered as XHTML, the contents of the <searchtitle> will typically appear in the XHTML's title element, which used in the result summary for many search engines. This element may not be supported for output formats that do not support distinct search titles for topics.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term or ph or b or i or sup or sub or tt or u) (any number)
map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol) (any number)
map (technical content), bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or ph or b or i or sup or sub or tt or u or menucascade or uicontrol) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary titlealts
map (base), map (technical content), classifyMap, subjectScheme, learningMap topicmeta
bookmap, learningBookmap topicmeta, bookmeta
Inheritance

"- topic/searchtitle " when used in topics, and "- map/searchtitle " when used in maps.

Example

In the following example, the general title "Programming Example" is likely very useful in a set of information about XSLT basics; however, the same title is not helpful among a set of search results from the entire internet. In that case, "Example of basic programming in XSLT" will be much more helpful.

<task id="progexample">
 <title>Programming Example</title>
  <titlealts><searchtitle>Example of basic
             programming in XSLT</searchtitle></titlealts>
 <taskbody> . . . </taskbody>
</task>

When searchtitle is used in maps, the element provides a new search title for the topic when used in a specific context. For example, the if the following map includes information about programming in many languages, searches among that information set will be most useful when they return "Example of programming in XSLT":

<topicref href="progexample.dita">
  <topicmeta>
    <navtitle>Programming example</navtitle>
    <searchtitle>Example of programming in XSLT</searchtitle>
  </topicmeta>
</topicref>

Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.1.5: navtitle

The navigation title (<navtitle>) element is one of a set of alternate titles that can be included inside the <titlealts> element. This navigation title may differ from the first level heading that shows in the main browser window. Use <navtitle> when the actual title of the topic isn't appropriate for use in a table of contents, navigation pane, or online content (for example, because the actual title is too long). Beginning with DITA 1.2, the navtitle element is also available in the <topicmeta> element in a <topicref> in a map, and its use is preferred over the topicref's navtitle attribute.

When navtitle is used in a map, it functions in the same way as the navtitle attribute; both are used to specify a navigation title for the target of the <topicref> element. That is, the title itself will only be used as an actual navigation title when the title is locked; the title is locked when the closest ancestor topicref element sets or inherits the attribute locktitle="yes". If the title is not locked, processing systems will typically retrieve the current title from the target topic, looking first for a navtitle element and second for the general title.

When both a navtitle element and a navtitle attribute are specified, the navtitle element should be used.

Because the navtitle element is available within topicmeta, and topicmeta is used in many different contexts, it is possible that navtitle can be specified in contexts where a navigation title does not make sense (for example, on the topicgroup element). In those situations, the navtitle element has no defined purpose.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term or ph or b or i or sup or sub or tt or u) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or ph or b or i or sup or sub or tt or u or menucascade or uicontrol) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary titlealts
map (base), map (technical content), bookmap, classifyMap, learningBookmap, learningMap topicmeta
subjectScheme topicmeta, subjectHeadMeta
Inheritance

- topic/navtitle

Example
Navtitle sample in a topic
<task id=progexample">
 <title>Publishing a DITA information set in PDF</title>
  <titlealts><navtitle>Publishing in PDF</navtitle></titlealts>
 <taskbody> . . . </taskbody>
</task>
Navtitle samples in a map

In this sample, the first title is not locked, and will generally be replaced with a title retrieved from a.dita. The second title is locked, and will be displayed when this map is used as a basis for navigation.

<map xml:lang="en">
  <title>This is a sample map</title>
  <topicref href="a.dita">
    <topicmeta>
      <navtitle>Title of A</navtitle>
    </topicmeta>
  </topicref>
  <topicref href="b.dita" locktitle="yes">
    <topicmeta>
      <navtitle>Short Title for B</navtitle>
    </topicmeta>
  </topicref>
</map>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.1.1.6: shortdesc

The short description (<shortdesc>) element occurs between the topic title and the topic body, as the initial paragraph-like content of a topic, or it can be embedded in an abstract element. The short description, which represents the purpose or theme of the topic, is also intended to be used as a link preview and for searching. The <shortdesc> element also can be used in a DITA map.

Use the <shortdesc> element when the first paragraph of topic content is simple enough to be suitable for use as a link preview or for summaries. Otherwise use the <abstract> element to provide richer content around the <shortdesc>. See the abstract description for more details on the behavior of <shortdesc> in an abstract.

While inclusion of the <shortdesc> element is not mandated by DITA or the tools, it is recommended that topics contain this element. In cases where a topic contains only one paragraph, then it is preferable to include this text in the <shortdesc> and leave the topic body empty.

The short description should be a single, concise paragraph containing one or two sentences of no more than 50 words.

Type Recommended content
Task

The short description should explain what the task information helps users accomplish, the benefits of the task, or the purpose of the task. Do not simply repeat the title. Try to include information that will help users understand when the task is appropriate or why the task is necessary. Avoid stating the obvious, such as You can use XYZ to do A as the only statement in the short description for Task A. In some cases, add more information about why the task is beneficial.

Do not use sentence fragments. Use complete sentences. Avoid starting short descriptions with phrases such as This topic describes . . . . or This topic is about . . . .

Concept

Introduce the concept and provide a concise answer to the question "What is this?" and in some cases "Why do I care about this?" If the concept is unfamiliar, you can start with a brief definition. Avoid using the short description to lead in or build up to a topic. The short description paragraph should contain the main point of the concept topic. The concept short description should clearly apply to a concept. Avoid turning the concept topic into a task. Do not simply repeat the title.

Do not use sentence fragments. Use complete sentences. Avoid starting short descriptions with phrases such as This topic describes . . . . or This topic is about . . . .

Reference

Briefly describe what the reference item does, what it is, or what it is used for.

In most cases, use a complete sentence. You can use a sentence fragment only for a topic that is very short, such as an API topic and each of its subtopics. Use consistent phrasing across libraries and information centers so that your information can be seamlessly integrated with another product's information.

Short descriptions in maps

The <shortdesc> element is also available in maps within the <topicmeta> element. In a map, the element specifies that a topic has a short description that is specific to the context of that topicref in that map. When constructing link previews, links that are generated according to the context of the map should use the <shortdesc> content provided in the map rather than the <shortdesc> provided in the topic. The <shortdesc> element in the map allows authors to provide short descriptions for references to non-DITA objects.

The content of the <shortdesc> element also can be used to override the short description of the topic, when the copy-to attribute is specified.

Note

Processors may or may not implement this behavior.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or state or data or data-about or foreign or unknown or image or draft-comment) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or state or data or data-about or foreign or unknown or image or draft-comment) (any number)
machineryTask ( text data or boolean or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or state or data or data-about or foreign or unknown or image or draft-comment) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content) topic, abstract
map (base), map (technical content), classifyMap, learningMap topicmeta
concept topic, abstract, concept
ditabase topic, abstract, concept, task, reference, glossdef
glossary, glossentry, glossgroup topic, abstract, concept, glossdef
reference topic, abstract, reference
task (strict), task (general), machineryTask topic, abstract, task
bookmap, learningBookmap topicmeta, bookmeta
subjectScheme topicmeta, subjectHeadMeta
learningAssessment topic, abstract, learningBase, learningAssessment
learningContent topic, abstract, learningBase, task, concept, reference, learningSummary, learningAssessment, learningContent
learningOverview topic, abstract, learningBase, learningOverview
learningPlan topic, abstract, learningBase, learningPlan
learningSummary topic, abstract, learningBase, learningSummary
Inheritance

"- topic/shortdesc " when used in topics, and "- map/shortdesc " when used in maps.

Examples

The following example demonstrates the use of a stand-alone shortdesc inside of a concept topic.

<concept id="concept">
 <title>Introduction to Bird Calling</title>
 <shortdesc>If you wish to attract more birds to your Acme Bird Feeder,
learn the art of bird calling. Bird calling is an efficient way
to alert more birds to the presence of your bird feeder.</shortdesc>
 <conbody>
   <p>Bird calling requires learning:</p>
   <ul>
    <li>Popular and classical bird songs</li>
    <li>How to whistle like a bird</li>
   </ul>
 </conbody>
</concept>
Example: short description within a map
<topicref href="myThing.dita">
  <topicmeta>
    <navtitle>Navigation title for my topic</navtitle>
    <shortdesc>A description of myThing that is specific to this context.</shortdesc>
  </topicmeta>
</topicref>
<topicref href="http://www.example.org" scope="external">
  <topicmeta>
    <navtitle>Example website</navtitle>
    <shortdesc>The example.org address is often used in examples</shortdesc>
  </topicmeta>
</topicref>
Example: abstract with phrase-level short description
<abstract>The abstract is being used to provide more complex content. 
	<shortdesc>The shortdesc must be directly contained by the abstract.</shortdesc>
The abstract can put text around the shortdesc.
</abstract>
Topic output
The abstract is being used to provide more complex content. The shortdesc must be directly contained by the abstract. The abstract can put text around the shortdesc.
Preview/summary output
The shortdesc must be directly contained by the abstract.
Example: abstract with block-level short description
<abstract><p>The abstract is being used to provide more complex content.</p> 
	<shortdesc>The shortdesc must be directly contained by the abstract.</shortdesc>
<p>The abstract can put text around the shortdesc.</p>
</abstract>
Topic output

The abstract is being used to provide more complex content.

The shortdesc must be directly contained by the abstract.

The abstract can put text around the shortdesc.

Preview/summary output
The shortdesc must be directly contained by the abstract.
Example: abstract with multiple short descriptions
<abstract>The abstract is being used to provide more complex content. 
	<shortdesc>The shortdesc must be directly contained by the abstract.</shortdesc>
	<p>The abstract can put text around the shortdesc.</p>
	<shortdesc>There can be more than one shortdesc.</shortdesc>
</abstract>
Topic output

The abstract is being used to provide more complex content. The shortdesc must be directly contained by the abstract.

The abstract can put text around the shortdesc.

There can be more than one shortdesc.

Preview/summary output
The shortdesc must be directly contained by the abstract. There can be more than one shortdesc.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.1.7: abstract

The abstract element occurs between the topic title and the topic body, as the initial content of a topic. It can contain paragraph-level content as well as one or more shortdesc elements which can be used for providing link previews or summaries. The <abstract> element cannot be overridden by maps, but its contained <shortdesc> elements can be, for the purpose of creating link summaries or previews.

Use the <abstract> element when the initial paragraph of a topic is unsuitable for use as a link preview or for summaries, because, for example, it contains lists or tables, or because only a portion of the paragraph is suitable. Note that when the initial paragraph is suitable as a summary, that content should be placed in a <shortdesc> element rather than in an <abstract> element. The <abstract> element allows for a wider range of content in your initial paragraph, such as lists and tables, and allows you to identify portions of the <abstract> content as useful for previews or summaries by embedding the <shortdesc> element within <abstract>.

When the contained <shortdesc> occurs within phrase-level content, it is treated as phrase-level content and should not create a separate paragraph on output of the topic. When the contained <shortdesc> occurs as a peer to paragraph-level content, it is treated as block-level content and should create a separate paragraph on output of the topic. When multiple <shortdesc> elements are included in an <abstract>, they are concatenated in output of link previews or summaries (separated by spaces).

When a <shortdesc> element occurs in a DITA map, it overrides the short description provided in the topic for the purpose of generating link previews, but does not replace the <shortdesc> in the rendered topic itself. This means that generated links to this topic will use the short description from the map for purposes any link previews provided with the link, while the rendered topic continues to use the short description inside the topic. If the <topicref> element in the DITA map also specifies the copy-to attribute, the content of the <shortdesc> element in the DITA map also overrides the short description provided in the topic. In this case, the rendered topic itself will display the <shortdesc> contents from the map in place of the <shortdesc> originally specified in the topic.

Note

Processors may or may not implement this behavior.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base) ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or shortdesc or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or shortdesc or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or shortdesc or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or shortdesc or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content) topic
concept, glossary, glossentry, glossgroup topic, concept
ditabase topic, concept, task, reference
reference topic, reference
task (strict), task (general), machineryTask topic, task
learningAssessment topic, learningBase, learningAssessment
learningContent topic, learningBase, task, concept, reference, learningSummary, learningAssessment, learningContent
learningOverview topic, learningBase, learningOverview
learningPlan topic, learningBase, learningPlan
learningSummary topic, learningBase, learningSummary
Inheritance

- topic/abstract

Example: abstract with phrase-level short description
<abstract>The abstract is being used to provide more complex content. 
	<shortdesc>The shortdesc must be directly contained by the abstract.</shortdesc>
The abstract can put text around the shortdesc.
</abstract>
Topic output
The abstract is being used to provide more complex content. The shortdesc must be directly contained by the abstract. The abstract can put text around the shortdesc.
Preview/summary output
The shortdesc must be directly contained by the abstract.
Example: abstract with block-level short description
<abstract><p>The abstract is being used to provide more complex content.</p> 
	<shortdesc>The shortdesc must be directly contained by the abstract.</shortdesc>
<p>The abstract can put text around the shortdesc.</p>
</abstract>
Topic output

The abstract is being used to provide more complex content.

The shortdesc must be directly contained by the abstract.

The abstract can put text around the shortdesc.

Preview/summary output
The shortdesc must be directly contained by the abstract.
Example: abstract with multiple short descriptions
<abstract>The abstract is being used to provide more complex content. 
	<shortdesc>The shortdesc must be directly contained by the abstract.</shortdesc>
	<p>The abstract can put text around the shortdesc.</p>
	<shortdesc>There can be more than one shortdesc.</shortdesc>
</abstract>
Topic output

The abstract is being used to provide more complex content. The shortdesc must be directly contained by the abstract.

The abstract can put text around the shortdesc.

There can be more than one shortdesc.

Preview/summary output
The shortdesc must be directly contained by the abstract. There can be more than one shortdesc.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.1.8: body

The <body> element is the container for the main content of a <topic>.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base) (dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or data or data-about or draft-comment or foreign or unknown or required-cleanup or bodydiv or example or section) (any number)
topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or data or data-about or draft-comment or foreign or unknown or required-cleanup or bodydiv or example or section) (any number)
machineryTask (dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or data or data-about or draft-comment or foreign or unknown or required-cleanup or bodydiv or example or section) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary (dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or data or data-about or draft-comment or foreign or unknown or required-cleanup or bodydiv or example or section) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary topic
Inheritance

- topic/body

Example
<topic>
<title>Sample title</title>
<prolog><!-- metadata here --></prolog> 
<body> <!-- Body content goes here --> </body> 
</topic> 
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.1.9: bodydiv

The <bodydiv> element is used to contain informal blocks of information within the body of a topic. The bodydiv element is specifically designed to be a grouping element, without any explicit semantics, other than to organize subsets of content into logical groups that are not intended or should not be contained as a topic. As such, it does not contain an explicit title to avoid enabling the creation of deeply nested content that would otherwise be written as separate topics. Content that requires a title should use a section element or a nested topic.
The bodydiv element may nest itself, which means that it may be used by specializers to create structured information within a body. Another common use case for the bodydiv element is to group a sequence of related elements for reuse, so that another topic may reference the entire set with a single conref attribute.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base) ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup or bodydiv or section) (any number)
topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup or bodydiv or section) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup or bodydiv or section) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup or bodydiv or section) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary body, bodydiv
Inheritance

- topic/bodydiv

Example
<topic id="sample" xml:lang="en">
 <title>Sample for bodydiv</title>
 <body>
  <bodydiv id="div">
   <p>This set of information is reusable as a group.</p>
   <p>Lists of three contain three items.</p>
   <ul>
    <li>This is one item.</li>
    <li>This is another item.</li>
    <li>This is the third item.</li>
   </ul>
  </bodydiv>
  <p>This concludes my topic.</p>
 </body>
</topic>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.1.10: related-links

The related information links of a topic (<related-links> element) are stored in a special section following the body of the topic. After a topic is processed into its final output form, the related links are usually displayed at the end of the topic, although some Web-based help systems might display them in a separate navigation frame.

Links specified within the <related-links> element are typically displayed together with links generated based on a map context; see DITA linking for more information on map based linking.

Note

  1. Links within a <linklist> element must appear in the order defined, while those outside of a linklist may be sorted and displayed in a different order or location (based upon their role, target, importance, or other qualifiers).
  2. PDF output typically ignores hierarchical links such as those with roles of ancestor, parent, child, descendant, next, previous, or sibling, although this behavior is not required.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, concept, ditabase, glossary, glossentry, glossgroup, reference, task, machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary (link or linklist or linkpool) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content) topic
concept topic, concept
ditabase topic, concept, task, reference, glossentry
glossary, glossentry, glossgroup topic, concept, glossentry
reference topic, reference
task (strict), task (general), machineryTask topic, task
learningAssessment topic, learningBase, learningAssessment
learningContent topic, learningBase, task, concept, reference, learningSummary, learningAssessment, learningContent
learningOverview topic, learningBase, learningOverview
learningPlan topic, learningBase, learningPlan
learningSummary topic, learningBase, learningSummary
Inheritance

- topic/related-links

Example

The following indicates that the two external links are always applicable to this topic, regardless of how the topic is used.

<related-links scope="external" format="html">
  <link href="http://www.example.org">
    <linktext>Example 1</linktext>
  </link>
  <link href="http://www.example.com">
    <linktext>Example 2</linktext>
  </link>
</related-links>
Attributes
Name Description Data Type Default Value Required?
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
role The role attribute defines the role the target topic plays in relationship with the current topic. For example, in a parent/child relationship, the role would be "parent" when the target is the parent of the current topic, and "child" when the target is the child of the current topic. This structure could be used to sort and classify links at display time. See The role attribute for information on supported values.

The role attribute values sample and external are deprecated.

(parent | child | sibling | friend | next | previous | cousin | ancestor | descendant | sample | external | other | -dita-use-​conref-​target) #IMPLIED No
otherrole Indicates an alternate role. This value is used when the role attribute is set to other. CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.1.11: dita

The <dita> element provides a top-level container for multiple topics when you create documents using the ditabase document type. The <dita> element lets you create any sequence of concept, task, and reference topics, and the ditabase document type lets you nest these topic types inside each other. The <dita> element has no particular output implications; it simply allows you to create multiple topics of different types at the same level in a single document.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
ditabase ( topic or concept or task or reference or glossentry or glossgroup) (one or more)
Contained by

This element is not contained by any other elements.

Inheritance

Not a specializable DITA element.

Example
<dita>
  <concept id="batintro">...</concept>
  <reference id="batparts">...</reference>
  <task id="batfeeding">...</task>
  <task id="battraining">...</task>
  <task id="batcleanup">...</task>
</dita>
Attributes
Name Description Data Type Default Value Required?
xml:lang Specifies the language of the element content. The xml:lang attribute and its values are described in the XML Recommendation at http://www.w3.org/TR/REC-xml/#sec-lang-tag. language token or the null string #IMPLIED No
xmlns:ditaarch Declares the default DITA namespace. "http://dita.​oasis-open.​org/​architecture/​2005/"
DITAArchVersion Designates the version of the architecture that is in use. The default value will increase with each release of DITA. CDATA "1.2" No
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group

3.3.1.1.2: Body elements

The body elements support the most common types of content authoring for topics: paragraphs, lists, phrases, figures, and other common types of exhibits in a document.

3.3.1.1.2.1: alt

The alt element provides alternate text for an image. It is equivalent to the alt attribute on the image element; since the attribute is deprecated, use the alt element instead. As an element, alt provides direct text entry within an XML editor and is more easily accessed than an attribute for translation.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term or ph or b or i or sup or sub or tt or u) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or ph or b or i or sup or sub or tt or u or menucascade or uicontrol) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap image, hazardsymbol
ditabase, glossary, glossentry, glossgroup image, glossSymbol, hazardsymbol
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary image
Inheritance

- topic/alt

Example

The markup for alt text within an image looks like this:

<image href="tip-ing.jpg">
  <alt>Here's a Tip!</alt>
</image> 
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.2: cite

The <cite> element is used when you need a bibliographic citation that refers to a book or article. It specifically identifies the title of the resource.
Though citations will often be set apart from surrounding text, such as through italics, rendering of the <cite> element is left up to implementations.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or boolean or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base) desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, b, u, i, tt, sup, sub, howtoavoid
map (base), classifyMap, subjectScheme, learningMap desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, b, u, i, tt, sup, sub, howtoavoid
topic (technical content), concept desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
map (technical content) desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
ditabase desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossdef, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
glossary, glossentry, glossgroup desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, glossdef, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
reference desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
task (strict), task (general) desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
bookmap desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, organizationname, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
machineryTask desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, howtoavoid, b, u, i, tt, sup, sub, screen
learningAssessment, learningOverview, learningSummary desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, organizationname, b, u, i, tt, sup, sub, howtoavoid
learningContent desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan desc, p, note, lq, q, sli, li, itemgroup, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

- topic/cite

Example
<p>The online article <cite>Specialization in the Darwin Information Typing
Architecture</cite> provides a detailed explanation of how to define new
topic types.</p>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.2.3: dd

The definition description (<dd>) element contains the description of a term in a definition list entry.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or itemgroup or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or itemgroup or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or itemgroup or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or itemgroup or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary dlentry
Inheritance

- topic/dd

Example
Simple definition list example
<dl>
<dlentry>
<dt>Bytes returned</dt>
<dd>The number of bytes of data returned.</dd>
</dlentry>
<dlentry>
<dt>Bytes available</dt>
<dd>The number of bytes of data available to be returned.</dd>
</dlentry>
<dlentry><dt>Handle</dt>
<dd>The returned handle value</dd>
</dlentry>
</dl>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.4: desc

The <desc> element contains the description of the current element. In elements that also allow a title, such as table and fig, this is used to provide more information than is appropriate for the title. In the xref and link elements it contains a description of the target; processors may (but need not) choose to display this as hover help for a link. In the object element, desc provides alternate content to use when the context does not permit displaying the object.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or image or lines or lq or note or hazardstatement or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or image or lines or lq or note or hazardstatement or ol or p or pre or codeblock or msgblock or screen or sl or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or dl or image or lines or lq or note or hazardstatement or ol or p or pre or screen or sl or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or image or lines or lq or note or lcInstructornote or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary fig, object, xref, table, link, linklist
map (base), map (technical content), bookmap, classifyMap, subjectScheme, learningBookmap, learningMap fig, object, xref, table
Inheritance

- topic/desc

Example
<fig><title>The Handshake</title>
<desc>This image shows two hands clasped in a formal, 
business-like handshake.</desc>
<image href="handshake.jpg">
 <alt>The handshake</alt>
</image>
</fig>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.5: ddhd

The <ddhd> element contains an optional heading or title for a column of descriptions or definitions in a definition list.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or state or data or data-about or foreign or unknown or image) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or state or data or data-about or foreign or unknown or image) (any number)
machineryTask ( text data or boolean or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or state or data or data-about or foreign or unknown or image) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary dlhead
Inheritance

- topic/ddhd

Example
Definition list with a heading
<dl>
 <dlhead>
  <dthd>Image File View Selection</dthd>
  <ddhd>Resulting Information</ddhd>
 </dlhead>
 <dlentry>
  <dt>File Type</dt>
  <dd>Image's file extension</dd>
 </dlentry>
 <dlentry>
  <dt>Image Class</dt>
  <dd>Image is raster, vector, metafile or 3D</dd>
 </dlentry>
 <dlentry>
  <dt>Number of pages</dt>
  <dd>Number of pages in the image</dd>
 </dlentry>
 <dlentry>
  <dt>Fonts</dt>
  <dd>Names of the fonts contained within a vector image</dd>
 </dlentry>
</dl>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.6: dl

A definition list (<dl>) is a list of terms and corresponding definitions. The term (<dt>) is usually flush left. The description or definition (<dd>) is usually either indented and on the next line, or on the same line to the right of the term. However, actual rendering is up to the rendering engine.

You can also provide an optional heading for the terms and definitions, using the <dlhead> element, which contains header elements for those columns. The default formatting for the <dlhead> generally looks like a table with a heading row, but this is also up to the rendering engine.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (dlhead) (optional) then (dlentry) (one or more) )
Contained by
Doctype Content model
topic (base) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, pd
map (technical content), bookmap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, pd
ditabase desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossUsage, glossScopeNote, pd
reference desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, pd
task (strict), task (general) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote
learningContent desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, lcInteractionBase, lcInstructornote
learningPlan desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote
Inheritance

- topic/dl

Examples
Simple definition list example
<dl>
<dlentry>
<dt>Bytes returned</dt>
<dd>The number of bytes of data returned.</dd>
</dlentry>
<dlentry>
<dt>Bytes available</dt>
<dd>The number of bytes of data available to be returned.</dd>
</dlentry>
<dlentry><dt>Handle</dt>
<dd>The returned handle value</dd>
</dlentry>
</dl>
Definition list with a heading
<dl>
 <dlhead>
  <dthd>Image File View Selection</dthd>
  <ddhd>Resulting Information</ddhd>
 </dlhead>
 <dlentry>
  <dt>File Type</dt>
  <dd>Image's file extension</dd>
 </dlentry>
 <dlentry>
  <dt>Image Class</dt>
  <dd>Image is raster, vector, metafile or 3D</dd>
 </dlentry>
 <dlentry>
  <dt>Number of pages</dt>
  <dd>Number of pages in the image</dd>
 </dlentry>
 <dlentry>
  <dt>Fonts</dt>
  <dd>Names of the fonts contained within a vector image</dd>
 </dlentry>
</dl>

Rendering of definition lists will vary by application and by display format. The second example may, but need not, be rendered as follows.

Image File View Selection Resulting Information
File Type Image's file extension
Image Class Image is raster, vector, metafile or 3D
Number of pages Number of pages in the image
Fonts Names of the fonts contained within a vector image
Attributes
Name Description Data Type Default Value Required?
compact Indicates close vertical spacing between the list items. Expanded spacing is the default value. The output result of compact spacing depends on the processor or browser. Allowed values are:
yes
Indicates compact spacing.
no
Indicates expanded spacing.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.7: dlentry

In a definition list, each list item is defined by the definition list entry (<dlentry>) element. The definition list entry element includes a term <dt> and one or more definitions or descriptions <dd> of that term.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (dt) (one or more) then (dd) (one or more) )
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary dl
Inheritance

- topic/dlentry

Example
Simple definition list example
<dl>
<dlentry>
<dt>Bytes returned</dt>
<dd>The number of bytes of data returned.</dd>
</dlentry>
<dlentry>
<dt>Bytes available</dt>
<dd>The number of bytes of data available to be returned.</dd>
</dlentry>
<dlentry><dt>Handle</dt>
<dd>The returned handle value</dd>
</dlentry>
</dl>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.8: dlhead

The <dlhead> element contains optional headings for the term and description columns in a definition list. The definition list heading may contain a heading <dthd> for the column of terms and a heading <ddhd> for the column of descriptions.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (dthd) (optional) then (ddhd) (optional) )
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary dl
Inheritance

- topic/dlhead

Example
Definition list with a heading
<dl>
 <dlhead>
  <dthd>Image File View Selection</dthd>
  <ddhd>Resulting Information</ddhd>
 </dlhead>
 <dlentry>
  <dt>File Type</dt>
  <dd>Image's file extension</dd>
 </dlentry>
 <dlentry>
  <dt>Image Class</dt>
  <dd>Image is raster, vector, metafile or 3D</dd>
 </dlentry>
 <dlentry>
  <dt>Number of pages</dt>
  <dd>Number of pages in the image</dd>
 </dlentry>
 <dlentry>
  <dt>Fonts</dt>
  <dd>Names of the fonts contained within a vector image</dd>
 </dlentry>
</dl>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.9: dt

The definition term <dt> element contains a term in a definition list entry.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or image) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or image) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or image) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary dlentry
Inheritance

- topic/dt

Example
Simple definition list example
<dl>
<dlentry>
<dt>Bytes returned</dt>
<dd>The number of bytes of data returned.</dd>
</dlentry>
<dlentry>
<dt>Bytes available</dt>
<dd>The number of bytes of data available to be returned.</dd>
</dlentry>
<dlentry><dt>Handle</dt>
<dd>The returned handle value</dd>
</dlentry>
</dl>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.2.10: draft-comment

The <draft-comment> element is designed to facilitate review and discussion of topic contents within the marked-up content. Use the <draft-comment> element to ask a question or to make a comment that you want others to review. To indicate the source of the draft comment or the status of the comment, use the author, time or disposition attributes.
Processing systems should provide a run-time flag or parameter to cause the content of this element to be specially displayed for draft output only. By default, processors should strip them out to prevent publishing internal comments by mistake.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base) shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example
map (base), classifyMap, subjectScheme, learningMap shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry
topic (technical content) shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, screen, codeblock, pd
map (technical content) shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, screen, codeblock, pd
concept shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, conbody, screen, codeblock, pd
ditabase shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, conbody, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, glossdef, glossUsage, glossScopeNote, screen, codeblock, pd
glossary, glossentry, glossgroup shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, conbody, glossdef, glossUsage, glossScopeNote, screen, codeblock, pd
reference shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, screen, codeblock, pd
task (strict), task (general) shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, screen, codeblock, pd
bookmap shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, organizationname, screen, codeblock, pd
machineryTask shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, screen
learningAssessment, learningOverview, learningSummary shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, organizationname
learningContent shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan shortdesc, p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

- topic/draft-comment

Example
<draft-comment author="EBP">Where's the usage information for this 
section?</draft-comment>
Attributes
Name Description Data Type Default Value Required?
author Designates the originator of the draft comment. CDATA #IMPLIED No
time Describes when the draft comment was created. CDATA #IMPLIED No
disposition Status of the draft comment. Values can be issue, open, accepted, rejected, deferred, duplicate, reopened, unassigned, or completed. CDATA #IMPLIED No
translate Indicates whether the content of the element should be translated or not. Setting to "yes" will override the default. The DITA architectural specification contains a list of each OASIS DITA element and its common processing default for the translate value; because this element uses an actual default, it will always be treated as translate="no" unless overridden as described. yes | no | -dita-use-​conref-​target "no" No
xml:lang Specifies the language of the element content. The xml:lang attribute and its values are described in the XML Recommendation at http://www.w3.org/TR/REC-xml/#sec-lang-tag. language token or the null string #IMPLIED No
dir Specifies the directionality of text: left-to-right (ltr, the processing default) or right-to-left (rtl). The value lro indicates an override of normal bidi text presentation, forcing the element into left-to-right mode; rlo overrides normal rules to force right-to-left presentation. See The dir attribute for more information on the dir attribute. (ltr | rtl | lro | rlo | -dita-use-​conref-​target) #IMPLIED No
id-atts attribute group (id, conref, conrefend, conaction, conkeyref) A set of related attributes, described in id-atts attribute group
select-atts attribute group (props, base, platform, product, audience, otherprops, importance, rev, status) A set of related attributes, described in select-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.11: dthd

The definition term heading (<dthd>) element is contained in a definition list head (<dlhead>) and provides an optional heading for the column of terms in a description list.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or state or data or data-about or foreign or unknown or image) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or state or data or data-about or foreign or unknown or image) (any number)
machineryTask ( text data or boolean or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or state or data or data-about or foreign or unknown or image) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary dlhead
Inheritance

- topic/dthd

Example
Definition list with a heading
<dl>
 <dlhead>
  <dthd>Image File View Selection</dthd>
  <ddhd>Resulting Information</ddhd>
 </dlhead>
 <dlentry>
  <dt>File Type</dt>
  <dd>Image's file extension</dd>
 </dlentry>
 <dlentry>
  <dt>Image Class</dt>
  <dd>Image is raster, vector, metafile or 3D</dd>
 </dlentry>
 <dlentry>
  <dt>Number of pages</dt>
  <dd>Number of pages in the image</dd>
 </dlentry>
 <dlentry>
  <dt>Fonts</dt>
  <dd>Names of the fonts contained within a vector image</dd>
 </dlentry>
</dl>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.12: example

The <example> element is a section with the specific role of containing examples that illustrate or support the current topic. The <example> element has the same content model as <section>.

DITA uses <example> to contain both discussion and sample code or outputs. Hence, in a DITA topic, to represent programming code and results within the discussion in an example, use the <codeblock> and <systemoutput> elements within the example element. For lines of text, use the <lines> element. For pre-formatted text such as email headers, use the <pre> element.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base) ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or title or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or title or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or title or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or title or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), learningAssessment, learningOverview, learningPlan, learningSummary body
concept, glossary, glossentry, glossgroup body, conbody, conbodydiv
ditabase body, conbody, conbodydiv, taskbody, refbody, refbodydiv
reference body, refbody, refbodydiv
task (strict), task (general), machineryTask body, taskbody
learningContent body, taskbody, conbody, conbodydiv, refbody, refbodydiv
Inheritance

- topic/example

Example
<example id="example">
  <title>Example</title>
  <codeblock>&lt;p&gt;Example of the p element&lt;/p&gt;</codeblock>
</example>
Attributes
Name Description Data Type Default Value Required?
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.13: fig

The figure (<fig>) element is a display context (sometimes called an exhibit) with an optional title for a wide variety of content. Most commonly, the figure element contains an image element (a graphic or artwork), but it can contain several kinds of text objects as well. A title is placed inside the figure element to provide a caption that describes the content.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( (title) (optional) then (desc) (optional) then (figgroup or dl or image or lines or lq or note or hazardstatement or object or ol or p or pre or sl or ul or data or data-about or fn or foreign or unknown or simpletable or xref) (any number) )
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( (title) (optional) then (desc) (optional) then (figgroup or dl or parml or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or sl or ul or data or data-about or fn or foreign or unknown or simpletable or xref) (any number) )
machineryTask ( (title) (optional) then (desc) (optional) then (figgroup or dl or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or sl or ul or data or data-about or fn or foreign or unknown or simpletable or xref) (any number) )
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( (title) (optional) then (desc) (optional) then (figgroup or dl or image or lines or lq or note or lcInstructornote or object or ol or p or pre or sl or ul or data or data-about or fn or foreign or unknown or simpletable or xref) (any number) )
Contained by
Doctype Content model
topic (base) p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example
map (base), classifyMap, subjectScheme, learningBookmap, learningMap p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry
topic (technical content) p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, pd
map (technical content), bookmap p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, pd
concept p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, conbody, pd
ditabase p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, glossdef, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, conbody, glossdef, glossUsage, glossScopeNote, pd
reference p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, refsyn, proptypehd, propvaluehd, propdeschd, pd
task (strict), task (general) p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInstructornote
learningContent p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, lcInstructornote
learningPlan p, note, lq, li, itemgroup, dd, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcInstructornote
Inheritance

- topic/fig

Example
<fig expanse="column">
  <title>The Handshake</title>
  <image href="handshake.jpg" placement="break">
    <alt>The Handshake</alt>
  </image>
</fig>
Attributes
Name Description Data Type Default Value Required?
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
display-atts attribute group (scale, frame, expanse) A set of related attributes, described in display-atts attribute group
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.14: figgroup

The <figgroup> element is used primarily for specialization, in order to create segments within a figure. The element may nest itself, which allows it to create complex specialized structures (such as the nestable groups of syntax within a syntax diagram). Figure groups can be used to contain multiple cross-references, footnotes or keywords, but not multipart images. Multipart images in DITA should be represented by a suitable media type displayed by the <object> element.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( (title) (optional) then (figgroup or (dl or image or lines or lq or note or hazardstatement or object or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or fn or foreign or unknown) ) (any number) )
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( (title) (optional) then (figgroup or (dl or parml or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or sl or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or fn or foreign or unknown) ) (any number) )
machineryTask ( (title) (optional) then (figgroup or (dl or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or sl or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or fn or foreign or unknown) ) (any number) )
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( (title) (optional) then (figgroup or (dl or image or lines or lq or note or lcInstructornote or object or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or fn or foreign or unknown) ) (any number) )
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary fig, figgroup
Inheritance

- topic/figgroup

Example
<fig>
  <title>Sample complex figure</title>
  <figgroup>
    <title>First group</title>
    <ph>These elements</ph>
    <ph>are grouped together</ph>
    <ph>for some purpose</ph>
  </figgroup>
  <figgroup>
    <title>Second group</title>
    <data name="MetaItem" value="13"/>
    <data name="MetaThing" value="31"/>
    <ph>These elements</ph>
    <ph>are grouped with associated metadata</ph>
  </figgroup>
</fig> 
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.15: fn

Use footnote (<fn>) to annotate text with notes that are inappropriate for inline inclusion or to indicate the source for facts or other material used in the text.
Footnote content is skipped at the place where it was entered and rendered elsewhere, according to these rules:
  • A footnote with no given id attribute is a single-use footnote. Upon output, it generates a number as a superscript callout that is linked to the placement of the footnote, such as at the bottom of the immediate printed page or at the end of an online article. If a character is specified in the callout attribute for the footnote, that character should be used as the superscript callout that is linked to the placement of the footnote.
  • A footnote entered with an id attribute is a use-by-reference footnote. Upon output, it does not appear anywhere unless it has been referenced using an <xref> with the type attribute set to fn.
  • Ordinarily, a footnote in one topic can't be referenced in another topic. The previous behaviors are local to each topic. But by using the conref mechanism, you can create a new copy of another topic's footnote within the local topic where it will then follow these behaviors:
    • If you use <fn conref="file.dita#topic/thatid"></fn> all by itself, the result will be the same as the single-use footnote entered literally in the same location. That is, it creates a local copy of the footnote with no local id attribute, so it uses the behavior from the first bullet above.
    • If you use <fn conref="file.dita#topic/thatid" id="thisid"></fn>, followed by <xref href="#thistopic/thisid" type="fn"/>, the result will be the same as the use-by-reference model described in the second bullet. That is, the <fn> element creates a local copy of the footnote with an id of "thisid"; that local copy is then referenced by the <xref> element.

Note

The details of footnote processing and styling are implementation and/or stylesheet dependent. For example, a tool that renders DITA as PDF may lack support for the callout attribute, or footnotes may be collected as endnotes for certain types of publications.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or sl or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or sl or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base) p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example
map (base), classifyMap, subjectScheme, learningMap p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry
topic (technical content), concept p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, screen, codeblock, pd
map (technical content) p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, screen, codeblock, pd
ditabase p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, glossdef, glossUsage, glossScopeNote, screen, codeblock, pd
glossary, glossentry, glossgroup p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, glossdef, glossUsage, glossScopeNote, screen, codeblock, pd
reference p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, screen, codeblock, pd
task (strict), task (general) p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, screen, codeblock, pd
bookmap p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, organizationname, screen, codeblock, pd
machineryTask p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, screen
learningAssessment, learningOverview, learningSummary p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, organizationname
learningContent p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, lcInteractionBase, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan p, note, lq, sli, li, itemgroup, dd, fig, figgroup, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

- topic/fn

Example

The first example is of a single-use footnote. It uses a simple fn element, with no ID and no callout attribute. In that case, markup such as the following:

The memory storage capacity of the computer is 
2 GB<fn>A GB (gigabyte) is equal to 
1000 million bytes</fn> with error correcting support.
may produce output similar to the following:

The memory storage capacity of the computer is 2 GB1 with error correcting support.

......

1 A GB (gigabyte) is equal to 1000 million bytes

----- [bottom of page] -----------------------------------------------------------------

The second example is a single-use footnote that uses a callout attribute. It is marked up as follows:

The memory storage capacity of the computer is 
2 GB<fn callout="#">A GB (gigabyte) is equal to 
1000 million bytes</fn> with error correcting support.
That DITA markup may produce output similar to the following:

The memory storage capacity of the computer is 2 GB# with error correcting support.

......

# A GB (gigabyte) is equal to 1000 million bytes

----- [bottom of page] -----------------------------------------------------------------

The third example is a use-by-reference footnote. It uses an ID on a footnote, and then references that ID multiple times. The DITA markup looks like this:

I like pets. <fn id="reuse-fn">This is the name of an animal.</fn>
At my house, I have a dog<xref href="#topic/reuse-fn" type="fn"/>, a
cat<xref href="#topic/reuse-fn" type="fn"/>, and a 
llama<xref href="#topic/reuse-fn" type="fn"/>.
and may produce output similar to the following:

I like pets. At my house, I have a dog1, a cat1, and a llama1.

......

1This is the name of an animal.

----- [bottom of page] -----------------------------------------------------------------

Attributes
Name Description Data Type Default Value Required?
callout Specifies what character is used for the footnote link, for example a number or an alpha character. The attribute may also specify a short string of characters. When no callout value is specified, footnotes are numbered. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.16: image

Include artwork or images in a DITA topic by using the <image> element. The <image> element has optional attributes that indicate whether the placement of the included graphic or artwork should be inline (like a button or icon) or on a separate line for a larger image. There are also optional attributes that indicate the size to which the included graphic or artwork should be scaled. An image element must specify an href attribute, a keyref attribute, or both. When both keyref and href are specified, the href is used as a fallback when the key reference cannot be resolved. The image addressed by the keyref or href is brought into the main flow of the content as rendered. To make the intent of the image more accessible for users using screen readers or text-only readers, authors should include a description of the image's content in the alt element.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (alt) (optional) then (longdescref) (optional) )
Contained by
Doctype Content model
topic (base) data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, imagemap
map (base), classifyMap, subjectScheme, learningMap data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, imagemap
topic (technical content) data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, imagemap, uicontrol, pt, pd
map (technical content) data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, imagemap, uicontrol, pt, pd
concept data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, imagemap, uicontrol, pt, pd
ditabase data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, imagemap, uicontrol, pt, pd
glossary, glossentry, glossgroup data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, imagemap, uicontrol, pt, pd
reference data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, imagemap, uicontrol, pt, pd
task (strict), task (general) data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, imagemap, uicontrol, pt, pd
bookmap data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, booklibrary, mainbooktitle, booktitlealt, organizationname, imagemap, uicontrol, pt, pd
machineryTask data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, imagemap, uicontrol
learningAssessment, learningOverview, learningSummary data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, imagemap, lcInteractionBase, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcAsset, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcHotspotMap
learningBookmap data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, booklibrary, mainbooktitle, booktitlealt, organizationname, imagemap
learningContent data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, imagemap, lcInteractionBase, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcAsset, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcHotspotMap
learningPlan data, title, shortdesc, desc, p, note, lq, sli, li, itemgroup, dthd, ddhd, dt, dd, fig, figgroup, ph, stentry, draft-comment, fn, xref, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, imagemap, lcInteractionBase, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcAsset, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcHotspotMap
Inheritance

- topic/image

Example
<image href="bike.gif" placement="break">
  <alt>Two-wheeled bicycle</alt>
</image>
Attributes
Name Description Data Type Default Value Required?
href Provides a reference to the image. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
height Indicates the vertical dimension for the resulting image display. If necessary, the image is scaled to the specified size. The value of this attribute is a real number optionally followed by a unit of measure from the set of pc, pt, px, in, cm, mm, em (picas, points, pixels, inches, centimeters, millimeters, and ems respectively). The default unit is px (pixels). Possible values include: "5", "5in", and "10.5cm". If a height value is specified and no width value is specified, the width will be scaled by the same factor as the height. If both a height value and width value are specified, some implementations may not be able to scale the two directions by a different factor and may therefore ignore one of the two values. NMTOKEN #IMPLIED No
width Indicates the horizontal dimension for the resulting image display. If necessary, the image is scaled to the specified size. The value of this attribute is a real number optionally followed by a unit of measure from the set of pc, pt, px, in, cm, mm, em (picas, points, pixels, inches, centimeters, millimeters, and ems respectively). The default unit is px (pixels). Possible values include: "5", "5in", and "10.5cm". If a width value is specified and no height value is specified, the height will be scaled by the same factor as the width. If both a height value and width value are specified, some implementations may not be able to scale the two directions by a different factor and may therefore ignore one of the two values. NMTOKEN #IMPLIED No
align Controls the horizontal alignment of an image when placement is specified as "break." Common values include left, right, and center. CDATA #IMPLIED No
scale Specifies a percentage by which to scale the image in the absence of any specified image height or width; a value of 100 implies that the image should be presented at its intrinsic size. If a value has been specified for this image's height or width attribute (or both), the scale attribute is ignored.

It is an error if the value of this attribute is not an unsigned integer. In this case, the implementation may (but need not) give an error message and may (but need not) recover by ignoring this attribute.

NMTOKEN #IMPLIED No
scalefit Allow an image to be scaled to fit within available space. If, for a given image, any one of height, width, or scale is specified, those attributes determine the graphic size, and any setting of scalefit is ignored. If none of those attributes are specified and scalefit="yes", then the image is scaled (the same factor in both dimensions) so that the graphic will just fit within the available height or width (whichever is more constraining).

The available width would be the prevailing column (or table cell) width--that is, the width a paragraph of text would have if the graphic were a paragraph instead. The available height is implementation dependent, but if feasible, it is suggested to be the page (or table cell) height or some other reasonable value.

(yes | no | -dita-use-​conref-​target) #IMPLIED No
placement Indicates whether an image should be displayed inline or separated from the surrounding text. The processing default is inline. Allowable values are: inline or break. See Using the -dita-use-conref-target value for more information on the -dita-use-​conref-​target value. (inline | break | -dita-use-​conref-​target) inline No
alt (deprecated) Alternative text that describes the image to provide accessibility to page readers or provides a text description when an image cannot be displayed by the user's software. The alt attribute is deprecated; use the alt element instead. CDATA #IMPLIED No
longdescref (deprecated) A reference to a textual description of the graphic or object. This attribute supports creating accessible content. See The href attribute for detailed information on supported values and processing implications. For examples of how this attribute is used in output, see this this topic on long descriptions. NOTE: This attribute is deprecated in favor of the longdescref subelement to this element. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.2.17: keyword

The <keyword> element identifies a keyword or token, such as a single value from an enumerated list, the name of a command or parameter, product name, or a lookup key for a message.

Keyword means any text that has a unique or key-like value, such as a product name. Where there is an element that has a better meaning for what you are describing, use that element. The keyword element is a generic element; use it when no other element applies. The keyword element can also be used to contain reusable text.

With DITA 1.2, another option for reusable text is the <text> element, which is designed to be free of any extra semantics. The <text> element is available within keyword, and it should be possible to use either keyword or text to reuse content in any situation.

Specific markup recommendations:

  • Use <apiname> for API names and <cmdname> for command names.
  • Use <term> to indicate what you are defining with inline paragraph definitions.
  • Use <ph> for general phrases when keyword is not appropriate.
  • Use <kwd> to indicate programming keywords in syntax diagrams and syntax phrases.

Specialized elements derived from <keyword> may also have extended processing, such as different formatting or automatic indexing.

All <keyword> or <indexterm> elements in the <keywords> metadata element are considered part of the topic's metadata and should be processed accordingly as appropriate for the given output medium.

Note

While the <keyword> element may be used inline, the <keywords> element is not an inline element. The <keywords> element only appears in the <topicmeta> or <prolog>, and is used to specify keywords that apply to the topic.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or text or tm) (any number)
Contained by
Doctype Content model
topic (base) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid
map (base), classifyMap, learningMap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, index-see, index-see-also, index-sort-as, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid
topic (technical content), concept data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
map (technical content) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, index-see, index-see-also, index-sort-as, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
ditabase data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossAbbreviation, glossAcronym, glossShortForm, glossSynonym, glossProperty, glossSurfaceForm, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
glossary, glossentry, glossgroup data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, glossterm, glossdef, glossAbbreviation, glossAcronym, glossShortForm, glossSynonym, glossProperty, glossSurfaceForm, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
reference data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
task (strict), task (general) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
bookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, person, organization, summary, printlocation, revisionid, year, month, day, bookpartno, edition, isbn, booknumber, volume, booklibrary, mainbooktitle, booktitlealt, index-see, index-see-also, index-sort-as, organizationname, honorific, firstname, middlename, lastname, generationidentifier, otherinfo, addressdetails, locality, localityname, administrativearea, thoroughfare, postalcode, country, contactnumber, emailaddress, url, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
subjectScheme data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid
machineryTask data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, typeofhazard, consequence, howtoavoid, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, uicontrol, screen
learningAssessment, learningOverview, learningSummary data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcAreaCoords
learningBookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, person, organization, summary, printlocation, revisionid, year, month, day, bookpartno, edition, isbn, booknumber, volume, booklibrary, mainbooktitle, booktitlealt, index-see, index-see-also, index-sort-as, organizationname, honorific, firstname, middlename, lastname, generationidentifier, otherinfo, addressdetails, locality, localityname, administrativearea, thoroughfare, postalcode, country, contactnumber, emailaddress, url, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid
learningContent data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcAreaCoords
learningPlan data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, keywords, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcAreaCoords
Inheritance

- topic/keyword

<p>The <keyword>assert</keyword> pragma statement allows messages to be passed
to the emulator, pre-compiler, etc..</p>
<p>The <keyword id="myProduct">AmazingProduct</keyword> can make use of
this feature to do really neat stuff.</p>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.2.18: li

A list item (<li>) is a single item in an ordered (<ol>) or unordered (<ul>) list. When a DITA topic is rendered, numbers and alpha characters are usually displayed with list items in ordered lists, while bullets and dashes are usually displayed with list items in unordered lists.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or itemgroup or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or itemgroup or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or itemgroup or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or itemgroup or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ul, ol
Inheritance

- topic/li

Example
<ul>
  <li>This is an item in an unordered list.</li>
  <li>This is another item in an unordered list.</li>
</ul>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.19: lines

The <lines> element may be used to represent dialogs or text fragments where line breaks are significant. The <lines> element is similar to <pre> in that hard line breaks are preserved, but the font style is not set to monospace, and extra spaces inside the lines are not preserved.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, pd
map (technical content), bookmap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, pd
ditabase desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossUsage, glossScopeNote, pd
reference desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, pd
task (strict), task (general) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote
learningContent desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, lcInteractionBase, lcInstructornote
learningPlan desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote
Inheritance

- topic/lines

Example
This is a sample of my favorite sonnet.
<lines>
Shall I compare thee to a summer's day?
Thou art more lovely and more temperate:
Rough winds do shake the darling buds of May,
and summer's lease hath all too short a date:
...</lines>

Though exact formatting will vary, the previous sample will typically be rendered as follows.

This is a sample of my favorite sonnet

Shall I compare thee to a summer's day?
Thou art more lovely and more temperate:
Rough winds do shake the darling buds of May,
and summer's lease hath all too short a date:
...

Attributes
Name Description Data Type Default Value Required?
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
display-atts attribute group (scale, frame, expanse) A set of related attributes, described in display-atts attribute group
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, xml:space Common attributes described in Other common DITA attributes

3.3.1.1.2.20: longdescref

The <longdescref> element supports a reference to a text description of the graphic or object. This element replaces the deprecated longdescref attribute on image and object elements.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap image, object, hazardsymbol
ditabase, glossary, glossentry, glossgroup image, object, glossSymbol, hazardsymbol
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary image, object
Inheritance

- topic/longdescref

Example
Longdescref which references a local DITA description
<image href="llama.jpg">
  <alt>Llama picture</alt>
  <longdescref href="my-pet-llama.dita"/>
</image>
Longdescref which references an external description
<image href="puffin.jpg">
  <alt>Puffin pigure</alt>
  <longdescref href="http://www.example.org/birds/puffin.html"
               scope="external"
               format="html"/>
</image>
Attributes
Name Description Data Type Default Value Required?
href Provides a reference to a resource. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.2.21: longquoteref

The <longquoteref> element provides a reference to the source of a long quote. The long quote (<lq>) element itself allows an href attribute to specify the source of a quote, but it does not allow other standard linking attributes such as keyref, scope, and format. The <longquoteref> element should be used for references that make use of these attributes.
The following comment added based on a review request that we provide processing information.
Rendering of this element is left up to DITA processors. Depending on the presentation format, it may be appropriate to ignore the element, present it as a link, use it to turn the entire quote into a link, or do something else.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary lq
Inheritance

- topic/longquoteref

Example
<p>A great person once said the following thing.
<lq>Examples are the key to any
specification.<longquoteref href="http://www.example.org/quotes" scope="external"/></lq></p>
Attributes
Name Description Data Type Default Value Required?
href Provides a reference to a resource. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.2.22: lq

The long quote (<lq>) element indicates content quoted from another source. Use the quote element <q> for short, inline quotations, and long quote <lq> for quotations that are too long for inline use, following normal guidelines for quoting other sources. You can store a URL to the source of the quotation in the href attribute; the href value may point to a DITA topic. For more complex references to the source of a quote, you may use the <longquoteref> element, which was added in DITA 1.2.
Most of the following comment was pulled from the HTML 4.01 specification's description of BLOCKQUOTE, after a review comment indicated that the spec should describe rendering expectations.
Although rendering is left up to implementations, processors generally render <lq> as an indented block.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or fig or imagemap or image or lines or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or longquoteref or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or longquoteref or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or longquoteref or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or longquoteref or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base) desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, pd
map (technical content), bookmap desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, pd
ditabase desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossUsage, glossScopeNote, pd
reference desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, pd
task (strict), task (general) desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote
learningContent desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, lcInteractionBase, lcInstructornote
learningPlan desc, p, note, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote
Inheritance

- topic/lq

Example
<p>This is the first line of the address that 
Abraham Lincoln delivered on November 19, 1863 for the dedication 
of the cemetery at Gettysburg, Pennsylvania.</p>
<lq>Four score and seven years ago our fathers brought forth on this continent a new
nation, conceived in liberty, and dedicated to the proposition that all men
are created equal.</lq>
Attributes
Name Description Data Type Default Value Required?
href Provides a reference to a resource. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
type Indicates the location of the source of the quote. Note that this allows some values in addition to those allowed on the type attribute on many other DITA elements. See The type attribute for detailed information on the usual supported values and processing implications. In addition, the following attribute values are allowed (but deprecated) for backward compatibility:
external
the href is to a Web site. This value is deprecated in favor of use of the scope and format attributes.
internal
the href is to a DITA topic. This value is deprecated in favor of use of the scope and format attributes.

When either the scope or format attribute has an explicit setting, a type attribute value of external or internal is ignored.

CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. In the absence of an explicit specification for the scope attribute, an explicit value of type="external" implies scope="external". (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. In the absence of an explicit specification for the format attribute, an explicit value of type="internal" implies format="dita". CDATA #IMPLIED No
reftitle The title of the document or topic being quoted. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.2.23: object

DITA's <object> element corresponds to the HTML <object> element, and its attributes' semantics derive from their HTML definitions. For example, the type attribute differs from the type attribute on many other DITA elements.

The <object> element allows authors to include animated images, applets, plug-ins, ActiveX controls, video clips, and other multimedia objects in a topic.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (desc) (optional) then (longdescref) (optional) then (param) (any number) then (foreign or unknown) (any number) )
Contained by
Doctype Content model
topic (base) data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example
map (base), classifyMap, subjectScheme, learningBookmap, learningMap data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, pd
map (technical content), bookmap data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, conbody, pd
ditabase data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, glossdef, glossProperty, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, conbody, glossdef, glossProperty, glossUsage, glossScopeNote, pd
reference data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, refsyn, proptypehd, propvaluehd, propdeschd, pd
task (strict), task (general) data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote, lcAsset
learningContent data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, lcInteractionBase, lcInstructornote, lcAsset
learningPlan data, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote, lcAsset
Inheritance

- topic/object

Example
Output processors may need to modify data to enable compatible function across various browsers, so these examples are only representative:
<p>Cutting the keys from the system unit:</p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
 codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=6,0,0,0"
 data="cutkey370.swf"
 type="application/x-shockwave-flash"
 height="280"
 width="370"
 id="cutkey370">
 <desc>A description of the task</desc>
 <param name="movie" value="cutkey370.swf"/>
 <param name="quality" value="high"/>
 <param name="bgcolor" value="#FFFFFF"/>
</object>
<p>What's EIM?</p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
 codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=6,0,0,0"
 data="eim.swf"
 height="400"
 width="500"
 id="eim">
 <desc>Some great, glorious info</desc>
 <param name="movie" value="eim.swf"/>
 <param name="quality" value="high"/>
 <param name="bgcolor" value="#FFFFFF"/>
 <param name="pluginspace"
 value="http://www.macromedia.com/go/getflashplayer"/>
</object>
Attributes
Name Description Data Type Default Value Required?
declare When this attribute is set to declare, the current object definition is a declaration only. The object must be instantiated by a later nested object definition referring to this declaration. declare #IMPLIED No
classid Contains a URL that specifies the location of an object's implementation. It can be used together with the data attribute which is specified relative to the value of the codebase attribute. CDATA #IMPLIED No
codebase Specifies the base path (a URL) used for resolving the URL values given for classid, data, and archive attributes. If codebase is not set, the default is the base URL of the current document. CDATA #IMPLIED No
data Contains a reference to the location of an object's data. If this attribute is a URL, it is specified relative to the value of the codebase attribute. If this attribute is set, the type attribute should also be set. CDATA #IMPLIED No
type Indicates the content type for the data specified by the data attribute. This attribute should be set when the data attribute is set to avoid loading unsupported content types. Note that this differs from the type attribute on many other DITA elements. CDATA #IMPLIED (No default type) No
codetype Indicates the content type for the data specified by the classid attribute. This attribute should be set when the classid attribute is set to avoid loading unsupported content types. If this attribute value is not set, the processing default is the value of the type attribute. CDATA #IMPLIED No
archive Specifies a space-separated list of URLs indicating resources needed by the object. These resources may include those URLs specified by the classid and data attributes. Preloading these resources usually results in faster loadtimes for objects. The URLs in the list should be relative to the URL specified in the codebase attribute. CDATA #IMPLIED No
standby Contains a message to be displayed while an object is loading. CDATA #IMPLIED No
height Indicates the vertical dimension for the resulting object display. If necessary, the object is scaled to the specified size. The value of this attribute is a real number optionally followed by a unit of measure from the set of pc, pt, px, in, cm, mm, em (picas, points, pixels, inches, centimeters, millimeters, and ems respectively). The default unit is px (pixels). Possible values include: "5", "5in", and "10.5cm". If a height value is specified and no width value is specified, the width will be scaled by the same factor as the height. If both a height value and width value are specified, some implementations may not be able to scale the two directions by a different factor and may therefore ignore one of the two values. NMTOKEN #IMPLIED No
width Indicates the horizontal dimension for the resulting object display. If necessary, the object is scaled to the specified size. The value of this attribute is a real number optionally followed by a unit of measure from the set of pc, pt, px, in, cm, mm, em (picas, points, pixels, inches, centimeters, millimeters, and ems respectively). The default unit is px (pixels). Possible values include: "5", "5in", and "10.5cm". If a width value is specified and no height value is specified, the height will be scaled by the same factor as the width. If both a height value and width value are specified, some implementations may not be able to scale the two directions by a different factor and may therefore ignore one of the two values. NMTOKEN #IMPLIED No
usemap Indicates that a client-side image map is to be used. An image map specifies active geometric regions of an included object and assigns a link to each region. When a link is selected, a document may be retrieved or a program may run on the server. CDATA #IMPLIED No
name Defines a unique name for the object. CDATA #IMPLIED No
tabindex Position the object in tabbing order. NMTOKEN #IMPLIED No
longdescref (deprecated) A reference to a textual description of the graphic or object. This attribute supports creating accessible content. See The href attribute for detailed information on supported values and processing implications. For examples of how this attribute is used in output, see this this topic on long descriptions. NOTE: This attribute is deprecated in favor of the longdescref subelement to this element. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.24: note

A <note> element contains information, differentiated from the main text, which expands on or calls attention to a particular point.

Tip

Variant types of note (tip, caution, danger, restriction, etc.) can be indicated through values selected on the type attribute. This note is typed as a tip.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or fig or imagemap or image or lines or lq or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base) desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, pd
map (technical content), bookmap desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, pd
ditabase desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, step, info, substep, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossBody, glossAlt, pd
glossary, glossentry, glossgroup desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossBody, glossAlt, pd
reference desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, pd
task (strict), task (general) desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, step, info, substep, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, step, info, substep, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase
learningContent desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, step, info, substep, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, lcInteractionBase
learningPlan desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase
Inheritance

- topic/note

Example
This example:
<note type="tip">Thinking of a seashore, green meadow, or cool
mountain overlook can help you to relax and be more
patient.</note>
produces this result:

Tip

Thinking of a seashore, green meadow, or cool mountain overlook can help you to relax and be more patient.
Attributes
Name Description Data Type Default Value Required?
type Defines the type of a note. For example, if the note is a tip, the word Tip is used to draw the reader's attention to it. Note that this differs from the type attribute on many other DITA elements. See The type attribute for detailed information on supported values and processing implications. (note | tip | fastpath | restriction | important | remember | attention | caution | notice | danger | warning | other | -dita-use-​conref-​target) No
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
othertype Indicates an alternate note type, when the type is not available in the type attribute value list. This value is used as the user-provided note title when the type attribute value is set to "other." CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.25: ol

An ordered list (<ol>) is a list of items sorted by sequence or order of importance.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary (li) (one or more)
Contained by
Doctype Content model
topic (base) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, pd
map (technical content), bookmap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, pd
ditabase desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossUsage, glossScopeNote, pd
reference desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, pd
task (strict), task (general) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote
learningContent desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, lcInteractionBase, lcInstructornote
learningPlan desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote
Inheritance

- topic/ol

Example
Here are the colors of the rainbow in order of appearance from top to bottom:
<ol>
<li>Red</li>
<li>Orange</li>
<li>Yellow</li>
<li>Green</li>
<li>Blue</li>
<li>Indigo</li>
<li>Violet</li>
</ol>
Attributes
Name Description Data Type Default Value Required?
compact Indicates close vertical spacing between the list items. Expanded spacing is the default value. The output result of compact spacing depends on the processor or browser. Allowed values are:
yes
Indicates compact spacing.
no
Indicates expanded spacing.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.26: p

A paragraph element (<p>) is a block of text containing a single main idea.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base) desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, pd
map (technical content), bookmap desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, pd
ditabase desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossUsage, glossScopeNote, pd
reference desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, pd
task (strict), task (general) desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote
learningContent desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, lcInteractionBase, lcInstructornote
learningPlan desc, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote
Inheritance

- topic/p

Example
<p>
It is probable that <q>temporary</q> or <q>new</q> stars, as these
wonderful apparitions are called, really are <term>conflagrations</term>; 
not in the sense of a bonfire or a burning house or city, but in that of
a sudden eruption of <i>inconceivable</i> heat and light, such as would
result from the stripping off the shell of an encrusted sun or the crashing
together of two mighty orbs flying through space with a hundred times
the velocity of the swiftest cannon-shot.</p>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.27: param

The parameter (<param>) element specifies a set of values that may be required by an <object> at runtime. Any number of <param> elements may appear in the content of an object in any order, but must be placed at the start of the content of the enclosing object. This element is comparable to the XHMTL <param> element, and its attributes' semantics derive from their HTML definitions. For example, the type attribute differs from the type attribute on many other DITA elements.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary object
Inheritance

- topic/param

Example
See object.
Attributes
Name Description Data Type Default Value Required?
name The name of the parameter. CDATA #REQUIRED Yes
value Specifies the value of a run-time parameter specified by the name attribute. CDATA #IMPLIED No
valuetype Specifies the type of the value attribute. Allowed values are:
data
A value of data means that the value will be evaluated and passed to the object's implementation as a string.
ref
A value of ref indicates that the value of the value attribute is a URL that designates a resource where run-time values are stored. This allows support tools to identify URLs that are given as parameters.
object
A value of object indicates that the value of valuetype is an identifier that refers to an object declaration in the document. The identifier must be the value of the ID attribute set for the declared object element.
CDATA #IMPLIED No
type This attribute specifies the content type of the resource designated by the value attribute only in the case where valuetype is set to ref. This attribute specifies for the user agent the type of values that will be found at the URI designated by value. Note that this differs from the type attribute on many other DITA elements. CDATA #IMPLIED (No default type) No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.1.2.28: ph

The phrase (<ph>) element is used to organize content for reuse or conditional processing (for example, when part of a paragraph applies to a particular audience). It can be used by specializations of DITA to create semantic markup for content at the phrase level, which then allows (but does not require) specific processing or formatting.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or image or draft-comment or fn or indextermref or indexterm or required-cleanup or text) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or image or draft-comment or fn or indextermref or indexterm or required-cleanup or text) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or image or draft-comment or fn or indextermref or indexterm or required-cleanup or text) (any number)
Contained by
Doctype Content model
topic (base) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
map (base), classifyMap, subjectScheme, learningMap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
topic (technical content), concept data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
map (technical content) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
ditabase data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
glossary, glossentry, glossgroup data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
reference data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
task (strict), task (general) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
bookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
machineryTask data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, typeofhazard, consequence, howtoavoid, b, u, i, tt, sup, sub, screen
learningAssessment, learningOverview, learningSummary data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
learningContent data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

- topic/ph

Example
<p>This was not changed. <ph rev="v5r2">This was updated.</ph> This was not.</p>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.2.29: pre

The preformatted element (<pre>) preserves line breaks and spaces entered manually by the author in the content of the element, and also presents the content in a monospaced type font (depending on your output formatting processor). Do not use <pre> when a more semantically specific element is appropriate, such as <codeblock>.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, pd
map (technical content), bookmap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, pd
ditabase desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossUsage, glossScopeNote, pd
reference desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, pd
task (strict), task (general) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote
learningContent desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, lcInteractionBase, lcInstructornote
learningPlan desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote
Inheritance

- topic/pre

Example

The following example will preserve all line breaks.

<pre>
MEMO: programming team fun day
Remember to bring a kite, softball glove, or other favorite
outdoor accessory to tomorrow's fun day outing at Zilker Park.
Volunteers needed for the dunking booth.
</pre>

The rendered result will differ depending on the processor that is rendering your DITA content. It will generally look something like this:

MEMO: programming team fun day
Remember to bring a kite, softball glove, or other favorite
outdoor accessory to tomorrow's fun day outing at Zilker Park.
Volunteers needed for the dunking booth.

Attributes
Name Description Data Type Default Value Required?
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
display-atts attribute group (scale, frame, expanse) A set of related attributes, described in display-atts attribute group
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, xml:space Common attributes described in Other common DITA attributes

3.3.1.1.2.30: q

A quotation element (<q>) indicates content quoted from another source. This element is used for short quotes which are displayed inline. Use the long quote element (<lq>) for quotations that should be set off from the surrounding text.

Authors should not add quote punctuation manually when using the <q> element. Processors that render the <q> element should add appropriate styling, such as locale-specific quotation marks.

Question added end of 2008: How much should we describe of the behavior? HTML says:

Visual user agents must ensure that the content of the Q element is rendered with delimiting quotation marks. Authors should not put quotation marks at the beginning and end of the content of a Q element.

User agents should render quotation marks in a language-sensitive manner (see the lang attribute). Many languages adopt different quotation styles for outer and inner (nested) quotations, which should be respected by user-agents.

For DITA 1.2, added the styling behavior based on the decision recorded here in March 2009: http://lists.oasis-open.org/archives/dita/200903/msg00005.html
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base) title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, b, u, i, tt, sup, sub, howtoavoid
map (base), classifyMap, subjectScheme, learningMap title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, b, u, i, tt, sup, sub, howtoavoid
topic (technical content), concept title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
map (technical content) title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
ditabase title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
glossary, glossentry, glossgroup title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, glossterm, glossdef, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
reference title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
task (strict), task (general) title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
bookmap title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
machineryTask title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, howtoavoid, b, u, i, tt, sup, sub, screen
learningAssessment, learningOverview, learningSummary title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, howtoavoid
learningContent title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

- topic/q

Example
George said, <q>Disengage the power supply before servicing the unit.</q>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.31: section

The <section> element represents an organizational division in a topic. Sections are used to organize subsets of information that are directly related to the topic. For example, the titles Reference Syntax, Example and Properties might represent section-level discourse within a topic about a command-line process—the content in each section relates uniquely to the subject of that topic. Multiple sections within a single topic do not represent a hierarchy, but rather peer divisions of that topic. Sections cannot be nested. A section may have an optional title.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base) ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or sectiondiv or title or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or sectiondiv or title or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or sectiondiv or title or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or sectiondiv or title or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), task (strict) body, bodydiv
concept, glossary, glossentry, glossgroup body, bodydiv, conbody, conbodydiv
ditabase body, bodydiv, conbody, conbodydiv, refbody, refbodydiv
reference body, bodydiv, refbody, refbodydiv
task (general), machineryTask body, bodydiv, taskbody
learningAssessment body, bodydiv, learningBasebody, learningAssessmentbody
learningContent body, bodydiv, learningBasebody, taskbody, conbody, conbodydiv, refbody, refbodydiv, learningSummarybody, learningAssessmentbody, learningContentbody
learningOverview body, bodydiv, learningBasebody, learningOverviewbody
learningPlan body, bodydiv, learningBasebody, learningPlanbody
learningSummary body, bodydiv, learningBasebody, learningSummarybody
Inheritance

- topic/section

Example
<reference id="reference">
 <title>Copy Command</title>
 <refbody>
  <section>
   <title>Purpose</title>
   <p>This little command copies
   things.</p>
  </section>
 </refbody>
</reference>
Attributes
Name Description Data Type Default Value Required?
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.32: sectiondiv

The <sectiondiv> element allows logical grouping of content within a section. There is no additional meaning associated with the sectiondiv element, aside from its function as a container for other content. The sectiondiv element does not contain a title; the lowest level of titled content within a topic is the section itself. If additional hierarchy is required, nested topics should be used in place of the section.
The sectiondiv element nests itself, which means that it will often be used by specializers to create structured information within sections. Another common use case for the sectiondiv element is to group a sequence of related elements for reuse, so that another topic may reference the entire set with a single conref attribute.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base) ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup or sectiondiv) (any number)
topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or simpletable or sl or table or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup or sectiondiv) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or simpletable or sl or table or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup or sectiondiv) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or simpletable or sl or table or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup or sectiondiv) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, glossary, glossentry, glossgroup section, sectiondiv
ditabase section, sectiondiv, prereq, context, steps-informal, result, postreq, refsyn
reference section, sectiondiv, refsyn
task (strict), task (general), machineryTask section, sectiondiv, prereq, context, steps-informal, result, postreq
learningAssessment, learningOverview, learningPlan, learningSummary section, sectiondiv, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction
learningContent section, sectiondiv, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, result, postreq, refsyn
Inheritance

- topic/sectiondiv

Example

In the example below, the sectiondiv element is used to group content that may be reused in other situations.

<section>
  <title>Nice pets</title>
  <sectiondiv id="smallpets">
    <p>Cats are nice.</p>
    <p>Dogs are nice.</p>
    <p>Friends of mine really love their hedgehogs.</p>
  </sectiondiv>
  <sectiondiv id="biggerpets">
    <p>Lots of people want ponies when they grow up.</p>
    <p>Llamas are also popular.</p>
  </sectiondiv>
</section>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.33: sl

The <sl> element contains a simple list of items of short, phrase-like content, such as a list of materials in a kit or package.
On output, the list should have no bullets, on the assumption that each item is short enough to fit on one line, and needs no additional differentiation from its neighbors.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary (sli) (one or more)
Contained by
Doctype Content model
topic (base) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, howtoavoid
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, howtoavoid
topic (technical content) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, howtoavoid, pd
map (technical content), bookmap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, howtoavoid, pd
concept desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, howtoavoid, pd
ditabase desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossUsage, glossScopeNote, howtoavoid, pd
glossary, glossentry, glossgroup desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossUsage, glossScopeNote, howtoavoid, pd
reference desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, howtoavoid, pd
task (strict), task (general) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, howtoavoid, pd
machineryTask desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, howtoavoid
learningAssessment, learningOverview, learningSummary desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote
learningContent desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, lcInteractionBase, lcInstructornote
learningPlan desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote
Inheritance

- topic/sl

Example

In a reference topic discussing related modules, the following sample markup could be used:

<section><title>Messages</title>
 <p>Messages from the ags_open module are identical with messages from:</p>
 <sl>
  <sli>ags_read</sli>
  <sli>ags_write</sli>
  <sli>ags_close</sli>
 </sl>
</section>

Attributes
Name Description Data Type Default Value Required?
compact Indicates close vertical spacing between the list items. Expanded spacing is the default value. The output result of compact spacing depends on the processor or browser. Allowed values are:
yes
Indicates compact spacing.
no
Indicates expanded spacing.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.34: sli

The <sli> element is an item in a simple list (<sl>). Simple list items have phrase or text content, adequate for describing package contents, for example. When a DITA topic is formatted for output, the items of a simple list should be placed each on its own line, with no other prefix such as a number (as in an ordered list) or bullet (as in an unordered list).
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or image or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or image or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or image or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary sl
Inheritance

- topic/sli

Example
See sl.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.35: term

The <term> element identifies words that may have or require extended definitions or explanations.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or text or tm) (any number)
Contained by
Doctype Content model
topic (base) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid
map (base), classifyMap, learningMap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, index-see, index-see-also, index-sort-as, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid
topic (technical content), concept data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
map (technical content) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, index-see, index-see-also, index-sort-as, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
ditabase data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossAbbreviation, glossAcronym, glossShortForm, glossSynonym, glossProperty, glossSurfaceForm, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
glossary, glossentry, glossgroup data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, glossterm, glossdef, glossAbbreviation, glossAcronym, glossShortForm, glossSynonym, glossProperty, glossSurfaceForm, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
reference data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
task (strict), task (general) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
bookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, person, organization, summary, printlocation, bookpartno, booknumber, booklibrary, mainbooktitle, booktitlealt, index-see, index-see-also, index-sort-as, organizationname, otherinfo, addressdetails, locality, localityname, administrativearea, thoroughfare, emailaddress, url, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid, uicontrol, screen, codeph, codeblock, var, oper, delim, sep, pt, pd, fragref, synnote, repsep, msgph, msgblock, filepath, userinput, systemoutput
subjectScheme data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid
machineryTask data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, typeofhazard, consequence, howtoavoid, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, uicontrol, screen
learningAssessment, learningOverview, learningSummary data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcAreaCoords
learningBookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, linktext, searchtitle, person, organization, summary, printlocation, bookpartno, booknumber, booklibrary, mainbooktitle, booktitlealt, index-see, index-see-also, index-sort-as, organizationname, otherinfo, addressdetails, locality, localityname, administrativearea, thoroughfare, emailaddress, url, b, u, i, tt, sup, sub, coords, typeofhazard, consequence, howtoavoid
learningContent data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcAreaCoords
learningPlan data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, indexterm, index-base, cite, xref, entry, author, source, publisher, copyrholder, category, prodname, brand, series, platform, prognum, featnum, component, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, coords, index-see, index-see-also, index-sort-as, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcAreaCoords
Inheritance

- topic/term

Example
<p>The <term>reference implementation</term> of DITA represents the standard, 
<q>fallback</q> behaviors intended for DITA elements.</p>
 
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.2.36: text

The text element associates no semantics with its content. It exists to serve as a container for text where a container is needed (e.g., for conref, or for restricted content models in specializations). Unlike ph, text cannot contain images. Unlike keyword, text does not imply keyword-like semantics. The text element contains only text data, or nested text elements. All universal attributes are available on text.
For contexts where ph is available, authors should use that element. Where keyword is available, authors should use that element. Where neither ph nor keyword is available, text can be used to pull content by conref.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or text) (any number)
Contained by
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap text, keyword, term, ph, tm, shape
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap text, keyword, term, ph, tm, shape, wintitle, shortcut, option, parmname, synph, apiname, kwd, msgnum, cmdname, varname
machineryTask text, keyword, term, ph, tm, shape, wintitle, shortcut
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary text, keyword, term, ph, tm, shape, lcAreaShape
Inheritance

- topic/text

Example
<p>This an example of <keyword><text id="reuse">Text
   that is reusable</text></keyword>, with no extra 
   semantics attached to the text when it is reused.</p>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.1.2.37: tm

The trademark (<tm>) element in DITA is used to markup and identify a term or phrase that is trademarked. Trademarks include registered trademarks, service marks, slogans and logos.

The business rules for indicating and displaying trademarks may differ from company to company and may be enforced by authoring policy and by specific processing.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or text or tm) (any number)
Contained by
Doctype Content model
topic (base) title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
map (base), classifyMap, subjectScheme, learningMap title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
topic (technical content), concept title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, pt, pd, fragref, synnote
map (technical content) title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, pt, pd, fragref, synnote
ditabase title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossAbbreviation, glossAcronym, glossShortForm, glossSynonym, glossSurfaceForm, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, pt, pd, fragref, synnote
glossary, glossentry, glossgroup title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, glossterm, glossdef, glossAbbreviation, glossAcronym, glossShortForm, glossSynonym, glossSurfaceForm, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, pt, pd, fragref, synnote
reference title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, pt, pd, fragref, synnote
task (strict), task (general) title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, pt, pd, fragref, synnote
bookmap title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, pt, pd, fragref, synnote
machineryTask title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, typeofhazard, consequence, howtoavoid, b, u, i, tt, sup, sub
learningAssessment, learningOverview, learningSummary title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
learningContent title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan title, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, keyword, term, ph, tm, stentry, draft-comment, fn, cite, xref, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

- topic/tm

Example
<p>The advantages of using <tm trademark="DB2 Universal Database" tmtype="tm">
<tm trademark="DB2" tmtype="reg" tmclass="ibm">DB2</tm> Universal Database</tm> are 
well known.</p>
Attributes
Name Description Data Type Default Value Required?
trademark The trademarked term CDATA #IMPLIED No
tmowner The trademark owner, for example "OASIS" CDATA #IMPLIED No
tmtype Specifies the trademark type: trademark (tm), registered trademark (regtm), or service mark (service) CDATA (tm | reg | service | -dita-use-​conref-​target) Yes
tmclass Classification of the trademark. This may used to differentiate different groupings of trademarks. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.1.2.38: ul

In an unordered list (<ul>), the order of the list items is not significant. List items are typically styled on output with a "bullet" character, depending on nesting level.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary (li) (one or more)
Contained by
Doctype Content model
topic (base) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, pd
map (technical content), bookmap desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, pd
ditabase desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossUsage, glossScopeNote, pd
reference desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, pd
task (strict), task (general) desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote
learningContent desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, conbody, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, lcInteractionBase, lcInstructornote
learningPlan desc, p, note, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote
Inheritance

- topic/ul

Example
<ul>
 <li>This is an item in an unordered list.</li>
 <li>To separate it from other items in the list, the
 formatter puts a bullet beside it.</li>
 <li>The following paragraph, contained in the list item
 element, is part of the list item which contains it.
 <p>This is the contained paragraph.</p></li>
 <li>This is the last list item in our unordered list.</li>
</ul>
Attributes
Name Description Data Type Default Value Required?
compact Indicates close vertical spacing between the list items. Expanded spacing is the default value. The output result of compact spacing depends on the processor or browser. Allowed values are:
yes
Indicates compact spacing.
no
Indicates expanded spacing.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.2.39: xref

Use the cross-reference (<xref>) element to link to a different location within the current topic, or a different topic within the same help system, or to external sources, such as Web pages, or to a location in another topic. The target of the cross-reference is specified using the href or keyref attributes.

Typically, it is best to restrict yourself to linking to reference topics where the content of the target is clear from the <xref>'s text, for example API names and their descriptions. With other information types, it may be less clear to the user whether they should follow the link, and often they will, thereby missing important information in following paragraphs. Therefore, it is a good idea to use links at the end of the topic, in the <related-links> element, wherever possible, rather than linking from within body content using <xref>. Links at the end of a topic can also be managed from outside the topic, using DITA maps. The DITA map method allows allows topics to be quickly integrated into new contexts without breaking links.

Cross references that link to elements in other topics should use key-based addressing ( keyref ) in order to make it possible to have the cross-reference point to different topics in the context of different top-level maps. Cross references that use only direct URI-based addressing ( href ) to point to other topics create dependencies such that if the topic with the cross-reference is included in a given map, the target topic must also be included or the cross-reference will not be resolvable in the context of that map. While you can use conditional processing to have different cross-references for different contexts, it is usually easier and more effective to use keys. By using keys, the cross-reference can be independent of the contexts it might used in because it is up to each different map to bind the key used by the cross-reference to the appropriate target.

Note

When creating a cross-reference, link to the element structure, not the title element of the object. For example, to create a cross-reference to a figure, link to the <figure> element, not the <title> element within the <figure> element. Output processing should determine whether the text of the object's title element is used when rendering the cross-reference.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or state or data or data-about or foreign or unknown or image or desc) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or state or data or data-about or foreign or unknown or image or desc) (any number)
machineryTask ( text data or boolean or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or state or data or data-about or foreign or unknown or image or desc) (any number)
Contained by
Doctype Content model
topic (base) desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, b, u, i, tt, sup, sub, area, howtoavoid
map (base), classifyMap, subjectScheme, learningMap desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, b, u, i, tt, sup, sub, area, howtoavoid
topic (technical content), concept desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, b, u, i, tt, sup, sub, area, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
map (technical content) desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, b, u, i, tt, sup, sub, area, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
ditabase desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossdef, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, area, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
glossary, glossentry, glossgroup desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, glossdef, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, area, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
reference desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, area, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
task (strict), task (general) desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, area, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
bookmap desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, organizationname, b, u, i, tt, sup, sub, area, howtoavoid, screen, codeph, codeblock, pt, pd, synnote
machineryTask desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, howtoavoid, b, u, i, tt, sup, sub, area, screen
learningAssessment, learningOverview, learningSummary desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, area, lcInteractionBase, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcArea
learningBookmap desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, organizationname, b, u, i, tt, sup, sub, area, howtoavoid
learningContent desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, area, lcInteractionBase, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcArea
learningPlan desc, p, note, lq, q, sli, li, itemgroup, dt, dd, fig, figgroup, pre, lines, ph, stentry, draft-comment, fn, entry, abstract, bodydiv, section, sectiondiv, example, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, b, u, i, tt, sup, sub, area, lcInteractionBase, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem, lcArea
Inheritance

- topic/xref

Examples

Here's an example of a cross-reference to another topic; that topic's title will be used as the link text.

<p>Background information about DITA is provided in the topic entitled
<xref href="whatsdita.dita#tmmdita"></xref>.</p>

Here's an example of a cross-reference to another topic; the supplied text will be used as the link text:

<p><xref href="whatsdita.dita#tmmdita">Background information about
DITA</xref> is provided free of charge.</p>

If you are linking to an element inside of a topic, you should use the following format in the href attribute:

filename.dita#topicid/elementid

If you are linking within the same file, you can leave off the "filename.dita" part. So, for a section with the ID "mysection", you should use:

#topicid/mysection  

For a list item within that section, assuming the item has an ID of "mylist", use

#topicid/mylist  

Add key-based addressing examples

See DITA addressing for details on using URI references and key references.

If your URL has an ampersand (&) in it, you need to code that using a entity reference. For example, this URL includes an & character:

http://www.example.com/docview.wss?rs=757&context=SSVNX5

When used in an href attribute, the ampersand must be entered as &amp; as shown here:

<xref href="http://www.example.com/docview.wss?rs=757&amp;context=SSVNX5"
scope="external">Part number SSVNX5</xref>

Attributes
Name Description Data Type Default Value Required?
href Provides a reference to a resource. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.3: Table elements

DITA topics support two types of tables. The <table> element uses the OASIS Exchange Table Model (formerly known as the CALS table model). The OASIS table supports the spanning of multiple rows or columns for special layout or organizational needs, and provides a wide variety of controls over the display properties of the data and even the table structure itself.

The other table structure in DITA is called <simpletable>. As the name implies, it is structurally less complex than the OASIS table, and can be used as a very simple, regular table for which close control of formatting is not as important. The main advantage of simpletable is for describing lists of data with regular headings, such as telephone directory listings, display adapter configuration data, or API properties.

3.3.1.1.3.1: table

The <table> element organizes arbitrarily complex relationships of tabular information. This standard table markup allows column or row spanning and table captions or descriptions. An optional title allowed inside the table element provides a caption to describe the table.

The DITA table is based on the OASIS Exchange Table Model, augmented with DITA attributes that enable it for specialization, conref, and other DITA processing. In addition, the table includes a desc element, which enables table description that is parallel with figure description. See simpletable for a simplified table model that can be specialized to represent more regular relationships of data.

In DITA tables, in place of the expanse attribute used by other DITA elements, the pgwide attribute is used in order to conform to the OASIS Exchange Table Model. This attribute has a similar semantic (1=page width; 0=resize to galley or column).

Note

The scale attribute represents a stylistic markup property that is maintained (for now) in tables for legacy purposes. External stylesheets should enable less dependency on this attribute. You should use the scale attribute judiciously in your topics.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( ( (title) (optional) then (desc) (optional) ) (optional) then (tgroup) (one or more) )
Contained by
Doctype Content model
topic (base) p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example
map (base), classifyMap, subjectScheme, learningBookmap, learningMap p, note, lq, li, itemgroup, dd, draft-comment
topic (technical content) p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, pd
map (technical content), bookmap p, note, lq, li, itemgroup, dd, draft-comment, pd
concept p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, conbody, pd
ditabase p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, stepresult, result, postreq, refbody, refbodydiv, refsyn, glossdef, glossUsage, glossScopeNote, pd
glossary, glossentry, glossgroup p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, conbody, glossdef, glossUsage, glossScopeNote, pd
reference p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, refbody, refbodydiv, refsyn, pd
task (strict), task (general) p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, stepresult, result, postreq, pd
machineryTask p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
learningAssessment, learningOverview, learningSummary p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInstructornote
learningContent p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, stepresult, result, postreq, conbody, refbody, refbodydiv, refsyn, lcInstructornote
learningPlan p, note, lq, li, itemgroup, dd, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcInstructornote
Inheritance

- topic/table

Example
Source:
<table>
<tgroup cols="2">
<colspec colname="COLSPEC0" colwidth="121*"/>
<colspec colname="COLSPEC1" colwidth="76*"/>
<thead>
<row>
<entry colname="COLSPEC0" valign="top">Animal</entry>
<entry colname="COLSPEC1" valign="top">Gestation</entry>
</row>
</thead>
<tbody>
<row>
<entry>Elephant (African and Asian)</entry>
<entry>19-22 months</entry>
</row>
<row>
<entry>Giraffe</entry>
<entry>15 months</entry>
</row>
<row>
<entry>Rhinoceros</entry>
<entry>14-16 months</entry>
</row>
<row>
<entry>Hippopotamus</entry>
<entry>7 1/2 months</entry>
</row>
</tbody>
</tgroup>
</table>
Formatted output:
Animal Gestation
Elephant (African and Asian) 19-22 months
Giraffe 15 months
Rhinoceros 14-16 months
Hippopotamus 7 1/2 months
Attributes
Name Description Data Type Default Value Required?
frame Specifies which portion of a border should surround the element. Allowable values are:
top
Draw a line before the element
bottom
Draw a line after the element
topbot
Draw a line both before and after the element
all
Draw a box around the element
sides
Draw a line at each side of the element
none
Don't draw any lines around this element
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.

Some DITA processors or output formats may not be able to support all values.

(top | bottom | topbot | all | sides | none | -dita-use-​conref-​target) #IMPLIED No
colsep Column separator. A value of 0 indicates no separators; 1 indicates separators. NMTOKEN #IMPLIED No
rowsep Row separator. A value of 0 indicates no separators; 1 indicates separators. NMTOKEN #IMPLIED No
pgwide Determines the horizontal placement of the element. Supported values are 1 and 0, although these are not mandated by the DTD or Schema.

For print-oriented display, the value "1" places the element on the left page margin; "0" aligns the element with the left margin of the current text line and takes indention into account.

For XHTML, the table surrounds the table data. Either value sets the table width to 100%.

NMTOKEN #IMPLIED No
rowheader This attribute specifies whether the content of the first column in a table contains row headings. In the same way that a column header introduces a table column, the row header introduces the table row. This attribute makes tables whose first column contains row headings more readable on output. Allowable values are:
firstcol
The first column contains the row headings.
norowheader
Indicates that no column contains row headings. This is the processing default.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.

Note that this attribute is not part of the OASIS Exchange Table model upon which DITA tables are based; because of this, some DITA processors or output formats may not be able to support all values.

(firstCol | norowheader| -dita-use-​conref-​target) #IMPLIED No
scale Specifies a percentage, selected from an enumerated list, that is used to resize fonts in relation to the normal text size. This attribute is primarily useful for print-oriented display.

The scale attribute provides an acknowledged style-based property directly on DITA elements. For the table and fig elements, the intent of the property is to allow authors to adjust font sizes on the content of the containing element, primarily for print accomodation. An image in these contexts is to be scaled only by its own direct scale property. If not specifically scaled, such an image is unchanged by the scale property of its parent table or fig.

Some DITA processors or output formats may not be able to support all values.

(50 | 60 | 70 | 80 | 90 | 100 | 110 | 120 | 140 | 160 | 180 | 200 | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.3.2: tgroup

The <tgroup> element in a table contains column, row, spanning, header, and the body (<tbody>) of the table.
Deleted " and footer specifications", since DITA uses the OASIS interchange model, which doesn't include tfoot.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (colspec) (any number) then (thead) (optional) then tbody)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary table
Inheritance

- topic/tgroup

Example
See table.
Attributes
Name Description Data Type Default Value Required?
cols Indicates the number of columns in a <tgroup> in a table. NMTOKEN #REQUIRED Yes
colsep Column separator. A value of 0 indicates no separators; 1 indicates separators. NMTOKEN #IMPLIED No
rowsep Row separator. A value of 0 indicates no separators; 1 indicates separators. NMTOKEN #IMPLIED No
align Describes the alignment of text in a table column. Allowable values are:
left
Indicates left alignment of the text.
right
Indicates right alignment of the text.
center
Indicates center alignment of the text.
justify
Justifies the contents to both the left and the right.
char
Use the character specified on the char attribute for alignment.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
In DITA 1.0 and 1.1, char was defined as a legal value, but was not described. The 1.2 spec added a description for the "char" value (the value itself is not new).
(left | right | center | justify | char | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.3.3: colspec

The <colspec> element contains a column specification for a table, including assigning a column name and number, cell content alignment, and column width.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary tgroup
Inheritance

- topic/colspec

Example
See table.
Attributes
Name Description Data Type Default Value Required?
colnum Indicates the number of a column in the table, counting from the first logical column to the last column. NMTOKEN #IMPLIED No
colname Specifies the table column name in which an entry is found. NMTOKEN #IMPLIED No
colwidth Describes the column width. CDATA #IMPLIED No
colsep Column separator. A value of 0 indicates no separators; 1 indicates separators. NMTOKEN #IMPLIED No
rowsep Row separator. A value of 0 indicates no separators; 1 indicates separators. NMTOKEN #IMPLIED No
align Describes the alignment of text in a table column. Allowable values are:
left
Indicates left alignment of the text.
right
Indicates right alignment of the text.
center
Indicates center alignment of the text.
justify
Justifies the contents to both the left and the right.
char
Use the character specified on the char attribute for alignment.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
In DITA 1.0 and 1.1, char was defined as a legal value, but was not described. The 1.2 spec added a description for the "char" value (the value itself is not new).
(left | right | center | justify | char | -dita-use-​conref-​target) #IMPLIED No
char Specifies the character for aligning the table entry data.

Default source for entry elements starting in this column. If character alignment is specified, the value is the single alignment character source for any implied char values for entry immediately in this column. A value of "" (the null string) means there is no aligning character.

For example, if align="char" and char="r", then text in the entry should align with the first occurrence of the letter "r" within the entry.

CDATA #IMPLIED No
charoff Specifies the horizontal offset of alignment character when align="char".

Default source for entry elements starting in this column. For character alignment on an entry in the column, horizontal character offset is the percent of the current column width to the left of the (left edge of the) alignment character.

This value should be number, greater than 0 and less than or equal to 100.

For example, if align="char", char="r", and charoff="50", then text in the entry should align 50% of the distance to the left of the first occurrence of the character "r" within the entry.

NMTOKEN #IMPLIED No
base A generic attribute that has no specific purpose. It is intended to act as a base for specialized attributes that have a simple value syntax like the conditional processing attributes (one or more alphanumeric values separated by whitespace), but is not itself a filtering or flagging attribute. The attribute takes a space-delimited set of values. However, when acting as a container for generalized attributes, the content model will be more complex; see Attribute generalization for more details. CDATA #IMPLIED No
id-atts attribute group (id, conref, conrefend, conaction, conkeyref) A set of related attributes, described in id-atts attribute group
localization-atts attribute group (translate, xml:lang, dir) A set of related attributes, described in localization-atts attribute group.
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.1.3.4: thead

The table header (<thead>) element precedes the table body (<tbody>) element in a complex table.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (row) (one or more) )
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary tgroup
Inheritance

- topic/thead

Example
See table.
Attributes
Name Description Data Type Default Value Required?
valign Indicates the vertical alignment of text in a table entry (cell). Allowable values are:
top
Align the text to the top of the table entry (cell).
bottom
Align the text to the bottom of the table entry (cell).
middle
Align the text to the middle of the table entry (cell).
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(top | bottom | middle | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.3.5: tbody

The <tbody> element contains the rows in a table.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary (row) (one or more)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary tgroup
Inheritance

- topic/tbody

Example
See table.
Attributes
Name Description Data Type Default Value Required?
valign Indicates the vertical alignment of text in a table entry (cell). Allowable values are:
top
Align the text to the top of the table entry (cell).
bottom
Align the text to the bottom of the table entry (cell).
middle
Align the text to the middle of the table entry (cell).
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(top | bottom | middle | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.3.6: row

The <row> element contains a single row in a table <tgroup>.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (entry) (one or more) )
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary thead, tbody
Inheritance

- topic/row

Example
See table.
Attributes
Name Description Data Type Default Value Required?
rowsep Row separator. A value of 0 indicates no separators; 1 indicates separators. NMTOKEN #IMPLIED No
valign Indicates the vertical alignment of text in a table entry (cell). Allowable values are:
top
Align the text to the top of the table entry (cell).
bottom
Align the text to the bottom of the table entry (cell).
middle
Align the text to the middle of the table entry (cell).
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(top | bottom | middle | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.3.7: entry

The <entry> element defines a single cell in a table.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or sl or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or sl or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary row
Inheritance

- topic/entry

Example
See table.
Attributes
Name Description Data Type Default Value Required?
colname Specifies the table column name in which an entry is found. NMTOKEN #IMPLIED No
namest Specifies the first logical column that is included in a horizontal span. NMTOKEN #IMPLIED No
nameend Specifies the last logical column that is included in a horizontal span. NMTOKEN #IMPLIED No
morerows Specifies the number of additional rows to add in a vertical span. NMTOKEN #IMPLIED No
colsep Column separator. A value of 0 indicates no separators; 1 indicates separators. NMTOKEN #IMPLIED No
rowsep Row separator. A value of 0 indicates no separators; 1 indicates separators. NMTOKEN #IMPLIED No
align Describes the alignment of text in a table column. Allowable values are:
left
Indicates left alignment of the text.
right
Indicates right alignment of the text.
center
Indicates center alignment of the text.
justify
Justifies the contents to both the left and the right.
char
Use the character specified on the char attribute for alignment.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
In DITA 1.0 and 1.1, char was defined as a legal value, but was not described. The 1.2 spec added a description for the "char" value (the value itself is not new).
(left | right | center | justify | char | -dita-use-​conref-​target) #IMPLIED No
char Specifies the character for aligning the table entry data.

Default source for entry elements starting in this column. If character alignment is specified, the value is the single alignment character source for any implied char values for entry immediately in this column. A value of "" (the null string) means there is no aligning character.

For example, if align="char" and char="r", then text in the entry should align with the first occurrence of the letter "r" within the entry.

CDATA #IMPLIED No
charoff Specifies the horizontal offset of alignment character when align="char".

Default source for entry elements starting in this column. For character alignment on an entry in the column, horizontal character offset is the percent of the current column width to the left of the (left edge of the) alignment character.

This value should be number, greater than 0 and less than or equal to 100.

For example, if align="char", char="r", and charoff="50", then text in the entry should align 50% of the distance to the left of the first occurrence of the character "r" within the entry.

NMTOKEN #IMPLIED No
valign Indicates the vertical alignment of text in a table entry (cell). Allowable values are:
top
Align the text to the top of the table entry (cell).
bottom
Align the text to the bottom of the table entry (cell).
middle
Align the text to the middle of the table entry (cell).
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(top | bottom | middle | -dita-use-​conref-​target) #IMPLIED No
rev Indicates a revision level of an element that identifies when the element was added or modified. It may be used to flag outputs when it matches a run-time parameter; it cannot be used for filtering. It is not sufficient to be used for version control. If no value is specified, but the attribute is specified on an ancestor within a map or within the related-links section, the value will cascade from the closest ancestor. CDATA #IMPLIED No
base A generic attribute that has no specific purpose. It is intended to act as a base for specialized attributes that have a simple value syntax like the conditional processing attributes (one or more alphanumeric values separated by whitespace), but is not itself a filtering or flagging attribute. The attribute takes a space-delimited set of values. However, when acting as a container for generalized attributes, the content model will be more complex; see Attribute generalization for more details. CDATA #IMPLIED No
id-atts attribute group (id, conref, conrefend, conaction, conkeyref) A set of related attributes, described in id-atts attribute group
localization-atts attribute group (translate, xml:lang, dir) A set of related attributes, described in localization-atts attribute group.
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.3.8: simpletable

The <simpletable> element is used for tables that are regular in structure and do not need a caption. Choose the simple table element when you want to show information in regular rows and columns. For example, multi-column tabular data such as phone directory listings or parts lists are good candidates for simpletable. Another good use of simpletable is for information that seems to beg for a three-part definition list; the keycol attribute may be used to indicate which column represents the "key" or term-like column of your structure.

This close match of simpletable to tabular, regular data makes simpletable suitable as the basis for specialized structures such as properties (for programming information) and choice tables (for tasks).

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (sthead) (optional) then (strow) (one or more) )
Contained by
Doctype Content model
topic (base) p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, howtoavoid
map (base), classifyMap, subjectScheme, learningBookmap, learningMap p, note, lq, li, itemgroup, dd, fig, draft-comment, howtoavoid
topic (technical content) p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, howtoavoid, pd
map (technical content), bookmap p, note, lq, li, itemgroup, dd, fig, draft-comment, howtoavoid, pd
concept p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, conbody, howtoavoid, pd
ditabase p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, conbody, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, stepresult, result, postreq, refbody, refbodydiv, refsyn, glossdef, glossUsage, glossScopeNote, howtoavoid, pd
glossary, glossentry, glossgroup p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, conbody, glossdef, glossUsage, glossScopeNote, howtoavoid, pd
reference p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, refbody, refbodydiv, refsyn, howtoavoid, pd
task (strict), task (general) p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, stepresult, result, postreq, howtoavoid, pd
machineryTask p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, howtoavoid
learningAssessment, learningOverview, learningSummary p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcInteractionBase, lcInstructornote
learningContent p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, info, tutorialinfo, stepxmp, choice, stepresult, result, postreq, conbody, refbody, refbodydiv, refsyn, lcInteractionBase, lcInstructornote
learningPlan p, note, lq, li, itemgroup, dd, fig, draft-comment, abstract, body, bodydiv, section, sectiondiv, example, lcIntro, lcAudience, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcClient, lcPlanTitle, lcCIN, lcModDate, lcDelivDate, lcPlanSubject, lcPlanDescrip, lcPlanPrereqs, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcLMS, lcNoLMS, lcHandouts, lcClassroom, lcOJT, lcConstraints, lcW3C, lcPlayers, lcGraphics, lcViewers, lcResolution, lcFileSizeLimitations, lcDownloadTime, lcSecurity, lcInteractionBase, lcInstructornote
Inheritance

- topic/simpletable

Example
Source:
<simpletable>
 <sthead>
  <stentry>Type style</stentry>
  <stentry>Elements used</stentry>
 </sthead>
 <strow>
  <stentry>Bold</stentry>
  <stentry>b</stentry>
 </strow>
 <strow>
  <stentry>Italic</stentry>
  <stentry>i</stentry>
 </strow>
 <strow>
  <stentry>Underlined</stentry>
  <stentry>u</stentry>
 </strow>
</simpletable>
Formatted output:
Type style Elements used
Bold b
Italic i
Underlined u
Example using keycol

In this sample, the first column is identified as a header column through the use of keycol="1" on the <simpletable> element. This indicates that items in the first column should be treated as headers for the row that follows. Rendering of the header column is left up to the implementation.

Source:
<simpletable keycol="1">
 <sthead>
  <stentry>Term</stentry>
  <stentry>Categorization</stentry>
  <stentry>Definition</stentry>
 </sthead>
 <strow>
  <stentry>Widget</stentry>
  <stentry>noun</stentry>
  <stentry>Thing that is used for something</stentry>
 </strow>
 <strow>
  <stentry>Frustration</stentry>
  <stentry>noun</stentry>
  <stentry>What you feel when you drop the widget</stentry>
 </strow>
</simpletable>
Formatted output:
Term Categorization Definition
Widget noun Thing that is used for something
Frustration noun What you feel when you drop the widget
Attributes
Name Description Data Type Default Value Required?
relcolwidth A relative value to specify the width of a column in relationship to the width of the other columns. The values are totaled and made a percent. For example:
relcolwidth="1* 2* 3*"
causes widths of 16.7%, 33.3%, and 66.7%.
relcolwidth="90* 150*"
causes width of 37.5% and 62.5%.
CDATA #IMPLIED No
keycol Defines the column that can contains headings for each row. No value indicates no key column. When present, the numerical value causes the specified column to be treated as a vertical header. NMTOKEN #IMPLIED No
refcols The refcols attribute is currently undefined, and is reserved for future use. NMTOKENS #IMPLIED No
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
display-atts attribute group (scale, frame, expanse) A set of related attributes, described in display-atts attribute group
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.3.9: sthead

The simpletable header (<sthead>) element contains the table's header row. The header row is optional in a simple table.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary (stentry) (one or more)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary simpletable
Inheritance

- topic/sthead

Example
See simpletable.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.3.10: strow

The <simpletable> row (<strow>) element specifies a row in a simple table.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary (stentry) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary simpletable
Inheritance

- topic/strow

Example
See simpletable
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.3.11: stentry

The simpletable entry (<stentry>) element represents a single table cell, like <entry> in <table>. You can place any number of stentry cells in either an <sthead> element (for headings) or <strow> element (for rows of data).
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or dl or parml or fig or syntaxdiagram or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or codeblock or msgblock or screen or sl or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
machineryTask ( text data or dl or fig or imagemap or image or lines or lq or note or hazardstatement or object or ol or p or pre or screen or sl or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or fig or imagemap or lcInteractionBase or lcTrueFalse or lcSingleSelect or lcMultipleSelect or lcSequencing or lcMatching or lcHotspot or lcOpenQuestion or image or lines or lq or note or lcInstructornote or object or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown or draft-comment or fn or indextermref or indexterm or required-cleanup) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary sthead, strow
Inheritance

- topic/stentry

Example
See simpletable.
Attributes
Name Description Data Type Default Value Required?
specentry The specialized entry attribute allows architects of specialized types to define a fixed or default header title for a specialized stentry element. Not intended for direct use by authors. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.4: Related links elements

The related-links section of DITA topics is a special structure that contains links. Links support navigation from a topic to other related topics or resources.

Links are different from cross-references. While cross-references occur only within the body of a topic and can target any element in this or other topics, links only represent topic-to-topic connections, or connections to non-DITA-topic resources. Links are located after the body of a topic, in the related-links element.

Links can also be managed indirectly using DITA maps, which provide a more efficient way to manage links and avoids embedded pointers in each topic. This helps keep topics free from specific contexts, and makes it easier to reuse those topics in new locations.

3.3.1.1.4.1: link

The <link> element defines a relationship to another topic. Links are typically sorted when displayed based on their attributes, which define the type or role of the link's target in relation to the current topic.
The optional container elements for link (<linkpool> and <linklist>) allow authors to define groups with common attributes or to preserve the authored sequence of links on output. Links placed in a <linkpool> may be rearranged or removed for display purposes (combined with other local or map-based links); links in a <linklist> should be displayed in the order they are defined. Refer to those elements for additional explanation.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, concept, ditabase, glossary, glossentry, glossgroup, reference, task, machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( (linktext) (optional) then (desc) (optional) )
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary related-links, linklist, linkpool
Inheritance

- topic/link

Example
<related-links>
  <linkpool type="concept">
    <link href="czez.dita#czez" role="next"></link>
    <link href="czunder.dita"></link>
    <link format="html" href="czover.htm#sqljsupp" role="parent">
      <linktext>Overview of the CZ</linktext>
    </link>
    <link format="html" href="czesqlj.htm#sqljemb">
      <linktext>Working with CZESQLJ</linktext>
      <desc>When you work with CZESQLJ, you need to know...</desc>
    </link>
  </linkpool>
<related-links>
Attributes
Name Description Data Type Default Value Required?
href Provides a reference to a resource. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
query This attribute is deprecated. It may be removed in the future. CDATA #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
role The role attribute defines the role the target topic plays in relationship with the current topic. For example, in a parent/child relationship, the role would be "parent" when the target is the parent of the current topic, and "child" when the target is the child of the current topic. This structure could be used to sort and classify links at display time. See The role attribute for information on supported values.

The role attribute values sample and external are deprecated.

(parent | child | sibling | friend | next | previous | cousin | ancestor | descendant | sample | external | other | -dita-use-​conref-​target) #IMPLIED No
otherrole Indicates an alternate role. This value is used when the role attribute is set to other. CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.1.4.2: linklist

The <linklist> element defines an author-arranged group of links. When you use a <linklist> element, the organization of links on final output is in the same order as originally authored inside that element.

There are two ways to organize related information links within a topic. First, you can add them all in no particular order, either by using <linkpool> elements or by placing <link> elements directly within <related-links>, in which case the rendering is implementation dependent. For example, tools may choose to sort all links based on the role or type; tools may also move or remove links to fit the context (for example, moving a prerequisite link to the top of a browser window, or removing links to the next topic if it is rendered on the same page in a PDF). These behaviors are examples only and are not required.

Second, links may be grouped using one or more <linklist> elements. When you group them using <linklist>, then the order of the links within each <linklist> is preserved when rendered. You may also use a combination of the two approaches, which will allow some links to be automatically sorted while the others are left as-is.

Attributes set on the <linkpool> and <linklist> elements are inherited by their descendants. For example, if you have a <linklist> element that contains all external links, you can set scope="external" on that outer <linklist> element and leave it off the <link> elements within that <linklist>.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, concept, ditabase, glossary, glossentry, glossgroup, reference, task, machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( (title) (optional) then (desc) (optional) then (linklist or link) (any number) then (linkinfo) (optional) )
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary related-links, linklist
Inheritance

- topic/linklist

Example
<related-links>
  <linklist scope="external">
    <title>Example links</title>
    <desc>These links will always appear in this order.</desc>
    <link href="http://www.example.org">
      <linktext>Example 1</linktext>
    </link>
    <link href="http://www.example.com">
      <linktext>Example 2</linktext>
    </link>
  </linklits>
</related-links>
Attributes
Name Description Data Type Default Value Required?
collection-type Collection types describe how links relate to each other. The processing default is "unordered", although no default is specified in the DTD or Schema.
unordered
Indicates that the order of the child topics is not significant.
sequence
Indicates that the order of the child topics is significant; output processors will typically link between them in order.
choice
Indicates that one of the children should be selected.
family
Represents a tight grouping in which each of the referenced topics not only relates to the current topic but also relate to each other.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.

Usage of the collection-type attribute on <reltable> and <relcolspec> is currently undefined and reserved for future use.

(unordered | sequence | choice | family | -dita-use-​conref-​target) #IMPLIED No
duplicates Specifies whether or not duplicate links will be filtered out of a linklist. Allowable values are: "yes" (allow duplicate links), or "no" (filter out duplicate links). In general, duplicate links in linklists are preserved.. Note that links are regarded as duplicates only if their content plus all attributes match. #IMPLIED The attribute value is currently ignored, but should default to yes for links in linklists and no for all other links. No
mapkeyref Identifies the map, if any, from which the contained links are derived. This value is automatically generated by the same process that creates the links from the map, as a way to identify which map the links came from. If the <linklist> or <linkpool> is manually created by the author, there is no need to use this attribute. Note that this attribute is not related to the keyref attribute, and is not used for key based processing. CDATA #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
role The role attribute defines the role the target topic plays in relationship with the current topic. For example, in a parent/child relationship, the role would be "parent" when the target is the parent of the current topic, and "child" when the target is the child of the current topic. This structure could be used to sort and classify links at display time. See The role attribute for information on supported values.

The role attribute values sample and external are deprecated.

(parent | child | sibling | friend | next | previous | cousin | ancestor | descendant | sample | external | other | -dita-use-​conref-​target) #IMPLIED No
otherrole Indicates an alternate role. This value is used when the role attribute is set to other. CDATA #IMPLIED No
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.4.3: linkpool

The <linkpool> element defines a group of links that have common characteristics, such as type or audience or source. When links are in <related-links> or <linkpool> elements, the organization of links on final output is determined by the output process, not by the order that the links actually occur in the DITA topic.

There are two ways to organize related information links within a topic. First, you can add them all in no particular order, either by using <linkpool> elements or by placing <link> elements directly within <related-links>, in which case the rendering is implementation dependent. For example, tools may choose to sort all links based on the role or type; tools may also move or remove links to fit the context (for example, moving a prerequisite link to the top of a browser window, or removing links to the next topic if it is rendered on the same page in a PDF). These behaviors are examples only and are not required.

Second, links may be grouped using one or more <linklist> elements. When you group them using <linklist>, then the order of the links within each <linklist> is preserved when rendered. You may also use a combination of the two approaches, which will allow some links to be automatically sorted while the others are left as-is.

Attributes set on the <linkpool> and <linklist> elements are inherited by their descendants. For example, if you have a <linklist> element that contains all external links, you can set scope="external" on that outer <linklist> element and leave it off the <link> elements within that <linklist>.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, concept, ditabase, glossary, glossentry, glossgroup, reference, task, machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary (linkpool or link) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary related-links, linkpool
Inheritance

- topic/linkpool

Example
<related-links>
  <linkpool type="concept">
    <link href="czez.dita#czez" role="next"></link>
    <link href="czunder.dita"></link>
    <link format="html" href="czover.htm#sqljsupp" role="parent">
      <linktext>Overview of the CZ</linktext>
    </link>
    <link format="html" href="czesqlj.htm#sqljemb">
      <linktext>Working with CZESQLJ</linktext>
      <desc>When you work with CZESQLJ, you need to know...</desc>
    </link>
  </linkpool>
<related-links>
Attributes
Name Description Data Type Default Value Required?
collection-type Collection types describe how links relate to each other. The processing default is "unordered", although no default is specified in the DTD or Schema.
unordered
Indicates that the order of the child topics is not significant.
sequence
Indicates that the order of the child topics is significant; output processors will typically link between them in order.
choice
Indicates that one of the children should be selected.
family
Represents a tight grouping in which each of the referenced topics not only relates to the current topic but also relate to each other.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.

Usage of the collection-type attribute on <reltable> and <relcolspec> is currently undefined and reserved for future use.

(unordered | sequence | choice | family | -dita-use-​conref-​target) #IMPLIED No
duplicates Specifies whether or not duplicate links will be filtered out of a linklist. Allowable values are: "yes" (allow duplicate links), or "no" (filter out duplicate links). In general, duplicate links in linklists are preserved.. Note that links are regarded as duplicates only if their content plus all attributes match. #IMPLIED The attribute value is currently ignored, but should default to yes for links in linklists and no for all other links. No
mapkeyref Identifies the map, if any, from which the contained links are derived. This value is automatically generated by the same process that creates the links from the map, as a way to identify which map the links came from. If the <linklist> or <linkpool> is manually created by the author, there is no need to use this attribute. Note that this attribute is not related to the keyref attribute, and is not used for key based processing. CDATA #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
role The role attribute defines the role the target topic plays in relationship with the current topic. For example, in a parent/child relationship, the role would be "parent" when the target is the parent of the current topic, and "child" when the target is the child of the current topic. This structure could be used to sort and classify links at display time. See The role attribute for information on supported values.

The role attribute values sample and external are deprecated.

(parent | child | sibling | friend | next | previous | cousin | ancestor | descendant | sample | external | other | -dita-use-​conref-​target) #IMPLIED No
otherrole Indicates an alternate role. This value is used when the role attribute is set to other. CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.4.4: linktext

The <linktext> element provides the literal label or line of text for a link. In most cases, the text of a link can be resolved during processing by cross reference with the target resource. Use the <linktext> element only when the target cannot be reached, such as when it is a peer or external link, or when the target is local but not in DITA format. When used inside a topic, it is used as the text for the specified link; when used within a map, it is used as the text for generated links that point to the specified topic.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term or ph or b or i or sup or sub or tt or u) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or ph or b or i or sup or sub or tt or u or menucascade or uicontrol) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary link
map (base), map (technical content), classifyMap, subjectScheme, learningMap topicmeta
bookmap, learningBookmap topicmeta, bookmeta
Inheritance

"- topic/linktext " when used in topics, and "- map/linktext " when used in maps.

Example
<link href="tzover.htm#accsqlj">
 <linktext>Accessing relational data with SQLJ</linktext>
</link>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.1.4.5: linkinfo

The <linkinfo> element allows you to place a descriptive paragraph after the links that are contained in a <linklist> element.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base) ( text data or dl or image or lines or lq or note or hazardstatement or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task ( text data or dl or parml or image or lines or lq or note or hazardstatement or ol or p or pre or codeblock or msgblock or screen or sl or ul or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or dl or image or lines or lq or note or hazardstatement or ol or p or pre or screen or sl or ul or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( text data or dl or image or lines or lq or note or lcInstructornote or ol or p or pre or sl or ul or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary linklist
Inheritance

- topic/linkinfo

Example
<linklist>
  <title>Repairing widgets</title>
  <link href="debug.dita" type="task"></link>
  <link href="repair.dita" type="task"></link>
  <link href="test.dita" type="task"></link>
  <linkinfo>To repair a reciprocating widget,
you must follow the instructions very carefully. Note
the sequence to follow. Do it.</linkinfo>
</linklist>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.2: Map elements

Map elements include the core components of DITA maps, such as <topicref> and <reltable>, as well as general purpose map specializations in the map group domain.

3.3.1.2.1: Basic map elements

DITA maps are built from a few core elements that are used for referencing and organizing topics. The <topicmeta> element is also available to specify metadata for the map, for individual topics, or for groups of topics. Many elements inside <topicmeta> are also available inside the topic prolog.

3.3.1.2.1.1: map

The <map> element describes the relationships among a set of resources, such as DITA topics. Maps consist of references to topics, maps, and other resources organized into hierarchies, groups, and tables. Maps express these relationships in a single common format that can be used for different outputs.

The containing element for a map is the <map> element. Within the map, use the <topicref> element to add and organize references to the topics, and the <topicgroup> and <reltable> elements to provide non-hierarchical relationships. You can use the <map> element to set default attribute values for all <topicref> elements in the map.

A map describes the relationships among a set of DITA topics. The following are some examples of relationships that can be described in a map:

  • Hierarchical (Parent/Child). Nested topics create a hierarchical relationship. The topic that does the nesting is the parent, and the topics that are nested are the children.
  • Ordered. Child topics can be labeled as having an ordered relationship, which means they are referenced in a definite sequence.
  • Family. Child topics can be labeled as having a family relationship, which means they all refer to each other.

When rendering a map, processors may make use of these relationships, such as to create a Table of Contents (TOC), aggregate topics into a PDF document, or create links between topics in output.

The title element may optionally be used to provide a title for the map (the title element is preferred over the title attribute). In some scenarios the title is purely informational, and is present as an aid to the author. In other scenarios it may be useful or even required. For example, if a map is converted to Eclipse Help, the Eclipse system will require a title for the resulting table of contents. In the bookmap specialization of map, the <title> element provides a title for the book represented by that map.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap ( (title) (optional) then (topicmeta) (optional) then (anchor or data or data-about or navref or reltable or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) (any number) )
map (technical content) ( (title) (optional) then (topicmeta) (optional) then (anchor or data or data-about or navref or reltable or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) ) (any number) )
classifyMap ( (title) (optional) then (topicmeta) (optional) then (anchor or data or data-about or navref or reltable or (topicSubjectTable) or topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
subjectScheme ( (title) (optional) then (topicmeta) (optional) then (anchor or data or data-about or navref or reltable or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
learningBookmap, learningMap ( (title) (optional) then (topicmeta) (optional) then (anchor or data or data-about or navref or reltable or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup) (any number) )
Contained by

This element is not contained by any other elements.

Inheritance

- map/map

Example

In this example, there are six topicrefs. They are nested and have a hierarchical relationship. The file bats.dita is the parent topic and the other topics are its children. The hierarchy could be used to generate a PDF, a navigation pane in an information center, a summary of the topics, or related links between the parent topic and its children.

<map id="mybats">
  <title>Bats</title>
  <topicref href="bats.dita" type="topic">
    <topicref href="batcaring.dita" type="task"></topicref>
    <topicref href="batfeeding.dita" type="task"></topicref>
    <topicref href="batsonar.dita" type="concept"></topicref>
    <topicref href="batguano.dita" type="reference"></topicref>
    <topicref href="bathistory.dita" type="reference"></topicref>
  </topicref>
</map>
Attributes
Name Description Data Type Default Value Required?
title An identifying title for the map. May be used or ignored, depending on the capabilities of the display mechanism. Note that beginning with DITA 1.1, the map can include a title element, which is preferred over the title attribute. CDATA #IMPLIED No
id Allows an ID to be specified for the map. Note that maps do not require IDs (unlike topics), and the map ID is not included in references to elements within a map. ID #IMPLIED No
conref This attribute is used to reference an ID on a map that can be reused. See The conref attribute for examples and details about the syntax. CDATA #IMPLIED No
anchorref Identifies a location within another map file where this map will be anchored at runtime. Resolution of the map is deferred until the final step in the delivery of any rendered content. For example, anchorref="map1.ditamap/a1" causes this map to be pulled into the location of the anchor point "a1" inside map1.ditamap when map1.ditamap is rendered for delivery. CDATA #IMPLIED No
xmlns:ditaarch Declares the default DITA namespace. "http://dita.​oasis-open.​org/​architecture/​2005/"
DITAArchVersion Designates the version of the architecture that is in use. The default value will increase with each release of DITA. CDATA "1.2" No
domains Indicates the specialized domains that are included in the DTD or Schema. This value will differ depending on what domains are included in the current DTD or Schema. CDATA Varies based on the DTD or Schema; a sample value is "(topic ui-d) (topic hi-d) (topic pr-d) (topic sw-d) (topic ut-d) (topic indexing-d)" No
topicref-atts attribute group (collection-type, processing-role, type, scope, locktitle, format, linking, toc, print, search, chunk) A set of related attributes. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.
select-atts attribute group (props, base, platform, product, audience, otherprops, importance, rev, status) A set of related attributes, described in select-atts attribute group
localization-atts attribute group (translate, xml:lang, dir) A set of related attributes, described in localization-atts attribute group.
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.1.2: topicref

The <topicref> element identifies a topic (such as a concept, task, or reference) or other resource. A <topicref> can contain other <topicref> elements, allowing you to express navigation or table-of-contents hierarchies, as well as implying relationships between a containing (parent) <topicref> and its children. You can set the collection-type of a parent <topicref> to determine how its children are related to each other. You can also express relationships among <topicref> elements by using group and table structures (<topicgroup> and <reltable>). Relationships are expressed as links in the output; by default, each participant in a relationship has links to the other participants in that relationship.

You can fine tune the output from your map by setting different attributes on the <topicref> element. For example, the linking attribute controls how a topic's relationships to other topics are expressed as links, and the toc attribute controls whether the topic shows up in TOC or navigation output.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) (any number) )
map (technical content) ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) ) (any number) )
classifyMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
subjectScheme ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
learningBookmap, learningMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup) (any number) )
Contained by
Doctype Content model
map (base), map (technical content), learningMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
bookmap, learningBookmap map, topicref, relcolspec, relcell, frontmatter, backmatter, draftintro, preface, chapter, part, appendix, notices, glossarylist, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
classifyMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef, topicsubject, topicapply, topicCell, subjectCell
subjectScheme map, topicref, relcolspec, relcell, subjectScheme, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectHead, relatedSubjects, subjectRole, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
Inheritance

- map/topicref

Example
In this example, there are six <topicref> elements. They are nested and have a hierarchical relationship. Bats.dita is the parent topic and the other topics are its children.
<map title="Bats">
 <topicref href="bats.dita" type="topic">
  <topicref href="batcaring.dita" type="task"></topicref>
  <topicref href="batfeeding.dita" type="task"></topicref>
  <topicref href="batsonar.dita" type="concept"></topicref>
  <topicref href="batguano.dita" type="reference"></topicref>
  <topicref href="bathistory.dita" type="reference"></topicref>
 </topicref>
</map>
Attributes
Name Description Data Type Default Value Required?
navtitle Specifies the title of the topic as it will appear in the navigation or tables of contents that are generated from the map. Beginning with DITA 1.2, the preferred way to specify the navigation title in a map is with the navtitle element, available inside the topicmeta element. CDATA #IMPLIED No
href A pointer to the resource represented by the <topicref>. See The href attribute for detailed information on supported values and processing implications. References to DITA content cannot be below the topic level: that is, you cannot reference individual elements inside a topic. References to content other than DITA topics should use the format attribute to identify the kind of resource being referenced. CDATA #IMPLIED No
keys Introduces one or more global identifiers for a resource referenced from a map. See The keys attribute for details on how to use the keys attribute. NMTOKEN #IMPLIED No
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
query This attribute is deprecated. It may be removed in the future. CDATA #IMPLIED No
copy-to Use the copy-to attribute on the <topicref> element to provide a different file name for a particular instance of the topic in the map (for example, to separate out the different versions of the topic, rather than combining them on output). The links and navigation associated with that instance will point to a copy of the topic with the file name you specified.

Use the <linktext> and <shortdesc> in the <topicref>'s <topicmeta> to provide a unique name and short description for the new copy.

CDATA #IMPLIED No
topicref-atts attribute group (collection-type, processing-role, type, scope, locktitle, format, linking, toc, print, search, chunk) A set of related attributes. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.1.3: topicmeta

The <topicmeta> element defines the metadata that applies to a topic when it appears in a map. When appropriate, that metadata also applies to the other topics in the map that are contained by the same element that contains the <topicmeta> element. When creating links, <topicmeta> content can also be used to override the title and short description that are used for the link. In addition, it can be used to add index entries to referenced content using the <keywords> element.
The metadata given in a <topicmeta> element is specific to a given context within a map. If a reference to a single resource appears more than once in a map or set of maps, unique metadata may be specified in each instance. For example, the two references to a single resource may specify different navigation titles or search titles, each of which is specific to a single context.

Note

The topic Cascading of attributes and metadata in a DITA map in the DITA Architectural Specification provides more information about which metadata elements inside <topicmeta> cascade to other <topicref> elements. In addition, the topic Reconciling topic and map metadata provides more information about how metadata specified in the map interacts with metadata specified in each topic.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, classifyMap ( (navtitle) (optional) then (linktext) (optional) then (searchtitle) (optional) then (shortdesc) (optional) then (author) (any number) then (source) (optional) then (publisher) (optional) then (copyright) (any number) then (critdates) (optional) then (permissions) (optional) then (metadata) (any number) then (audience) (any number) then (category) (any number) then (keywords or exportanchors) (any number) then (prodinfo) (any number) then (othermeta) (any number) then (resourceid) (any number) then (data or data-about or foreign or unknown) (any number) )
bookmap ( (navtitle) (optional) then (linktext) (optional) then (searchtitle) (optional) then (shortdesc) (optional) then (author or authorinformation) (any number) then (source) (optional) then (publisher) (optional) then (copyright) (any number) then (critdates) (optional) then (permissions) (optional) then (metadata) (any number) then (audience) (any number) then (category) (any number) then (keywords or exportanchors) (any number) then (prodinfo) (any number) then (othermeta) (any number) then (resourceid) (any number) then (data or data-about or foreign or unknown) (any number) )
subjectScheme ( (navtitle) (optional) then (linktext) (optional) then (searchtitle) (optional) then (shortdesc) (optional) then (author) (any number) then (source) (optional) then (publisher) (optional) then (copyright) (any number) then (critdates) (optional) then (permissions) (optional) then (metadata) (any number) then (audience) (any number) then (category) (any number) then (keywords) (any number) then (prodinfo) (any number) then (othermeta) (any number) then (resourceid) (any number) then (data or data-about or foreign or unknown) (any number) )
learningBookmap ( (navtitle) (optional) then (linktext) (optional) then (searchtitle) (optional) then (shortdesc) (optional) then (author or authorinformation) (any number) then (source) (optional) then (publisher) (optional) then (copyright) (any number) then (critdates) (optional) then (permissions) (optional) then (metadata or lcLom) (any number) then (audience) (any number) then (category) (any number) then (keywords or exportanchors) (any number) then (prodinfo) (any number) then (othermeta) (any number) then (resourceid) (any number) then (data or data-about or foreign or unknown) (any number) )
learningMap ( (navtitle) (optional) then (linktext) (optional) then (searchtitle) (optional) then (shortdesc) (optional) then (author) (any number) then (source) (optional) then (publisher) (optional) then (copyright) (any number) then (critdates) (optional) then (permissions) (optional) then (metadata or lcLom) (any number) then (audience) (any number) then (category) (any number) then (keywords or exportanchors) (any number) then (prodinfo) (any number) then (othermeta) (any number) then (resourceid) (any number) then (data or data-about or foreign or unknown) (any number) )
Contained by
Doctype Content model
map (base) map, topicref, reltable, relcolspec, topichead, topicgroup, anchorref, mapref, topicset, topicsetref, keydef
map (technical content) map, topicref, reltable, relcolspec, topichead, topicgroup, anchorref, mapref, topicset, topicsetref, keydef, glossref
bookmap map, topicref, reltable, relcolspec, draftintro, preface, chapter, part, appendix, appendices, notices, glossarylist, topichead, topicgroup, anchorref, mapref, topicset, topicsetref, keydef
classifyMap map, topicref, reltable, relcolspec, topichead, topicgroup, anchorref, mapref, topicset, topicsetref, keydef, topicsubject, topicapply, subjectref, topicSubjectTable
subjectScheme map, topicref, reltable, relcolspec, subjectScheme, schemeref, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectRelTable, topichead, topicgroup, anchorref, mapref, topicset, topicsetref, keydef
learningBookmap map, topicref, reltable, relcolspec, draftintro, preface, chapter, part, appendix, appendices, notices, glossarylist, topichead, topicgroup, anchorref, mapref, topicset, topicsetref, keydef, learningGroup, learningObject, learningPlanRef, learningOverviewRef, learningSummaryRef, learningContentRef, learningContentComponentRef, learningPreAssessmentRef, learningPostAssessmentRef
learningMap map, topicref, reltable, relcolspec, topichead, topicgroup, anchorref, mapref, topicset, topicsetref, keydef, learningGroup, learningObject, learningPlanRef, learningOverviewRef, learningSummaryRef, learningContentRef, learningContentComponentRef, learningPreAssessmentRef, learningPostAssessmentRef
Inheritance

- map/topicmeta

Example
In this example, the metadata defined by the <topicmeta> element applies to the associated <topicref> (bats.dita) and all of its children. The <topicmeta> element contains an audience definition which indicates that bats.dita and its children are of interest to experienced programmers who are troubleshooting.
<map>
  <topicref href="bats.dita">
    <topicmeta>
      <audience type="programmer" job="troubleshooting" experiencelevel="expert"/>
    </topicmeta>
    <topicref href="batcaring.dita"></topicref>
    <topicref href="batfeeding.dita"></topciref>
  </topicref>
</map>
Attributes
Name Description Data Type Default Value Required?
lockmeta Indicates whether any of the meta information should be replaced by meta information in the referenced topic. If the value is yes, the information inside <topicmeta> should not be replaced with information from the topic. (yes | no | -dita-use-​conref-​target) #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.2.1.4: anchor

The <anchor> element provides an integration point that another map can reference in order to insert its navigation into the current navigation tree. For those familiar with Eclipse help systems, this serves the same purpose as the <anchor> element in that system. It may not be supported for all output formats.
The <anchor> element is typically used to allow integration of run-time components. For build-time integration, you can instead use the conref or conkeyref attribute on an element inside the map. For example, a <topicref> element may use conref to pull in content at build-time from a <topicref> in another map.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, bookmap, classifyMap, subjectScheme, learningBookmap, learningMap no content
Contained by
Doctype Content model
map (base), map (technical content), bookmap, classifyMap, learningBookmap, learningMap map, topicref, topichead, topicgroup, topicset, keydef
subjectScheme map, topicref, subjectScheme, topichead, topicgroup, topicset, keydef
Inheritance

- map/anchor

Example

In this example, an anchor is defined with an ID of "a1".

<map>
  <title>MyComponent tasks</title>
  <topicref navtitle="Start here" href="start.dita" toc="yes">
    <navref mapref="othermap2.ditamap"/>
    <navref mapref="othermap3.ditamap"/>
    <anchor id="a1"/>
  </topicref>
</map>

The id on <anchor> can be referenced by the anchorref attribute on another map's <map> element. For example, the map to be integrated at that spot would be defined as follows.

<map anchorref="a1">
  <title>This map is pulled into the MyComponent task map</title>
  ...
</map>

Attributes
Name Description Data Type Default Value Required?
id Provides an integration point that another map may reference in order to insert its navigation into the current navigation tree. The anchorref attribute on a map may be used to reference this attribute. See ID attribute in the Architectural Specification for more details. NMTOKEN #REQUIRED Yes
conref This attribute is used to reference an ID on content that can be reused. See The conref attribute for examples and details about the syntax. CDATA #IMPLIED No
select-atts attribute group (props, base, platform, product, audience, otherprops, importance, rev, status) A set of related attributes, described in select-atts attribute group
localization-atts attribute group (translate, xml:lang, dir) A set of related attributes, described in localization-atts attribute group.
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.1.5: navref

The <navref> element represents a pointer to another map which should be preserved as a transcluding link rather than resolved. Output formats that support such linking will integrate the referenced resource when displaying the referencing map to an end user.

For example, if a map is converted to the Eclipse help system format, the DITA element <navref mapref="other.ditamap"/> should be converted to the Eclipse element <link toc="other.xml"/>. When Eclipse loads the referencing map, it will replace this link element with the contents of the file "other.xml", provided that the file "other.xml" is available.

Note that not all output formats support such linking. In order to include another map directly without depending on the output format, use a <topicref> element with the format attribute set to "ditamap". The effect is similar to a conref. For example, the following markup represents a literal inclusion of the map "other.ditamap":

<topicref href="other.ditamap" format="ditamap"/>

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, bookmap, classifyMap, subjectScheme, learningBookmap, learningMap no content
Contained by
Doctype Content model
map (base), map (technical content), bookmap, classifyMap, learningBookmap, learningMap map, topicref, topichead, topicgroup, topicset, keydef
subjectScheme map, topicref, subjectScheme, topichead, topicgroup, topicset, keydef
Inheritance

- map/navref

Example

In this example, the map titled "MyComponent tasks" references the maps "othermap2.ditamap" and "othermap3.ditamap".

<map title="MyComponent tasks">
 <navref mapref="../com.ibm.xml.doc/othermap1.ditamap"/>
 <navref mapref="../com.ibm.xml.doc/othermap2.ditamap"/>
</map>
Attributes
Name Description Data Type Default Value Required?
mapref Specifies the URL (local filename, at least) of the map file to reference. It may point to a DITA map, or to a file that is appropriate for your output format (such as XML TOC file for Eclipse output). CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.1.6: reltable

The <reltable> element is a relationship table that specifies relationships between topics, based on the familiar table model of rows (<relrow>), columns (<relheader>), and cells (<relcell>).

A frequently-used type of relationship table establishes relationships between task, concept, and reference topics. Each column in a relationship table typically represents a specific role in a set of relationships; for example, the first column often contains references to tasks, while the second and third columns often reference concept and reference topics. The relationship table rows define relationships between the resources referenced in different cells of the same row; in this example, each row establishes relationships between tasks and the concept and reference topics that support the tasks. When used in this manner, relationship tables make it easy to determine where related information is missing or undefined.

By default, the contents of a <reltable> element are not output for navigation or TOC purposes; they are used only to define relationships that can be expressed as topic-to-topic links. The <relcell> elements can contain <topicref> elements, which are then related to other <topicref> elements in the same row (although not necessarily in the same cell).

Relationship tables can be used in conjunction with hierarchies and groups to manage all the related links in an information set.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, bookmap, classifyMap, subjectScheme, learningBookmap, learningMap ( (title) (optional) then (topicmeta) (optional) then (relheader) (optional) then (relrow) (one or more) )
Contained by
Doctype Content model
map (base), map (technical content), classifyMap, learningMap map
bookmap, learningBookmap map, bookmap
subjectScheme map, subjectScheme
Inheritance

- map/reltable

Example

In this example, a relationship table is defined with three columns; one for "concept", one for "task", and one for "reference". Three cells are defined within one row. The first cell contains one concept topic: batsonar.dita. The second cell contains two task topics: batcaring.dita and batfeeding.dita. The third cell contains two reference topics: batguano.dita and bathistory.dita.

<map>
  <reltable>
    <relheader>
      <relcolspec type="concept"/>
      <relcolspec type="task"/>
      <relcolspec type="reference"/>
    </relheader>
    <relrow>
      <relcell>
        <topicref href="batsonar.dita"/>
      </relcell>
      <relcell>
        <topicref href="batcaring.dita"/>
        <topicref href="batfeeding.dita"/>
      </relcell>
      <relcell>
        <topicref href="batguano.dita"/>
        <topicref href="bathistory.dita"/>
      </relcell>
    </relrow>
  </reltable>
</map>

A DITA-aware tool may represent the <reltable> element graphically:

type="concept" type="task" type="reference"
batsonar.dita
batcaring.dita
batfeeding.dita
batguano.dita
bathistory.dita

On output, links should be added to topics that are in the same row, but not in the same cell. This allows simple maintenance of parallel relationships: for example, in this case, batcaring.dita and batfeeding.dita are two tasks that require the same supporting information (concept and reference topics) but might otherwise be unrelated. When topics in the same cell are in fact related, the cell's collection-type attribute can be set to family. If some cells or columns are intended solely as supporting information and should not link back to topics in other cells, you can set the linking attribute on the cell or relcolspec to targetonly.

In this example, the related links would be as follows:

batsonar.dita
batcaring.dita, batfeeding.dita, batguano.dita, bathistory.dita
batcaring.dita
batsonar.dita, batguano.dita, bathistory.dita
batfeeding.dita
batsonar.dita, batguano.dita, bathistory.dita
batguano.dita
batsonar.dita, batcaring.dita, batfeeding.dita
bathistory.dita
batsonar.dita, batcaring.dita, batfeeding.dita

Although such tables may initially take some time to learn and manipulate, they are inherently an efficient way to manage these links. In particular, they increase the prospect for reuse among topics, because those topics do not contain context-specific links. A relationship table also makes it easy to see and manage patterns; for example, the fact that batfeeding.dita and batcaring.dita have the same relationships to supporting information is clear from the table, but would require some comparison and counting to determine from the list summary just before this paragraph.

Attributes
Name Description Data Type Default Value Required?
title An identifying title for this element. CDATA #IMPLIED No
topicref-atts-no-toc attribute group (collection-type, processing-role, type, scope, locktitle, format, linking, toc, print, search, chunk) A related set of attributes. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.1.7: relrow

The <relrow> element defines a row in the relationship table (<reltable>). It creates a relationship between the cells in the row, which is expressed in output as links between the topics or resources referenced in those cells.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, bookmap, classifyMap, subjectScheme, learningBookmap, learningMap (relcell) (any number)
Contained by
Doctype Content model
map (base), map (technical content), bookmap, classifyMap, subjectScheme, learningBookmap, learningMap reltable
Inheritance

- map/relrow

Example
See reltable.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.1.8: relcell

The <relcell> element defines a cell in the relationship table (<reltable>). The <topicref> elements that it contains are related to the <topicref> elements in other cells of the same row. By default, topics or resources that are referenced in the same cell are not related to each other, unless you change the collection-type attribute of the <relcell> to indicate that they are related.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap (topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or data or data-about) (any number)
map (technical content) (topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) or data or data-about) (any number)
classifyMap (topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or data or data-about) (any number)
subjectScheme (topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or data or data-about) (any number)
learningBookmap, learningMap (topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup or data or data-about) (any number)
Contained by
Doctype Content model
map (base), map (technical content), bookmap, classifyMap, subjectScheme, learningBookmap, learningMap relrow
Inheritance

- map/relcell

Example
See reltable.
Attributes
Name Description Data Type Default Value Required?
topicref-atts attribute group (collection-type, processing-role, type, scope, locktitle, format, linking, toc, print, search, chunk) A set of related attributes. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.1.9: relheader

The <relheader> element is a row in a relationship table that contains column definitions (<relcolspec> elements). Each table can have only one set of column definitions.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, bookmap, classifyMap, subjectScheme, learningBookmap, learningMap (relcolspec) (one or more)
Contained by
Doctype Content model
map (base), map (technical content), bookmap, classifyMap, subjectScheme, learningBookmap, learningMap reltable
Inheritance

- map/relheader

Example
See reltable.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.2.1.10: relcolspec

The <relcolspec> element is used to define a column in a relationship table. The <relcolspec> element may be used to set default values for the <topicref> elements in the column.

You can use the <relcolspec> element to set default values for the attributes of the topics that are referenced in the column. For example, when you set the type attribute to "concept," all <topicref> elements in the column that do not have a type attribute specified are treated as concepts. When values are specified for attributes of <relcell> or <relrow> elements, those values are inherited before those defined for <relcolspec> elements. Values specified for attributes of <relcolspec> elements are inherited before those defined for the <reltable> element.

Beginning with DITA 1.2, you also can add <topicref> elements to the <relcolspec> element; this defines a relationship between the topics that are referenced in the <recolspec> element and the topics that are referenced in the column of the relationship table. Note that this does not define a relationship between two cells in the same column; the only new relationship is between <topicref> targets in a <relcell> and <topicref> targets in that column's <relcolspec>.

Also beginning with DITA 1.2, if you add a <title> element to the <relcolspec> element, the content of the <title> element is used as the label for the related links that are defined and generated by the column. If the <title> element is not present, the labels for the related links are generated in the following ways:

  • If the <relcolspec> element contains a <topicref> element that points to a non-DITA source, the value of the topicref's navtitle element or attribute is used for the label.
  • If the <relcolspec> element contains a <topicref> element that points to a DITA source and the locktitle attribute is set to "yes," the value of the topicref's navtitle element or attribute is used for the label.
  • If the <relcolspec> element contains a <topicref> element that points to a DITA source and the locktitle attribute is missing or set to "no," the label is derived from the <navtitle> or <title> element specified within the topic.
  • If no title is specified and no topicref is present in the <relcolspec>, a rendering tool may choose to generate a title for the links generated from that column.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap ( (title) (optional) then (topicmeta) (optional) then (topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) (any number) )
map (technical content) ( (title) (optional) then (topicmeta) (optional) then (topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) ) (any number) )
classifyMap ( (title) (optional) then (topicmeta) (optional) then (topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
subjectScheme ( (title) (optional) then (topicmeta) (optional) then (topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
learningBookmap, learningMap ( (title) (optional) then (topicmeta) (optional) then (topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup) (any number) )
Contained by
Doctype Content model
map (base), map (technical content), bookmap, classifyMap, subjectScheme, learningBookmap, learningMap relheader
Inheritance

- map/relcolspec

Example

In this example, a relationship table is defined with three columns; one for "concept", one for "task", and one for "reference". Three cells are defined within one row. The first cell contains one concept topic: puffins.dita. The second cell contains two task topics: puffinFeeding.dita and puffinCleaning.dita. The third cell contains a reference topic: puffinHistory.dita. Setting the type on each column allows (but does not require) processors to validate that the topics in each column are of the expected type.

<map>
 <reltable>
  <relheader>
   <relcolspec type="concept"/>
   <relcolspec type="task"/>
   <relcolspec type="reference"/>
  </relheader>
  <relrow>
   <relcell><topicref href="puffins.dita"/></relcell>
   <relcell>
     <topicref href="puffinFeeding.dita"/>
     <topicref href="puffinCleaning.dita"/>
   </relcell>
   <relcell>
     <topicref href="puffinHistory.dita"/>
   </relcell>
  </relrow>
 </reltable>
</map>
Example with column titles

Consider the following relationship table:

<reltable>
  <relheader>
    <relcolspec type="task">
      <topicref navtitle="Troubleshooting" href="tbs.dita" locktitle="yes"/>
    </relcolspec>
    <relcolspec type="reference">
      <topicref navtitle="Messages" href="msg.dita" locktitle="yes"/>
    </relcolspec>
  </relheader>
  <relrow>
    <relcell>
      <topicref navtitle="Debugging login errors" href="debug_login.dita"/>
    </relcell>
    <relcell>
      <topicref navtitle="Login not found" href="login_error_1.dita"/>
    </relcell>
  </relrow>
  <relrow>
    <relcell>
      <topicref navtitle="Checking access controls" href="checking_access.dita"/>
    </relcell>
    <relcell>
      <topicref navtitle="Login not allowed" href="login_error_2.dita"/>
    </relcell>
  </relrow>
</reltable>

In addition to the relationships defined by the rows in the relationship table, the following relationships are now defined by the columns in the relationship table:

  • tbs.dita <–> debug_login.dita
  • tbs.dita <–> checking_access.dita
  • msg.dita <–> login_error_1.dita
  • msg.dita <–> login_error_2.dita

Ignoring the headers for a moment, the <reltable> here would ordinarily define a two-way relationship between debug_login.dita and login_error1.dita. This will typically be expressed as a link from each to the other. An application may, but need not, render the link with a language-appropriate heading such as "Related reference", indicating that the target of the link is a reference topic.

The headers change this by specifying a new title. In the second column, the topicref specifies a title of "Messages", which should now be used together with the link to anything in that column. So, a generated link from debug_login.dita to login_error1.dita should be rendered together with the title of "Messages". How this is rendered together with the link is up to the application.

Attributes
Name Description Data Type Default Value Required?
topicref-atts attribute group (collection-type, processing-role, type, scope, locktitle, format, linking, toc, print, search, chunk) A set of related attributes. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.2: Map group elements

The map group domain elements define, group, or reference content. Many of the map group elements are convenience elements, which means that they simply make it easier for an author to make use of existing functions.

For example, the <topichead> element allows a map to specify a heading without allowing a reference to a topic. While a <topicref> element may accomplish the same thing by creating a title and leaving off the href attribute, the <topichead> element simply makes the intent clearer and prevents the accidental inclusion of an href attribute.

3.3.1.2.2.1: anchorref

The <anchorref> element is used to reference an <anchor> element in a map. The contents of an <anchorref> element are rendered both in the original authored location and at the location of the referenced <anchor> element. The referenced <anchor> element may be defined in the current map or another map. When possible, this integration is done when displaying the map with <anchor> to an end user.

This function of the <anchorref> element is similar to that provided by the anchorref attribute of the <map> element. However, instead of attaching an entire map to an anchor point, this element allows the author to attach only the contents of a single map branch. This enables architects to reuse a branch of content without reusing the entire map.

If the rendering platform does not support runtime integration of navigation based on the anchor point, a build system should treat the <anchorref> element similar to a "conref push" instruction by pushing the content to the spot that contains the anchor. Note that many <anchorref> elements may push content to the same point; the order in which items are pushed is left undefined, although the order within a single <anchorref> is preserved.

Metadata cascading must take place in the original authored context, because the branch of content defined with the <anchorref> remains independent from the referenced map. The <anchorref> content does not take on the cascading metadata at the <anchor> location. For example, if the map containing the <anchorref> element sets a local copyright, that copyright cascades to the <anchorref> element and its children; it is retained after the content is rendered at the target <anchor> element.

By default, the content of the <anchorref> element is rendered at both the anchor target and the original location. To prevent the content from being rendered at the location of the <anchorref> element, set toc="no" on the <anchorref> element, and then set toc="yes" on each of its children so that they will not inherit the toc="no" setting.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap ( (topicmeta) (optional) then (data or data-about or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) (any number) )
map (technical content) ( (topicmeta) (optional) then (data or data-about or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) ) (any number) )
classifyMap ( (topicmeta) (optional) then (data or data-about or topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
subjectScheme ( (topicmeta) (optional) then (data or data-about or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
learningBookmap, learningMap ( (topicmeta) (optional) then (data or data-about or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup) (any number) )
Contained by
Doctype Content model
map (base), map (technical content), learningMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
bookmap, learningBookmap map, topicref, relcolspec, relcell, frontmatter, backmatter, draftintro, preface, chapter, part, appendix, notices, glossarylist, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
classifyMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef, topicsubject, topicapply, topicCell, subjectCell
subjectScheme map, topicref, relcolspec, relcell, subjectScheme, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectHead, relatedSubjects, subjectRole, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
Inheritance

+ map/topicref mapgroup-d/anchorref

Example
Initial map contents
<topicref href="carPrep.dita">
    <topicref href="beforePrep.dita"/>
    <anchor id="prepDetail"/>
    <topicref href="afterPrep.dita"/>
</topicref>
...
<topicref href="astroTasks.dita">
    <topicref href="astroOverview.dita"/>
    <anchorref href="#prepDetail">
        <topicref href="astroChecklist.dita"/>
        <topicref href="otherPreparation.dita"/>
    </anchorref>
    <topicref href="astroConclusion.dita"/>
</topicref>
Effective result of evaluating the <anchorref> element
<topicref href="carPrep.dita">
    <topicref href="beforePrep.dita"/>
    <anchor id="prepDetail"/>
    <topicref href="astroChecklist.dita"/>
    <topicref href="otherPreparation.dita"/>
    <topicref href="afterPrep.dita"/>
</topicref>
...
<topicref href="astroTasks.dita">
    <topicref href="astroOverview.dita"/>
    <topicref href="astroChecklist.dita"/>
    <topicref href="otherPreparation.dita"/>
    <topicref href="astroConclusion.dita"/>
</topicref>
Attributes
Name Description Data Type Default Value Required?
navtitle Specifies the title of the topic as it will appear in the navigation or tables of contents that are generated from the map. Beginning with DITA 1.2, the preferred way to specify the navigation title in a map is with the navtitle element, available inside the topicmeta element. CDATA #IMPLIED No
href A pointer to an <anchor> element in this or another DITA map. When rendered, the contents of the <anchorref> element will be copied to the location of the anchor. CDATA #IMPLIED No
keys Introduces one or more global identifiers for a resource referenced from a map. See The keys attribute for details on how to use the keys attribute. NMTOKEN #IMPLIED No
query This attribute is deprecated. It may be removed in the future. CDATA #IMPLIED No
copy-to Use the copy-to attribute on the <topicref> element to provide a different file name for a particular instance of the topic in the map (for example, to separate out the different versions of the topic, rather than combining them on output). The links and navigation associated with that instance will point to a copy of the topic with the file name you specified.

Use the <linktext> and <shortdesc> in the <topicref>'s <topicmeta> to provide a unique name and short description for the new copy.

CDATA #IMPLIED No
collection-type Collection types describe how links relate to each other. The processing default is "unordered", although no default is specified in the DTD or Schema.
unordered
Indicates that the order of the child topics is not significant.
sequence
Indicates that the order of the child topics is significant; output processors will typically link between them in order.
choice
Indicates that one of the children should be selected.
family
Represents a tight grouping in which each of the referenced topics not only relates to the current topic but also relate to each other.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.

Usage of the collection-type attribute on <reltable> and <relcolspec> is currently undefined and reserved for future use.

(unordered | sequence | choice | family | -dita-use-​conref-​target) #IMPLIED No
processing-role Describes the processing role of the referenced topic. The processing default is "normal". If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
normal
Normal topic that is a readable part of the information.
resource-only
The topic is used as a resource for processing purposes, but is not a readable unit of information on its own. This topic should not be included in a rendered table of contents, and the topic should not be rendered on its own.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(normal | resource-only | -dita-use-​conref-​target) #IMPLIED No
type Describes the target of a reference. For the anchorref element, this value defaults to "anchor", because the element is expected to point to an anchor element in this or another map. CDATA anchor No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
locktitle If locktitle is set to "yes", the <navtitle> element or @navtitle attribute is used if it is present. Otherwise, the navtitle is ignored and the navigation title is retrieved from the referenced file.

Note

The @navtitle attribute is deprecated in favor of the <navtitle> element. When both a <navtitle> element and a navtitle attribute are specified, the <navtitle> element should be used.
yes
The navtitle in the map is used.
no
The navtitle or title of the topic is used. This is the processing default.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
format The format attribute identifies the format of the resource being referenced. For the anchorref element, this value defaults to "ditamap", because the element references a point in a map. CDATA ditamap No
linking Defines some specific linking characteristics of a topic's current location in the map. If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
targetonly
A topic can only be linked to and cannot link to other topics.
sourceonly
A topic cannot be linked to but can link to other topics.
normal
A topic can be linked to and can link to other topics. Use this to override the linking value of a parent topic.
none
A topic cannot be linked to or link to other topics.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(targetonly | sourceonly | normal | none | -dita-use-​conref-​target) #IMPLIED No
toc Specifies whether a topic appears in the table of contents (TOC). If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor. (yes | no | -dita-use-​conref-​target) #IMPLIED No
print Specifies whether the topic should be included in a print-specific rendition, such as PDF. The processing default is "yes". If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
yes
Include the topic in the print-oriented file.
no
Do not include the topic in a print-oriented file.
printonly
Only include the topic when rendering the DITA content in a print-oriented context; the topic should not be included in other contexts, such as when rendering as HTML.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | printonly | -dita-use-​conref-​target) #IMPLIED No
search Describes whether the target is available for searching. If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
yes
no
-dita-use-​conref-​target
(yes | no | -dita-use-​conref-​target) #IMPLIED No
chunk When a set of topics is transformed using a map, the chunk attribute allows multi-topic documents to be broken into smaller files and multiple individual topics to be combined into larger combined documents.

For a detailed description of the chunk attribute and its usage, see Chunking in the DITA Architectural Specification.

CDATA #IMPLIED No
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.2.2: keydef

The <keydef> element is a convenience element that is used to define keys without any of the other effects that occur when using a <topicref> element: no content is included in output, no title is included in the table of contents, and no linking or other relationships are defined. The <keydef> element is not the only way to define keys; its purpose is to simplify the process by defaulting several attributes to achieve the described behaviors.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) (any number) )
map (technical content) ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) ) (any number) )
classifyMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
subjectScheme ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
learningBookmap, learningMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup) (any number) )
Contained by
Doctype Content model
map (base), map (technical content), learningMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
bookmap, learningBookmap map, topicref, relcolspec, relcell, frontmatter, backmatter, draftintro, preface, chapter, part, appendix, notices, glossarylist, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
classifyMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef, topicsubject, topicapply, topicCell, subjectCell
subjectScheme map, topicref, relcolspec, relcell, subjectScheme, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectHead, relatedSubjects, subjectRole, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
Inheritance

+ map/topicref mapgropup-d/keydef

Example

The following example defines keys that can be used to refer to the indicated topics. These keys may be used from any topic in this map, or in any context where this map is imported. Note that the processing-role attribute defaults to "resource-only", which ensures that specified topics will not be rendered in a print document or in a navigation TOC based on this definition in the map. In addition, it means that links will not be generated to or from the <keydef> elements.

<map>
  <title>Defining bird keys</title>
  <keydef keys="darwinfinch galapagosfinch"  href="galapagosfinch.dita"/>
  <keydef keys="goldfinch"  href="about-goldfinches.dita"/>
  <keydef keys="puffin"     href="about-puffins.dita"/>
  <keydef keys="loon diver" href="common-loon.dita"/>
</map>
Attributes
Name Description Data Type Default Value Required?
navtitle Specifies the title of the topic as it will appear in the navigation or tables of contents that are generated from the map. Beginning with DITA 1.2, the preferred way to specify the navigation title in a map is with the navtitle element, available inside the topicmeta element. CDATA #IMPLIED No
href A pointer to the resource represented by the <topicref>. See The href attribute for detailed information on supported values and processing implications. References to DITA content cannot be below the topic level: that is, you cannot reference individual elements inside a topic. References to content other than DITA topics should use the format attribute to identify the kind of resource being referenced. CDATA #IMPLIED No
keys Introduces one or more global identifiers for a resource referenced from a map. See The keys attribute for details on how to use the keys attribute. NMTOKEN #IMPLIED No
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
query This attribute is deprecated. It may be removed in the future. CDATA #IMPLIED No
copy-to Use the copy-to attribute on the <topicref> element to provide a different file name for a particular instance of the topic in the map (for example, to separate out the different versions of the topic, rather than combining them on output). The links and navigation associated with that instance will point to a copy of the topic with the file name you specified.

Use the <linktext> and <shortdesc> in the <topicref>'s <topicmeta> to provide a unique name and short description for the new copy.

CDATA #IMPLIED No
collection-type Collection types describe how links relate to each other. The processing default is "unordered", although no default is specified in the DTD or Schema.
unordered
Indicates that the order of the child topics is not significant.
sequence
Indicates that the order of the child topics is significant; output processors will typically link between them in order.
choice
Indicates that one of the children should be selected.
family
Represents a tight grouping in which each of the referenced topics not only relates to the current topic but also relate to each other.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.

Usage of the collection-type attribute on <reltable> and <relcolspec> is currently undefined and reserved for future use.

(unordered | sequence | choice | family | -dita-use-​conref-​target) #IMPLIED No
processing-role Describes the processing role of the referenced topic. The default for this attribute on <keydef> is "resource-only". If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
normal
Normal topic that is a readable part of the information.
resource-only
The topic is used as a resource for processing purposes, but is not a readable unit of information on its own. This topic should not be included in a rendered table of contents, and the topic should not be rendered on its own.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(normal | resource-only | -dita-use-​conref-​target) resource-only No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
locktitle If locktitle is set to "yes", the <navtitle> element or @navtitle attribute is used if it is present. Otherwise, the navtitle is ignored and the navigation title is retrieved from the referenced file.

Note

The @navtitle attribute is deprecated in favor of the <navtitle> element. When both a <navtitle> element and a navtitle attribute are specified, the <navtitle> element should be used.
yes
The navtitle in the map is used.
no
The navtitle or title of the topic is used. This is the processing default.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
linking Defines some specific linking characteristics of a topic's current location in the map. If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
targetonly
A topic can only be linked to and cannot link to other topics.
sourceonly
A topic cannot be linked to but can link to other topics.
normal
A topic can be linked to and can link to other topics. Use this to override the linking value of a parent topic.
none
A topic cannot be linked to or link to other topics.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(targetonly | sourceonly | normal | none | -dita-use-​conref-​target) #IMPLIED No
toc Specifies whether a topic appears in the table of contents (TOC). If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor. (yes | no | -dita-use-​conref-​target) #IMPLIED No
print Specifies whether the topic should be included in a print-specific rendition, such as PDF. The processing default is "yes". If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
yes
Include the topic in the print-oriented file.
no
Do not include the topic in a print-oriented file.
printonly
Only include the topic when rendering the DITA content in a print-oriented context; the topic should not be included in other contexts, such as when rendering as HTML.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | printonly | -dita-use-​conref-​target) #IMPLIED No
search Describes whether the target is available for searching. If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
yes
no
-dita-use-​conref-​target
(yes | no | -dita-use-​conref-​target) #IMPLIED No
chunk When a set of topics is transformed using a map, the chunk attribute allows multi-topic documents to be broken into smaller files and multiple individual topics to be combined into larger combined documents.

For a detailed description of the chunk attribute and its usage, see Chunking in the DITA Architectural Specification.

CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.2.3: mapref

The <mapref> element is a convenience element that is equivalent to a <topicref> element with the format attribute set to "ditamap". The hierarchy of the referenced map is merged into the container map at the position of the reference, and the relationship tables of the child map are added to the parent map.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, bookmap, classifyMap, subjectScheme, learningBookmap, learningMap ( (topicmeta) (optional) then (data or data-about) (any number) )
Contained by
Doctype Content model
map (base), map (technical content), learningMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
bookmap, learningBookmap map, topicref, relcolspec, relcell, frontmatter, backmatter, draftintro, preface, chapter, part, appendix, notices, glossarylist, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
classifyMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef, topicsubject, topicapply, topicCell, subjectCell
subjectScheme map, topicref, relcolspec, relcell, subjectScheme, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectHead, relatedSubjects, subjectRole, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
Inheritance

+ map/topicref mapgroup-d/mapref

Example
Sample document "lib.ditamap" that is reusable in other locations
<map id="lib">
  <topicref href="netlib.dita"/>
  <topicref href="dblib.dita"/>
  <!-- ... -->
</map>
Map that reuses lib.ditamap
<map id="standardlib">
  <topichead navtitle="Developing with standard libraries">
    <mapref href="lib.ditamap"/>
  </topichead>
  <!-- ... -->
</map>
Rendered result
<map id="standardlib">
  <topichead navtitle="Developing with standard libraries">
    <topicref href="netlib.dita"/>
    <topicref href="dblib.dita"/>
    <!-- ... -->
  </topichead>
  <!-- ... -->
</map>
Attributes
Name Description Data Type Default Value Required?
navtitle Specifies the title of the topic as it will appear in the navigation or tables of contents that are generated from the map. Beginning with DITA 1.2, the preferred way to specify the navigation title in a map is with the navtitle element, available inside the topicmeta element. CDATA #IMPLIED No
href A pointer to the resource represented by the <topicref>. See The href attribute for detailed information on supported values and processing implications. References to DITA content cannot be below the topic level: that is, you cannot reference individual elements inside a topic. References to content other than DITA topics should use the format attribute to identify the kind of resource being referenced. CDATA #IMPLIED No
keys Introduces one or more global identifiers for a resource referenced from a map. See The keys attribute for details on how to use the keys attribute. NMTOKEN #IMPLIED No
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
query This attribute is deprecated. It may be removed in the future. CDATA #IMPLIED No
copy-to Use the copy-to attribute on the <topicref> element to provide a different file name for a particular instance of the topic in the map (for example, to separate out the different versions of the topic, rather than combining them on output). The links and navigation associated with that instance will point to a copy of the topic with the file name you specified.

Use the <linktext> and <shortdesc> in the <topicref>'s <topicmeta> to provide a unique name and short description for the new copy.

CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. For elements like this one that are designed to reference another map, the value defaults to "ditamap". See The format attribute for details on other supported values. CDATA ditamap No
topicref-atts-without-format attribute group (collection-type, processing-role, type, scope, locktitle, linking, toc, print, search, chunk) A related set of attributes. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.2.4: topicgroup

The <topicgroup> element groups <topicref> elements for common treatment without affecting the structural hierarchy of the map, as opposed to nesting <topicref> elements, which does imply a structural hierarchy. The <topicgroup> element can provide linking relationships and shared, inherited attributes to the set of elements that it contains without affecting the resulting table of contents or navigation.
Beginning with DITA 1.2, you are able to specify a <navtitle> element within the <topicmeta> element inside of a <topicgroup>. The <topicgroup> element is meant as a non-titled grouping element, so adding a <navtitle> element to the <topicgroup> element has no defined purpose, and processors must ignore the title. Processors may (but need not) issue a message when ignoring the title.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) (any number) )
map (technical content) ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) ) (any number) )
classifyMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
subjectScheme ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
learningBookmap, learningMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup) (any number) )
Contained by
Doctype Content model
map (base), map (technical content), learningMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
bookmap, learningBookmap map, topicref, relcolspec, relcell, frontmatter, backmatter, draftintro, preface, chapter, part, appendix, notices, glossarylist, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
classifyMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef, topicsubject, topicapply, topicCell, subjectCell
subjectScheme map, topicref, relcolspec, relcell, subjectScheme, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectHead, relatedSubjects, subjectRole, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
Inheritance

+ map/topicref mapgroup-d/topicgroup

Example

Each <topicref> element in the following example inherits the audience and linking attributes. In this way the common attributes are set for the entire group of <topicref> elements without affecting the navigation hierarchy.

<topicgroup audience="novice" linking="none">
  <topicref href="this.dita"/>
  <topicref href="that.dita"/>
  <topicref href="theother.dita"/>
</topicgroup>
Attributes
Name Description Data Type Default Value Required?
topicref-atts attribute group (collection-type, processing-role, type, scope, locktitle, format, linking, toc, print, search, chunk) A set of related attributes. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.2.5: topichead

The <topichead> element provides a title-only entry in a navigation map, which should appear as a heading when the map is rendered as a table of contents. In print contexts it should also appear as a heading in the rendered content.
Beginning with DITA 1.2, the navtitle can be specified by using a <navtitle> element within the <topicmeta> element, so the <topichead> element no longer requires the navtitle attribute. In order to ensure backward compatibility with earlier versions of DITA, the new <navtitle> element is not required. However, a <topichead> element must contain either a navtitle attribute or a <topicmeta> element that contains a <navtitle> element. DITA processors should generate a warning if a navigation title is not specified.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) (any number) )
map (technical content) ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) ) (any number) )
classifyMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
subjectScheme ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
learningBookmap, learningMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup) (any number) )
Contained by
Doctype Content model
map (base), map (technical content), learningMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
bookmap, learningBookmap map, topicref, relcolspec, relcell, frontmatter, backmatter, draftintro, preface, chapter, part, appendix, notices, glossarylist, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
classifyMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef, topicsubject, topicapply, topicCell, subjectCell
subjectScheme map, topicref, relcolspec, relcell, subjectScheme, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectHead, relatedSubjects, subjectRole, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
Inheritance

+ map/topicref mapgroup-d/topichead

Example

Note that in the following example, the first <topichead> element uses a <navtitle> element to provide the title, while the second <topichead> element uses a navtitle attribute. This is only to illustrate that both uses are valid; in general, the element is preferred over the attribute.

<map>
  <topichead>
    <topicmeta><navtitle>Computers</navtitle></topicmeta>
    <topicref href="eniac.dita"/>
    <topicref href="system360.dita"/>
    <topicref href="pdp8.dita"/>
  </topichead>
  <topichead navtitle="Books">
    <topicref href="hardback.dita"/>
    <topicref href="paperback.dita"/>
  </topichead>
</map>
Attributes
Name Description Data Type Default Value Required?
navtitle Specifies the title of the topic as it will appear in the navigation or tables of contents that are generated from the map. Beginning with DITA 1.2, the preferred way to specify the navigation title in a map is with the navtitle element, available inside the topicmeta element. CDATA #IMPLIED No
copy-to Use the copy-to attribute on the <topicref> element to provide a different file name for a particular instance of the topic in the map (for example, to separate out the different versions of the topic, rather than combining them on output). The links and navigation associated with that instance will point to a copy of the topic with the file name you specified.

Use the <linktext> and <shortdesc> in the <topicref>'s <topicmeta> to provide a unique name and short description for the new copy.

CDATA #IMPLIED No
topicref-atts attribute group (collection-type, processing-role, type, scope, locktitle, format, linking, toc, print, search, chunk) A set of related attributes. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.2.2.6: topicset

The <topicset> element defines a complete unit of content that can be reused in other DITA maps or other <topicset> elements. The <topicset> element can be especially useful for task composition in which larger tasks are composed of smaller tasks. The id attribute on a <topicset> is required, which ensures that the complete unit is available for reuse in other contexts.
A <topicset> is similar to a source file that contains nested topics, in that the combination of topics constitutes a complete self-contained unit. That unit of content can stand independently of the containing, prior, and following content within the original map context.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) (any number) )
map (technical content) ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) ) (any number) )
classifyMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
subjectScheme ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
learningBookmap, learningMap ( (topicmeta) (optional) then (anchor or data or data-about or navref or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup) (any number) )
Contained by
Doctype Content model
map (base), map (technical content), learningMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
bookmap, learningBookmap map, topicref, relcolspec, relcell, frontmatter, backmatter, draftintro, preface, chapter, part, appendix, notices, glossarylist, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
classifyMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef, topicsubject, topicapply, topicCell, subjectCell
subjectScheme map, topicref, relcolspec, relcell, subjectScheme, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectHead, relatedSubjects, subjectRole, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
Inheritance

+ map/topicref mapgroup-d/topicset

Example

This topic set represents a set of overview information about SQL. The information is reusable as a unit.

<topicset id="sqlbasics" href="sqlOverview.dita">
  <topicref href="sqlSelection.dita"/>
  <topicref href="sqlJoin.dita"/>
  <topicref href="sqlFilter.dita"/>
  ...
</topicset>
Attributes
Name Description Data Type Default Value Required?
navtitle Specifies the title of the topic as it will appear in the navigation or tables of contents that are generated from the map. Beginning with DITA 1.2, the preferred way to specify the navigation title in a map is with the navtitle element, available inside the topicmeta element. CDATA #IMPLIED No
id This ID is the target for references by to the current set of information. The ID is required in order to ensure that a topicset is defined as a reusable unit of information. See ID attribute in the Architectural Specification for more details. ID #REQUIRED Yes
href A pointer to the resource represented by the <topicref>. See The href attribute for detailed information on supported values and processing implications. References to DITA content cannot be below the topic level: that is, you cannot reference individual elements inside a topic. References to content other than DITA topics should use the format attribute to identify the kind of resource being referenced. CDATA #IMPLIED No
keys Introduces one or more global identifiers for a resource referenced from a map. See The keys attribute for details on how to use the keys attribute. NMTOKEN #IMPLIED No
query This attribute is deprecated. It may be removed in the future. CDATA #IMPLIED No
copy-to Use the copy-to attribute on the <topicref> element to provide a different file name for a particular instance of the topic in the map (for example, to separate out the different versions of the topic, rather than combining them on output). The links and navigation associated with that instance will point to a copy of the topic with the file name you specified.

Use the <linktext> and <shortdesc> in the <topicref>'s <topicmeta> to provide a unique name and short description for the new copy.

CDATA #IMPLIED No
collection-type Collection types describe how links relate to each other. The processing default is "unordered", although no default is specified in the DTD or Schema.
unordered
Indicates that the order of the child topics is not significant.
sequence
Indicates that the order of the child topics is significant; output processors will typically link between them in order.
choice
Indicates that one of the children should be selected.
family
Represents a tight grouping in which each of the referenced topics not only relates to the current topic but also relate to each other.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.

Usage of the collection-type attribute on <reltable> and <relcolspec> is currently undefined and reserved for future use.

(unordered | sequence | choice | family | -dita-use-​conref-​target) #IMPLIED No
processing-role Describes the processing role of the referenced topic. The processing default is "normal". If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
normal
Normal topic that is a readable part of the information.
resource-only
The topic is used as a resource for processing purposes, but is not a readable unit of information on its own. This topic should not be included in a rendered table of contents, and the topic should not be rendered on its own.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(normal | resource-only | -dita-use-​conref-​target) #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
locktitle If locktitle is set to "yes", the <navtitle> element or @navtitle attribute is used if it is present. Otherwise, the navtitle is ignored and the navigation title is retrieved from the referenced file.

Note

The @navtitle attribute is deprecated in favor of the <navtitle> element. When both a <navtitle> element and a navtitle attribute are specified, the <navtitle> element should be used.
yes
The navtitle in the map is used.
no
The navtitle or title of the topic is used. This is the processing default.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
linking Defines some specific linking characteristics of a topic's current location in the map. If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
targetonly
A topic can only be linked to and cannot link to other topics.
sourceonly
A topic cannot be linked to but can link to other topics.
normal
A topic can be linked to and can link to other topics. Use this to override the linking value of a parent topic.
none
A topic cannot be linked to or link to other topics.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(targetonly | sourceonly | normal | none | -dita-use-​conref-​target) #IMPLIED No
toc Specifies whether a topic appears in the table of contents (TOC). If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor. (yes | no | -dita-use-​conref-​target) #IMPLIED No
print Specifies whether the topic should be included in a print-specific rendition, such as PDF. The processing default is "yes". If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
yes
Include the topic in the print-oriented file.
no
Do not include the topic in a print-oriented file.
printonly
Only include the topic when rendering the DITA content in a print-oriented context; the topic should not be included in other contexts, such as when rendering as HTML.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | printonly | -dita-use-​conref-​target) #IMPLIED No
search Describes whether the target is available for searching. If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
yes
no
-dita-use-​conref-​target
(yes | no | -dita-use-​conref-​target) #IMPLIED No
chunk A topicset defines a group of information that will generally be used as a single navigable unit. The chunk attribute defaults to to-navigation to indicate that this is a distinct unit of information.

For a detailed description of the chunk attribute and its usage see the section on Chunking in the DITA Architectural Specification.

CDATA to-navigation No
conref-atts attribute group (conref, conrefend, conaction, conkeyref) A set of related attributes; includes all of the attributes described in id-atts attribute group except for the id attribute.
select-atts attribute group (props, base, platform, product, audience, otherprops, importance, rev, status) A set of related attributes, described in select-atts attribute group
localization-atts attribute group (translate, xml:lang, dir) A set of related attributes, described in localization-atts attribute group.
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.2.2.7: topicsetref

The <topicsetref> element references a <topicset> element. The referenced <topicset> element can be defined in the current map or in another map.

When possible, applications should treat the referenced <topicset> as an independent unit that always retains its identity. For example, an application that renders DITA for a dynamic navigation platform may generate a reusable navigation structure for each <topicset>, and each <topicsetref> is retained as a reference to that structure. This differs slightly from the processing of the conref attribute, which results in a literal copy of the referenced content.

For situations that do not support reusing a topic set as an independent unit, such as a rendered PDF, applications may resolve the <topicsetref> element in a manner similar to other <topicref> elements that have the format attribute set to "ditamap". This may result in a new instance of the <topicset> element.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map (base), bookmap ( (topicmeta) (optional) then (data or data-about or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) (any number) )
map (technical content) ( (topicmeta) (optional) then (data or data-about or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) or (glossref) ) (any number) )
classifyMap ( (topicmeta) (optional) then (data or data-about or topicref or (topicsubject or topicapply) or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
subjectScheme ( (topicmeta) (optional) then (data or data-about or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
learningBookmap, learningMap ( (topicmeta) (optional) then (data or data-about or topicref or anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref or learningObject or learningGroup) (any number) )
Contained by
Doctype Content model
map (base), map (technical content), learningMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
bookmap, learningBookmap map, topicref, relcolspec, relcell, frontmatter, backmatter, draftintro, preface, chapter, part, appendix, notices, glossarylist, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
classifyMap map, topicref, relcolspec, relcell, topichead, topicgroup, anchorref, topicset, topicsetref, keydef, topicsubject, topicapply, topicCell, subjectCell
subjectScheme map, topicref, relcolspec, relcell, subjectScheme, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectHead, relatedSubjects, subjectRole, topichead, topicgroup, anchorref, topicset, topicsetref, keydef
Inheritance

+ map/topicref mapgroup-d/topicsetref

Example
Reusable chunk of information in a ditamap

The following <topicset> groups several topics that together make up an overview of SQL.

<topicset id="sqlbasics" href="sqlOverview.dita">
  <topicref href="sqlSelection.dita"/>
  <topicref href="sqlJoin.dita"/>
  <topicref href="sqlFilter.dita"/>
  <!-- ... -->
</topicset>
<topicsetref> element that reuses the chunk from within the same map

In this case, another map includes the entire set of SQL Basics together with content related to programming with JDBC.

<topichead navtitle="Mastering JDBC">
  <topicsetref href="#sqlbasics"/>
  <topicref href="jdbcPrepare.dita"/>
  <!-- ... -->
</topichead>
Result of the reuse

A reader of the JDBC information will see the content integrated as a single unit.

<topichead navtitle="Mastering JDBC">
  <topicset id="sqlbasics" href="sqlOverview.dita">
    <topicref href="sqlSelection.dita"/>
    <topicref href="sqlJoin.dita"/>
    <topicref href="sqlFilter.dita"/>
    <!-- ... -->
  </topicset>
  <topicref href="jdbcPrepare.dita"/>
  <!-- ... -->
</topichead>
Attributes
Name Description Data Type Default Value Required?
navtitle Specifies the title of the topic as it will appear in the navigation or tables of contents that are generated from the map. Beginning with DITA 1.2, the preferred way to specify the navigation title in a map is with the navtitle element, available inside the topicmeta element. CDATA #IMPLIED No
href A pointer to the topicset represented by the <topicsetref>. CDATA #IMPLIED No
keys Introduces one or more global identifiers for a resource referenced from a map. See The keys attribute for details on how to use the keys attribute. NMTOKEN #IMPLIED No
query This attribute is deprecated. It may be removed in the future. CDATA #IMPLIED No
copy-to Use the copy-to attribute on the <topicref> element to provide a different file name for a particular instance of the topic in the map (for example, to separate out the different versions of the topic, rather than combining them on output). The links and navigation associated with that instance will point to a copy of the topic with the file name you specified.

Use the <linktext> and <shortdesc> in the <topicref>'s <topicmeta> to provide a unique name and short description for the new copy.

CDATA #IMPLIED No
collection-type Collection types describe how links relate to each other. The processing default is "unordered", although no default is specified in the DTD or Schema.
unordered
Indicates that the order of the child topics is not significant.
sequence
Indicates that the order of the child topics is significant; output processors will typically link between them in order.
choice
Indicates that one of the children should be selected.
family
Represents a tight grouping in which each of the referenced topics not only relates to the current topic but also relate to each other.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.

Usage of the collection-type attribute on <reltable> and <relcolspec> is currently undefined and reserved for future use.

(unordered | sequence | choice | family | -dita-use-​conref-​target) #IMPLIED No
processing-role Describes the processing role of the referenced topic. The processing default is "normal". If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
normal
Normal topic that is a readable part of the information.
resource-only
The topic is used as a resource for processing purposes, but is not a readable unit of information on its own. This topic should not be included in a rendered table of contents, and the topic should not be rendered on its own.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(normal | resource-only | -dita-use-​conref-​target) #IMPLIED No
type Describes the target of a reference. For the topicsetref element, this value defaults to "topicset". See The type attribute for detailed information on other supported values and processing implications. CDATA topicset No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
locktitle If locktitle is set to "yes", the <navtitle> element or @navtitle attribute is used if it is present. Otherwise, the navtitle is ignored and the navigation title is retrieved from the referenced file.

Note

The @navtitle attribute is deprecated in favor of the <navtitle> element. When both a <navtitle> element and a navtitle attribute are specified, the <navtitle> element should be used.
yes
The navtitle in the map is used.
no
The navtitle or title of the topic is used. This is the processing default.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
format The format attribute identifies the format of the resource being referenced. For the topicsetref element, this value defaults to "ditamap", because the element typically references a branch of a map. See The format attribute for details on other supported values. CDATA ditamap No
linking Defines some specific linking characteristics of a topic's current location in the map. If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
targetonly
A topic can only be linked to and cannot link to other topics.
sourceonly
A topic cannot be linked to but can link to other topics.
normal
A topic can be linked to and can link to other topics. Use this to override the linking value of a parent topic.
none
A topic cannot be linked to or link to other topics.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(targetonly | sourceonly | normal | none | -dita-use-​conref-​target) #IMPLIED No
toc Specifies whether a topic appears in the table of contents (TOC). If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor. (yes | no | -dita-use-​conref-​target) #IMPLIED No
print Specifies whether the topic should be included in a print-specific rendition, such as PDF. The processing default is "yes". If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
yes
Include the topic in the print-oriented file.
no
Do not include the topic in a print-oriented file.
printonly
Only include the topic when rendering the DITA content in a print-oriented context; the topic should not be included in other contexts, such as when rendering as HTML.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | printonly | -dita-use-​conref-​target) #IMPLIED No
search Describes whether the target is available for searching. If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
yes
no
-dita-use-​conref-​target
(yes | no | -dita-use-​conref-​target) #IMPLIED No
chunk When a set of topics is transformed using a map, the chunk attribute allows multi-topic documents to be broken into smaller files and multiple individual topics to be combined into larger combined documents.

For a detailed description of the chunk attribute and its usage, see Chunking in the DITA Architectural Specification.

CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.3: Metadata elements

Metadata elements include information that is located within the <topicmeta> element (in maps) or <prolog> element (in topics), as well as indexing elements that can be placed in additional locations within topic content.

3.3.1.3.1: Prolog (metadata) elements

The prolog elements represent the metadata associated with a document. Most of the metadata in a topic prolog can also be authored in a DITA map, in the map's <topicmeta> element.

The primary types of information that you can store in the prolog include:

  • author
  • copyright information
  • critical tracking dates
  • permissions for use/management of the content
  • key words and index terms related to the topic
  • extensive metadata about the content of the document
  • a resourceid that allows a topic to be associated with external resources such as linking to programming components as contextual help

3.3.1.3.1.1: prolog

The <prolog> element contains information about the topic as an whole (for example, author information or subject category) that is either entered by the author or maintained by a software application. Much of the metadata inside the <prolog> will not be displayed with the topic when the topic is rendered, but may be used by processes that generate search indexes or customize navigation.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, concept, ditabase, glossary, glossentry, glossgroup, reference, task, machineryTask ( (author) (any number) then (source) (optional) then (publisher) (optional) then (copyright) (any number) then (critdates) (optional) then (permissions) (optional) then (metadata) (any number) then (resourceid) (any number) then (data or data-about or foreign or unknown) (any number) )
learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( (author) (any number) then (source) (optional) then (publisher) (optional) then (copyright) (any number) then (critdates) (optional) then (permissions) (optional) then (metadata or lcLom) (any number) then (resourceid) (any number) then (data or data-about or foreign or unknown) (any number) )
Contained by
Doctype Content model
topic (base), topic (technical content) topic
concept topic, concept
ditabase topic, concept, task, reference, glossentry, glossgroup
glossary, glossentry topic, concept, glossentry
glossgroup topic, concept, glossentry, glossgroup
reference topic, reference
task (strict), task (general), machineryTask topic, task
learningAssessment topic, learningBase, learningAssessment
learningContent topic, learningBase, task, concept, reference, learningSummary, learningAssessment, learningContent
learningOverview topic, learningBase, learningOverview
learningPlan topic, learningBase, learningPlan
learningSummary topic, learningBase, learningSummary
Inheritance

- topic/prolog

<prolog>
  <metadata>
    <audience type="user" job="using" experiencelevel="novice"/>
  </metadata>
</prolog>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.2: audience

The <audience> metadata element indicates, through the value of its type attribute, the intended audience for a topic.

Since a topic can have multiple audiences, you can include multiple audience elements. For each audience you specify, you can identify the high-level task ( job ) they are trying to accomplish and the level of experience ( experiencelevel ) expected. The audience element may be used to provide a more detailed definition of values used throughout the map or topic on the audience attribute.

Many of the attributes on the <audience> element have enumerated values, which may be extended by using constaints or by using associated attributes. For instance, the @othertype attribute can be used to extend the audience type enumeration.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary metadata
map (base), map (technical content), classifyMap, subjectScheme, learningMap metadata, topicmeta
bookmap, learningBookmap metadata, topicmeta, bookmeta
Inheritance

- topic/audience

Example

For a command reference topic for experienced programmers, the following might be an appropriate indication of that audience:

<audience type="programmer" job="programming" experiencelevel="expert"/>
Attributes
Name Description Data Type Default Value Required?
type Indicates the kind of person for whom the content of the topic is intended. Note that this differs from the type attribute on many other DITA elements. Allowable values are:
user
A user of the product
purchaser
A product purchaser
administrator
A product administrator
programmer
A programmer
executive
An executive
services
Someone who provides services related to the product
other
Use the value specified by the othertype attribute
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(user | purchaser | administrator | programmer | executive | services | other | -dita-use-​conref-​target) #IMPLIED No
othertype Indicates an alternate audience type, when the type is not available in the type attribute value list. This value is used as the user-provided audience when the type attribute value is set to "other." CDATA #IMPLIED No
job Indicates the high-level task the audience for the topic is trying to accomplish. Different audiences may read the same topic in terms of different high-level tasks; for example, an administrator may read the topic while administering, while a programmer may read the same topic while customizing. Beginning with DITA 1.2, values in this attribute are not limited to a small number of choices; the following values were used in DITA 1.0 and DITA 1.1, and are still provided as sample values: installing, customizing, administering, programming, using, maintaining, troubleshooting, evaluating, planning, migrating, other, -dita-use-​conref-​target . NMTOKEN #IMPLIED No
otherjob If the job attribute value is "other" the value of this attribute is used to identify a kind of job other than the default ones provided by the job attribute. CDATA #IMPLIED No
experiencelevel Indicates the level of experience the audience is assumed to possess. Different audiences may have different experience levels with respect to the same topic; for example, a topic may require general knowledge from a programmer, but expert knowledge from a user. Beginning with DITA 1.2, values in this attribute are not limited to a small number of choices; the following values were used in DITA 1.0 and DITA 1.1, and are still provided as sample values:
novice
A first time user.
general
The most common user.
expert
An experienced user.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
NMTOKEN #IMPLIED No
name Used to associate the audience element with values used in the audience attribute CDATA #REQUIRED Yes
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.3: author

The <author> metadata element contains the name of the topic's author.

The author is usually the person, organization, or application that created the content. This element is equivalent to the Creator element in Dublin Core.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary prolog
map (base), map (technical content), classifyMap, subjectScheme, learningMap topicmeta
bookmap, learningBookmap topicmeta, bookmeta
Inheritance

- topic/author

Example
<prolog>
  <author type="creator">Jane</author>
  <author type="contributor">John</author>
</prolog>
Attributes
Name Description Data Type Default Value Required?
href Provides a reference to a resource. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. Note that this differs from the type attribute on many other DITA elements. Beginning with DITA 1.2, values in this attribute are not limited to a small number of choices; the following values were used in DITA 1.0 and DITA 1.1, and are also recognized for the author element (and its specializations):
creator
The primary or original author of the content.
contributor
An additional author who is not primary.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
NMTOKEN #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.4: brand

The <brand> element indicates the manufacturer or brand associated with the product described by the parent <prodinfo> element.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary prodinfo
Inheritance

- topic/brand

Example
<prodinfo>
 <prodname>Some Product</prodname>
 <vrmlist><vrm version="1"/></vrmlist>
 <brand>eServer</brand>
 <series>iSeries</series>
</prodinfo> 
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.5: category

The <category> element represents any category by which a topic might be classified for retrieval or navigation. For example, the categories could be used to group topics in a generated navigation bar. Topics can belong to multiple categories.

Such classifications are likely to come from an enumerated or hierarchical set.

This element is equivalent to both the Coverage element and the Subject element in Dublin Core.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary metadata
map (base), map (technical content), classifyMap, subjectScheme, learningMap metadata, topicmeta
bookmap, learningBookmap metadata, topicmeta, bookmeta
Inheritance

- topic/category

Example
 <prolog>
  <metadata>
   <category>Things that are blue</category>
  </metadata>
 </prolog>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.6: component

The <component> element describes the component of the product that this topic is concerned with. For example, a product might be made up of many components, each of which is installable separately. Components might also be shared by several products so that the same component is available for installation with many products. An implementation may (but need not) use this identification to check cross-component dependencies when some components are installed, but not others. An implementation may also (but need not) use the identification to make sure that topics are hidden, removed, or flagged in some way when the component they describe isn't installed.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary prodinfo
Inheritance

- topic/component

Example
<prodinfo>
 <prodname>BatCom</prodname>
 <vrmlist>
  <vrm version="v5r2"/>
 </vrmlist>
 <component>TCP/IP</component>
</prodinfo>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.7: copyright

The <copyright> element specifies legal ownership of the content.

The <copyright> element is used for a single copyright entry. It includes the copyright years and the copyright holder. Multiple <copyright> statements are allowed.

This element is equivalent to the Rights element in Dublin Core.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (copyryear) (one or more) then (copyrholder) )
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary prolog
map (base), map (technical content), bookmap, classifyMap, subjectScheme, learningBookmap, learningMap topicmeta
Inheritance

- topic/copyright

Example
<prolog>
 <copyright>
  <copyryear year="2001-04-12"></copyryear>
  <copyrholder>IBM</copyrholder>
 </copyright>
 <copyright type=secondary>
  <copyryear year="2002-03-03></copyryear>
  <copyrholder>Schweetones Publishing, Inc.</copyrholder>
 </copyright>
</prolog>
Attributes
Name Description Data Type Default Value Required?
type Indicates the legal status of the copyright holder. Note that this differs from the type attribute on many other DITA elements. Beginning with DITA 1.2, values in this attribute are not limited to a small number of choices; the following values were used in DITA 1.0 and DITA 1.1, and are still provided as sample values:
primary
The copyright holder with first claim on the copyright
secondary
An additional copyright holder who is not primary
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
NMTOKEN #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.8: copyrholder

The copyright holder (<copyrholder>) element names the entity that holds legal rights to the material contained in the topic.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary copyright
Inheritance

- topic/copyrholder

Example
<copyright>
  <copyryear year="2001"></copyryear>
  <copyrholder>IBM</copyrholder>
</copyright>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.9: copyryear

The <copyryear> element contains the copyright year as specified by the year attribute.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary copyright
Inheritance

- topic/copyryear

Example
<copyright>
  <copyryear year="2001"></copyryear>
  <copyrholder>IBM</copyrholder>
</copyright>
Attributes
Name Description Data Type Default Value Required?
year The year in YYYY format. CDATA #IMPLIED Yes
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.10: created

The <created> element specifies the document creation date using the date attribute.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary critdates
Inheritance

- topic/created

Example
<prolog>
 <critdates>
  <created date="2001-06-12"></created>
  <revised golive="2001-08-20"></revised>
 </critdates>
</prolog>
Attributes
Name Description Data Type Default Value Required?
date The document creation date. Enter the date as YYYY-MM-DD where YYYY is the year, MM is the month from 01 to 12, and DD is the day from 01-31. See A Summary of the International Standard Date and Time Notation for background. CDATA #IMPLIED Yes
golive The publication or general availability (GA) date, entered as YYYY-MM-DD, where YYYY is the year, MM is the month from 01 to 12, and DD is the day from 01-31. CDATA #IMPLIED No
expiry The date when the information should be retired or refreshed, entered as YYYY-MM-DD, where YYYY is the year, MM is the month from 01 to 12, and DD is the day from 01-31. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.11: critdates

The <critdates> element contains the critical dates in a document life cycle, such as the creation date and multiple revision dates.

This element is equivalent to the Date element in Dublin Core.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (created) (optional) then (revised) (any number) )
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary prolog
map (base), map (technical content), classifyMap, subjectScheme, learningMap topicmeta
bookmap, learningBookmap topicmeta, bookmeta
Inheritance

- topic/critdates

Example
<prolog>
  <critdates>
    <created date="2001-06-12"></created>
    <revised modified="2001-08-20"></revised>
  </critdates>
</prolog>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.12: featnum

The <featnum> element contains the feature number of a product in the metadata.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary prodinfo
Inheritance

- topic/featnum

Example
<prodinfo>
 <prodname>BatCom</prodname>
 <vrmlist>
  <vrm version="v5r2"/>
 </vrmlist>
 <featnum>135</featnum>
 <component>TCP/IP</component>
</prodinfo>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.13: keywords

The <keywords> element contains a list of terms from a controlled or uncontrolled subject vocabulary that applies to the topic or map. The keywords may be used by a search engine. The keywords are marked up using the <indexterm> and/or <keyword> elements.

All <keyword> and/or <indexterm> elements in the <keywords> element are considered part of the topic's metadata and should be reflected in the output as appropriate for the output medium.

Note

While the <keyword> element may be used inline, the <keywords> element is not an inline element. The <keywords> element only appears in the <topicmeta> or <prolog>, and is used to specify keywords that apply to the topic.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary (indexterm or keyword) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap (indexterm or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle) (any number)
machineryTask (indexterm or keyword or wintitle) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary metadata
map (base), map (technical content), classifyMap, subjectScheme, learningMap metadata, topicmeta
bookmap, learningBookmap metadata, topicmeta, bookmeta
Inheritance

- topic/keywords

Example

The following example is metadata from an installation task:

<prolog>
 <metadata>
  <keywords>
   <keyword>installing</keyword>
   <keyword>uninstalling</keyword>
   <keyword>prerequisites</keyword> 
   <keyword>helps</keyword>
   <keyword>wizards</keyword>
  </keywords>
 </metadata>
</prolog>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.14: metadata

The <metadata> section of the prolog contains information about a topic such as audience and product information. Metadata can be used by computational processes to select particular topics or to prepare search indexes or to customize navigation. Elements inside of <metadata> provide information about the content and subject of a topic; prolog elements outside of <metadata> provide lifecycle information for the content unit (such as the author or copyright), which are unrelated to the subject.
Beginning with DITA 1.2, the metadata element is available inside topicmeta in maps, although the contents of metadata are still available directly inside topicmeta. As with the prolog, the metadata element within topicmeta allows you to group elements that describe the content or subject of the target. The primary purpose for enabling the metadata element within maps is to allow easier reuse between topics and maps.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, concept, ditabase, glossary, glossentry, glossgroup, reference, task, subjectScheme, machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary ( (audience) (any number) then (category) (any number) then (keywords) (any number) then (prodinfo) (any number) then (othermeta) (any number) then (data or data-about or foreign or unknown) (any number) )
map, bookmap, classifyMap, learningBookmap, learningMap ( (audience) (any number) then (category) (any number) then (keywords or exportanchors) (any number) then (prodinfo) (any number) then (othermeta) (any number) then (data or data-about or foreign or unknown) (any number) )
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary prolog
map (base), map (technical content), classifyMap, subjectScheme, learningMap topicmeta
bookmap, learningBookmap topicmeta, bookmeta
Inheritance

- topic/metadata

Example

Metadata within a topic:

<prolog>
  <metadata>
    <audience type="user" job="using" experiencelevel="novice"/>
  </metadata>
</prolog>

Metadata within a map:

<topicref href="metadata.dita" navtitle="metadata element">
  <topicmeta>
    <metadata>
      <keywords>
        <indexterm>metadata element</indexterm>
      </keywords>
    </metadata>
  </topicmeta>
</prolog>
Attributes
Name Description Data Type Default Value Required?
mapkeyref Identifies the map, if any, from which the contained links are derived. This value is automatically generated by the same process that creates the links from the map, as a way to identify which map the links came from. If the <linklist> or <linkpool> is manually created by the author, there is no need to use this attribute. Note that this attribute is not related to the keyref attribute, and is not used for key based processing. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.15: othermeta

The <othermeta> element can be used to identify properties not otherwise included in <metadata> and to assign name/content values to those properties. The name attribute identifies the property and the content attribute specifies the property's value. All <othermeta> elements are considered part of the topic's metadata and should be reflected in the output as appropriate for the output medium.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary metadata
map (base), map (technical content), classifyMap, subjectScheme, learningMap metadata, topicmeta
bookmap, learningBookmap metadata, topicmeta, bookmeta
Inheritance

- topic/othermeta

Example
<othermeta name="ThreadWidthSystem" content="metric"/>
Attributes
Name Description Data Type Default Value Required?
name The name of the metadata property. CDATA #REQUIRED Yes
content The value for the property named in the name attribute. CDATA #REQUIRED Yes
translate-content Indicates whether the content attribute of the defined metadata property should be translated or not. yes | no | -dita-use-​conref-​target #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.16: permissions

The <permissions> prolog element specifies the level of entitlement needed to access the content.

The <permissions> element indicates any preferred controls for access to content. Topics can be filtered based on the permissions element. This capability depends on your output formatting process.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary prolog
map (base), map (technical content), classifyMap, subjectScheme, learningMap topicmeta
bookmap, learningBookmap topicmeta, bookmeta
Inheritance

- topic/permissions

Example
<prolog>
  <permissions view="entitled"/>
</prolog>
Attributes
Name Description Data Type Default Value Required?
view Defines the classifications of viewers allowed to view the document. Beginning with DITA 1.2, values in this attribute are not limited to a small number of choices; the following values were used in DITA 1.0 and DITA 1.1, and are still provided as sample values:
internal
For internal use only.
classified
For a certain group, only.
all
The world.
entitled
Special folks, only.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(internal | classified | all | entitled | -dita-use-​conref-​target) #IMPLIED Yes
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.17: platform

The <platform> metadata element contains a description of the operating system and/or hardware related to the product being described by the <prodinfo> element. The platform element may be used to provide a more detailed definition of values used throughout the map or topic on the platform attribute.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary prodinfo
Inheritance

- topic/platform

Example
See prodinfo.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.18: prodinfo

The <prodinfo> metadata element contains information about the product or products that are the subject matter of the current topic. The prodinfo element may be used to provide a more detailed definition of values used throughout the map or topic on the product attribute.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( (prodname) then (vrmlist) then (brand or component or featnum or platform or prognum or series) (any number) )
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary metadata
map (base), map (technical content), classifyMap, subjectScheme, learningMap metadata, topicmeta
bookmap, learningBookmap metadata, topicmeta, bookmeta
Inheritance

- topic/prodinfo

Example
<prolog>
 <metadata>
  <prodinfo>
   <prodname>Transcription Assistant</prodname>
   <vrmlist><vrm version="1" release="3" modification="1"/></vrmlist>
   <platform>Linux</platform>
   <prognum>SN-12345T</prognum>
  </prodinfo>
 </metadata>
</prolog>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.19: prodname

The <prodname> metadata element contains the name of the product that is supported by the information in this topic.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary prodinfo
Inheritance

- topic/prodname

Example
See prodinfo
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.20: prognum

The <prognum> metadata element identifies the program number of the associated product. This is typically an order number or a product tracking code that could be replaced by an order number when a product completes development.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary prodinfo
Inheritance

- topic/prognum

Example
See prodinfo.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.21: publisher

The <publisher> metadata element contains the name of the person, company, or organization responsible for making the content or subject of the topic available.

This element is equivalent to the Publisher element in Dublin Core.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary prolog
map (base), map (technical content), bookmap, classifyMap, subjectScheme, learningBookmap, learningMap topicmeta
Inheritance

- topic/publisher

Example
<prolog>
  <author>Ivan</author>
  <publisher>AJ Printing Inc.</publisher>
</prolog>
Attributes
Name Description Data Type Default Value Required?
href Provides a reference to a resource. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.22: resourceid

The <resourceid> element provides an identifier for applications that require them in a particular format, when the normal id attribute of the topic cannot be used.

Each resourceid entry should be unique. While DITA only requires IDs to be unique within a single topic or map, applications using the resourceid will generally require IDs to be universally unique or unique within a given collection of topics.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary prolog
map (base), map (technical content), classifyMap, subjectScheme, learningMap topicmeta
bookmap, learningBookmap topicmeta, bookmeta
Inheritance

- topic/resourceid

Example
<prolog>
  <resourceid id="sqlid00375" appname="dbaccess"/>
</prolog>
Attributes
Name Description Data Type Default Value Required?
id The value used by a specific application to identify the topic. CDATA #REQUIRED Yes
conref This attribute is used to reference an ID on content that can be reused. See The conref attribute for examples and details about the syntax. CDATA #IMPLIED No
appname Contains the name of the application that will use the resource id to identify the topic. CDATA #IMPLIED No
select-atts attribute group (props, base, platform, product, audience, otherprops, importance, rev, status) A set of related attributes, described in select-atts attribute group
localization-atts attribute group (translate, xml:lang, dir) A set of related attributes, described in localization-atts attribute group.
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.23: revised

The <revised> element in the prolog is used to maintain tracking dates that are important in a topic development cycle, such as the last modification date, the original availability date, and the expiration date.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary critdates
Inheritance

- topic/revised

Example
<prolog>
  <critdates>
    <created date="1999-01-01" golive="1999-02-15" expiry="9999-09-09"/>
    <revised modified="2003-03-03" golive="2002-02-03" expiry="9999-09-09"/>
 </critdates>
</prolog>
Attributes
Name Description Data Type Default Value Required?
modified The last modification date, entered as YYYY-MM-DD, where YYYY is the year, MM is the month from 01 to 12, and DD is the day from 01-31. CDATA #REQUIRED Yes
golive The publication or general availability (GA) date, entered as YYYY-MM-DD, where YYYY is the year, MM is the month from 01 to 12, and DD is the day from 01-31. CDATA #IMPLIED No
expiry The date when the information should be retired or refreshed, entered as YYYY-MM-DD, where YYYY is the year, MM is the month from 01 to 12, and DD is the day from 01-31. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.24: series

The <series> metadata element contains information about the product series that the topic supports.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary prodinfo
Inheritance

- topic/series

Example
<prodinfo>
 <prodname>BatCom</prodname>
 <vrmlist><vrm version="5"/></vrmlist>
 <series>tSeries</series>
 <prognum>5412-SS1</prognum>
 <featnum>135</featnum>
 <component>TCP/IP</component>
</prodinfo>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.25: source

The <source> element identifies a resource from which the present topic is derived, either completely or in part.

The <source> element contains a description of the resource. Alternatively, the href attribute is used to reference a description of the resource. It is implementation-dependent what it means when the element has both content and an href attribute value.

This element is equivalent to the Source element in Dublin Core.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term or ph or b or i or sup or sub or tt or u) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or ph or b or i or sup or sub or tt or u or menucascade or uicontrol) (any number)
Contained by
Doctype Content model
topic (base), topic (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), machineryTask, learningAssessment, learningContent, learningOverview, learningPlan, learningSummary prolog
map (base), map (technical content), classifyMap, subjectScheme, learningMap topicmeta
bookmap, learningBookmap topicmeta, bookmeta
Inheritance

- topic/source

Example
<prolog>
 <source>Somewhere, someplace</source>
</prolog>
Attributes
Name Description Data Type Default Value Required?
href Provides a reference to a resource from which the present resource is derived. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.26: vrmlist

The <vrmlist> element contains a set of <vrm> elements for logging the version, release, and modification information for multiple products or versions of products to which the topic applies.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary (vrm) (one or more)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary prodinfo
Inheritance

- topic/vrmlist

Example

The recent versions of a hypothetical product might be logged thus using the vrmlist markup:

<prolog>
 <metadata>
  <prodinfo>
   <prodname>Widge-o-matic</prodname>
   <vrmlist>
     <vrm version="1" release="2" modification="0"/>
     <vrm version="1" release="2" modification="1"/>
   </vrmlist>
  </prodinfo>
 </metadata>
</prolog>

This indicates that the topic covers Version 1, release 2, modification levels 0 and 1 (often expressed as version 1.2.0 and 1.2.1).

Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.1.27: vrm

The vrm element contains information about a single product's version, modification, and release, to which the current topic applies.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary vrmlist
Inheritance

- topic/vrm

Example

The recent versions of a hypothetical product might be logged thus using the vrmlist markup:

<prolog>
 <metadata>
  <prodinfo>
   <prodname>Widge-o-matic</prodname>
   <vrmlist>
     <vrm version="1" release="2" modification="0"/>
     <vrm version="1" release="2" modification="1"/>
   </vrmlist>
  </prodinfo>
 </metadata>
</prolog>

This indicates that the topic covers Version 1, release 2, modification levels 0 and 1 (often expressed as version 1.2.0 and 1.2.1).

Attributes
Name Description Data Type Default Value Required?
version Indicates the released version number of the product(s) that the document describes. CDATA #IMPLIED Yes
release Contains the product release identifier. CDATA #IMPLIED No
modification Indicates the modification level of the current version and release. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.2: Indexing group elements

The indexing domain provides several new elements for use with indexing. The new elements allow authors to define "See" and "See also" references, and to override the default sort order for a term.
Indexing domain elements typically work with the indexterm and index-base elements; index-base is grouped with elements that are typically useful only in specialization contexts, and can be found using the link below.

3.3.1.3.2.1: indexterm

The content of an <indexterm> element is used to produce an index entry in the generated index. You can nest indexterm elements to create multi-level indexes. The content is not output as part of the topic content, only as part of the index.

An <indexterm> element (with no start or end attribute specified) is interpreted as a point reference that will contribute the number of the current page to an index entry whose contents is the content of the indexterm. All indexterms with the same content are "merged" to form a single index entry in the resulting index, and all contributed page numbers are included in that index entry.

In the case of nested indexterms, the indexterms with no indexterm children (i.e., the "leaves") each contribute a page number to the generated index; the ancestral indexterm elements for each leaf indexterm provide the higher levels for the multilevel entry.

An indexterm that occurs in a topic prolog is interpreted as a point reference to the title of the topic. Likewise, an indexterm that occurs in <topicmeta> inside of a <topicref> is interpreted as a point reference to the title of the referenced topic.

It is an error if an indexterm containing no indexterm children contains both an index-see and an index-see-also. (Note: index-see and index-see-also elements within indexterms that do contain indexterm children are ignored.) In the case of this error condition, an implementation may (but need not) give an error message, and may (but need not) recover by treating all such index-see elements as index-see-also elements.

Note

The index-see and index-see-also elements are domain specializations of the <index-base> element, and are discussed in detail with the indexing domain.

The start and end attribute on indexterm can be used in cases where one wants to index an extended discussion that may continue over a number of pages. The start of a range is indicated by an indexterm with a start attribute. The end of a range is indicated with an indexterm with an end attribute whose value matches that of the start attribute on the start-of-range indexterm. Such markup contributes to the generated index a page range covering all pages in the index range.

The end-of-range indexterm should have no content of its own; if it contains content, that content is ignored. There is no reason for the end-of-range indexterm to have any indexterm ancestors; however, an implementation should be able to handle an end-of-range indexterm that is nested within one or more indexterms.

The start and end attributes are defined as CDATA, though it is recommended that the values should not contain any whitespace characters (e.g., space or tab) or control characters. Matching of start and end attributes is done as a character-by-character comparison with all characters significant and no case folding occurring. The start and end attributes are ignored if they occur on an indexterm element that has child indexterm elements.

Index range indications may occur in the topicmeta of a topicref at the map level, in the prolog of a topic, or in the body of a topic, and are interpreted as follows (see Index ranges for samples):

  • In a map, the start range points to the start of the topic title of the topic being referenced by its containing topicref. The end range points to the end of the final child contained by the topic being referenced by its containing topicref, or to the end of the final topic referenced by the current map (whichever comes first). When a start and end range occur in the same topicmeta, the range applies to the containing topicref and its children.
  • In the prolog of a topic, the start range points to the start of the containing topic's title. The range ends with a matching index range end in the same prolog, regardless of whether the end range is specified. The range applies to the containing topic and all its children including child relationships defined in a map.
  • In the body of a topic, the range starts where the start indexterm occurs and ends at the matching index range end indication within the same body, or at the end of the body, whichever comes first. Such an index range does not span sub-topics of the topic.

When index ranges with the same identifier overlap, the widest range applies, and end ranges are matched with start ranges by last-in-first-out. In other words, the ranges are interpreted as nested rather than overlapping with the highest-level container taking precedence over narrower contained ranges.

As defined above, there is no such thing as an index range start that isn't terminated by either a matching end or some maximum scope. There can, however, be unmatched index range end indications; these should be ignored.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term or indexterm or index-base or index-see or index-see-also or index-sort-as) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or indexterm or index-base or index-see or index-see-also or index-sort-as) (any number)
subjectScheme ( text data or data or data-about or foreign or unknown or keyword or term or indexterm or index-base) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or indexterm or index-base or index-see or index-see-also or index-sort-as) (any number)
Contained by
Doctype Content model
topic (base) p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, index-see, index-see-also
map (base), classifyMap, learningMap p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, index-see, index-see-also
topic (technical content), concept p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, index-see, index-see-also, screen, codeblock, pd
map (technical content) p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, index-see, index-see-also, screen, codeblock, pd
ditabase p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, glossdef, glossUsage, glossScopeNote, index-see, index-see-also, screen, codeblock, pd
glossary, glossentry, glossgroup p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, glossdef, glossUsage, glossScopeNote, index-see, index-see-also, screen, codeblock, pd
reference p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, index-see, index-see-also, screen, codeblock, pd
task (strict), task (general) p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, index-see, index-see-also, screen, codeblock, pd
bookmap p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, index-see, index-see-also, organizationname, screen, codeblock, pd
subjectScheme p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords
machineryTask p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, index-see, index-see-also, screen
learningAssessment, learningOverview, learningSummary p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, index-see, index-see-also, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, index-see, index-see-also, organizationname
learningContent p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, index-see, index-see-also, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, indexterm, index-base, entry, keywords, abstract, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, index-see, index-see-also, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

- topic/indexterm

Example
Single point index terms
  • The following index term is a point reference to a specific paragraph within a topic:
    <p><indexterm>databases</indexterm>Databases are used to ...</p>
  • The following index term is a point reference to the start of the title of the concept:
    <concept id="db">
      <title>About databases</title>
      <prolog>
        <metadata>
          <keywords><indexterm>databases</indexterm></keywords>
        </metadata>
      </prolog>
      <body><!-- content... --></body>
    </concept>
  • The following index term is a point reference to the start of the title of aboutdatabases.dita:
    <topicref href="aboutdatabases.dita">
      <topicmeta>
        <keywords><indexterm>databases</indexterm></keywords>
      </topicmeta>
      <!-- other topicref elements -->
    </topicref>
Nested index terms

The following sample represents three levels of index markup:

<indexterm>cheese
  <indexterm>sheeps milk
    <indexterm>pecorino</indexterm>
  </indexterm>
  <indexterm>goats milk
    <indexterm>chevre</indexterm>
  </indexterm>
</indexterm>

The previous sample is equivalent to the following sample:

<indexterm>cheese
  <indexterm>sheeps milk
    <indexterm>pecorino</indexterm>
  </indexterm>
</indexterm>
<indexterm>cheese
  <indexterm>goats milk
    <indexterm>chevre</indexterm>
  </indexterm>
</indexterm>

In each case, a generated index would include something like the this:

  • cheese
    • goats milk
      • chevre 14
    • sheeps milk
      • pecorino 14

Index ranges

A simple index range will look something like this:

<indexterm start="cheese">Cheese</indexterm>
<!-- ... additional content -->
<indexterm end="cheese"/>

The previous combination of terms will generate a top-level index term for "Cheese" that covers a series of pages, such as:

  • Cheese 18-24

Specifying a range for nested terms is similar. In this sample, the range is specified for the tertiary index entry "pecorino":

<indexterm>cheese
  <indexterm>sheeps milk
    <indexterm start="level-3-pecorino">pecorino</indexterm>
  </indexterm>
</indexterm>
 <!-- ... additional content ... -->
<indexterm end="level-3-pecorino"/>

The generated index for that range would look something like this:

  • cheese
    • sheeps milk
      • pecorino 18-24

There are three locations that may declare a range - the body of a topic, the prolog of a topic, and a map.

  • In the following example, the range begins at the start of the second paragraph, and continues to the last paragraph. If the matching end range was not included, the range would end at the end of the body element.
    <topic id="accounting">
      <title>Accounting regulations</title>
      <body>
        <p>Be ethical in your accounting.</p>
        <p><indexterm start="acctrules">Rules</indexterm>Remember to do all of the following: ...</p>
        <!-- ...pages worth of rules... -->
        <p><indexterm end="acctrules"/>Failure to comply will get you audited.</p>
      </body>
      <!-- Potential sub-topics -->
    </topic>
  • In the following example, the range begins with the start of the topic's title, and covers the entire topic and any sub-topics. The range ends within the same prolog, regardless of whether <indexterm end="acct"/> is specified in the prolog.
    <topic id="accounting">
      <title>Accounting rugulations</title>
      <prolog>
        <metadata>
          <keywords><indexterm start="acct">Accounting</indexterm></keywords>
        </metadata>
      </prolog>
      <!-- Body and sub-topics -->
    </topic>
  • Now assume that the topic in the previous sample is named acct.dita. Ranges defined in a prolog cover sub-topics, including those nested based on a map; in the following example, this means that the range covers all of acct.dita, as well as procedures.dita and forms.dita:
    <topicref href="acct.dita">
      <topicref href="procedures.dita"/>
      <topicref href="forms.dita"/>
    </topicref>
  • In the final example, the range is specified in a map. The index range for "Accounting" begins with the start of the first topic title in acct.dita, and covers that file as well as any sub-topics. The index range for "Government forms" begins with the start of the first topic title in acct.dita, and continues until the end of the last element in the file taxfiling.dita. If the end range for "govt" was not specified, the range would continue to the end of the map.
    <topicref href="acct.dita">
      <topicmeta>
        <keywords>
          <indexterm start="acct">Accounting</indexterm>
          <indexterm end="acct"/>
          <indexterm start="govt">Government forms</indexterm>
        </keywords>
      </topicmeta>
      <!-- Nested topicref elements -->
    </topicref>
    <topicref href="taxfiling.dita">
      <topicmeta>
        <keywords>
          <indexterm end="govt"/>
        </keywords>
      </topicmeta>
    </topicref>
Attributes
Name Description Data Type Default Value Required?
start Specifies that an index entry is positioned at the beginning of a range. See the description of <indexterm> for more information. CDATA #IMPLIED No
end Specifies that an index entry is positioned at the end of a range; value matches the start attribute on another indexterm. See the description of <indexterm> for more information. CDATA #IMPLIED No
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.2.2: indextermref

This element is not completely defined; it is reserved for future use.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary no content
Contained by
Doctype Content model
topic (base) p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example
map (base), classifyMap, subjectScheme, learningMap p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry
topic (technical content), concept p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, screen, codeblock, pd
map (technical content) p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, screen, codeblock, pd
ditabase p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, glossdef, glossUsage, glossScopeNote, screen, codeblock, pd
glossary, glossentry, glossgroup p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, glossdef, glossUsage, glossScopeNote, screen, codeblock, pd
reference p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, screen, codeblock, pd
task (strict), task (general) p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, screen, codeblock, pd
bookmap p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, organizationname, screen, codeblock, pd
machineryTask p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, screen
learningAssessment, learningOverview, learningSummary p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, organizationname
learningContent p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan p, note, lq, sli, li, itemgroup, dd, pre, lines, ph, stentry, entry, abstract, bodydiv, section, sectiondiv, example, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

- topic/indextermref

Example

Examples will be added when this element is fully defined.

Attributes
Name Description Data Type Default Value Required?
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.2.3: index-see

An <index-see> element within an <indexterm> redirects the reader to another index entry that the reader should reference instead of the current one.

The <index-see> and <index-see-also> elements allow a form of redirection to another index entry within the generated index. The <index-see> element refers to an index entry that the reader should use instead of the current one, whereas the <index-see-also> element refers to an index entry that the reader should use in addition to the current one.

The <index-see> and <index-see-also> elements are ignored if their parent indexterm element contains any indexterm children.

Because an index-see indicates a redirection to use instead of the current entry, it is an error if, for any index-see, there is also an index-see-also or an indexterm for the same index entry (i.e., with an identical sort key). An implementation may (but need not) give an error message, and may (but need not) recover from this error condition by treating the index-see as an index-see-also.

It is not an error for there to be multiple index-see elements for a single index entry.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term or indexterm) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or indexterm) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or indexterm) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary indexterm
Inheritance

+ topic/index-base indexing-d/index-see

The following example illustrates the use of an <index-see> redirection element within an <indexterm>:

<indexterm>Carassius auratus
   <index-see>Goldfish</index-see>
</indexterm>

This will typically generate an index entry without a page reference:

  • Carassius auratus, see Goldfish

The following example illustrates the use of an <index-see> redirection element to a more complex (multilevel) <indexterm>:

<indexterm>Feeding goldfish
   <index-see>Goldfish <indexterm>feeding</indexterm></index-see>
</indexterm>

This is part of the indexing markup that might generate index entries such as:

  • Feeding goldfish
    • see Goldfish feeding
  • Goldfish
    • feeding, 56
    • flushing, 128, 345
Attributes
Name Description Data Type Default Value Required?
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.2.4: index-see-also

An <index-see-also> element within an <indexterm> redirects the reader to another index entry that the reader should reference in addition to the current one.

The <index-see> and <index-see-also> elements allow a form of redirection to another index entry within the generated index. The <index-see> element refers to an index entry that the reader should use instead of the current one, whereas the <index-see-also> element refers to an index entry that the reader should use in addition to the current one.

The <index-see> and <index-see-also> elements are ignored if their parent indexterm element contains any indexterm children.

In addition to its "see also" redirection, an index-see-also functions as a pointwise indexterm, thereby typically generating a page reference as well as the "see also" indication.

It is not an error for there to be multiple index-see-also elements for a single index entry.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term or indexterm) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or indexterm) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or indexterm) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary indexterm
Inheritance

+ topic/index-base indexing-d/index-see-also

The following example illustrates the use of an <index-see-also> redirection element within an <indexterm>:

<indexterm>Carp
   <index-see-also>Goldfish</index-see-also>
</indexterm>

This will typically generate a page reference to "Carp" and a redirection:

  • Carp, 56
    • see also Goldfish

The following example illustrates the use of an <index-see-also> redirection element to a more complex (multilevel) <indexterm>:

<indexterm>Feeding
   <index-see-also>Goldfish <indexterm>feeding</indexterm></index-see-also>
</indexterm>

This is part of the indexing markup that might generate index entries such as:

  • Feeding, 348
    • see also Goldfish feeding
  • Goldfish
    • feeding, 56
    • flushing, 128, 345
Attributes
Name Description Data Type Default Value Required?
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.2.5: index-sort-as

The <index-sort-as> element specifies a sort phrase under which an index entry would be sorted.

This element gives an author the flexibility to sort an index entry in an index differently from how its text normally would be sorted. The common use for this is to disregard insignificant leading text, such as punctuation or words like "the" or "a". For example, the author may want <data> to be sorted under the letter D rather than the left angle bracket (<). An author may want to include such an entry under both the punctuation heading and the letter D, in which case there can be two index entry directives differentiated only by the sort order.

Certain languages may have special sort order needs. For example, Japanese index entries might be written partially or wholly in kanji, but need to be sorted in phonetic order according to its hiragana/katakana rendition. There is no reliable automated way to map written to phonetic text: for kanji text, there can be multiple phonetic possibilities depending on the context. The only way to correctly sort Japanese index entries is to keep the phonetic counterparts with the written forms. The phonetic text would be presented as the sort order text for indexing purposes.

The <index-sort-as> element's content is logically augmented by the textual content of its parent <indexterm> element to produce the effective sort key (i.e., the textual content acts as a secondary sort field), so two indexterms with different content but the same <index-sort-as> value would never merge into a single index entry.

An <index-sort-as> element provides sort key information for the indexterm that is its parent; therefore, in a multiple level indexterm, the index-sort-as only affects the level in which it occurs.

It is an error if there is more than one index-sort-as child for a given indexterm. An implementation may (but need not) give an error message, and may (but need not) recover from this error condition by ignoring all but the last index-sort-as.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or data or data-about or foreign or unknown or keyword or term) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, machineryTask, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary indexterm
Inheritance

+ topic/index-base indexing-d/index-sort-as

This is an example of an index entry for <data> that will be sorted as "data":

<indexterm>&lt;data&gt;<index-sort-as>data</index-sort-as></indexterm>
Attributes
Name Description Data Type Default Value Required?
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.3: Delayed conref resolution elements

The delayed conref resolution domain provides several elements for use when using DITA in situations that enable delayed or run time resolution of conref. The elements allow users to resolve some conref values statically, while delaying others for later resolution.

Many publishing systems for which DITA is used as a source format do not have a way to dynamically resolve content references; those systems will not see any benefit from this element. When DITA is used for those systems, behaviors related to this element should be ignored.

3.3.1.3.3.1: exportanchors

The <exportanchors> element is used to delay conref resolution within DITA documents. This allows you to process or display DITA content in a way that will resolve only some of the conref values in that content, while remaining values are left for later resolution. The element contains a list of IDs or keys that should not be resolved during the initial preparation of the content for display; those IDs and keys will be preserved after that preparation, as will the conref relationship itself.

The exportanchors element may be used within a topic prolog, in which case the defined IDs apply to IDs within that topic (excluding sub-topics). Alternatively it may be defined in the topicmeta in a map. In the second case the IDs apply to the single topic referenced by the current topicref element. If the topicref points to a file without referencing a specific topic, it is treated as a reference to the first or root topic. In order to define anchor ids for a topic that is not the first or root topic, a topicref must directly reference the desired sub-topic.

Note

When an element's ID is defined for delayed resolution, it must contain only the element ID, not the usual "topicid/elementid" syntax that is required for most other DITA references. The <anchorid> topic explains the format in detail.

One possible way to use this is with a system that renders DITA dynamically. A user may process information locally in a way that resolves conref for all static information, while delaying resolution for information that is subject to change. The exportanchors element is used to define conref values that are delayed.

Another potential use is when DITA is used as the source format for a publishing system that is able to render information dynamically. In this case some conref values may be resolved, while leaving pre-selected values to be resolved live in that publishing system.

Many publishing systems for which DITA is used as a source format do not have a way to dynamically resolve content references; those systems will not see any benefit from this element. When DITA is used for those systems, behaviors related to this element should be ignored.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, bookmap, classifyMap, learningBookmap, learningMap (anchorid or anchorkey) (any number)
Contained by
Doctype Content model
map (base), map (technical content), classifyMap, learningMap metadata, topicmeta
bookmap, learningBookmap metadata, topicmeta, bookmeta
Inheritance

+ topic/keywords delay-d/exportanchors

Example
Use case 1: Runtime resolution of conref to an id, determined by original author
  1. Author 1 creates topics for information component A, which is a common component used by many products. The configuration task for component A is often reused in whole or in part, so the author assigns ids to each of the steps in the procedure and exports them.
    <task id="configA">
      <title>ABC<title>
      <shortdesc>...</shortdesc>
      <prolog><metadata>
        <exportanchors>
          <anchorid id="step1"/>
          <anchorid id="step2"/>
          <anchorid id="step3"/>
        </exportanchors>
      </metadata></prolog>
      <taskbody>
        <steps>
          <step id="step1"><cmd>Do this</cmd></step>
          <step id="step2"><cmd>Do the other</cmd></step>
          <step id="step3"><cmd>And then finish</cmd></step>
        </steps>
      </taskbody>
    </task>
  2. Author 2 is working on information component B, which has information component A as a prerequisite.
  3. Author 2 creates a configuration task that reuses two steps from the configuration task in information component A.
    <task id="configB">
      <title>..</title>
      <shortdesc>..</shortdesc>
      <taskbody>
        <steps>
          <step><cmd>Do the very first thing</cmd></step>
          <step conref="componentA/configA.dita#configA/step1"><cmd/></step>
          <step><cmd>Do the middle thing</cmd></step>
          <step conref="componentA/configA.dita#configA/step2"><cmd/></step>
        </steps>
      </taskbody>
    </task>
  4. Author 2 builds the content for component B into a deliverable format that supports dynamic content resolution. As with traditional conref, the source for component A must be available during this process. Because the ids in configA are exported, the build process knows to preserve the reuse relationship rather than resolve it - so the conref to the steps becomes an equivalent reuse artifact in that deliverable format. This way the relationship to component A can be resolved at runtime, and pick up the user's version of component A, which may be more up-to-date than the one used by Author 2 when component B was built.
Use case 2: Runtime resolution to an id exported by the information builder
  1. Author 1 is creating content that will be packaged into multiple deliverable components. In one of those components, component A, the ids should be exported for runtime reuse by other components. In other components, the ids should not be exported because all reuse is local (for example, the output is a single infocenter, or a helpset that has only one component).
  2. When author 1 builds component A, the author uses a map that exports the ids, rather than exporting the ids from the topic prolog.
    <map>
      <topicref href="componentA/configA.dita">
        <topicmeta>
          <exportanchors>
            <anchorid id="step1"/>
            <anchorid id="step2"/>
            <anchorid id="step3"/>
          </exportanchors>
        </topicmeta>
      </topicref>
    </map>
  3. The rest of the use case is the same as previous - the conref is passed on to the runtime/display format to deal with, rather than being resolved during native DITA processing.
Delaying resolution for a topic

The ID on an <anchorid> element is first compared with the topic's id, and then with elements inside that topic. This results in the following situation.

<map>
  <topicref href="componentA/this.dita">
    <topicmeta>
      <exportanchors>
        <anchorid id="this"/>
        <anchorid id="that"/>
      </exportanchors>
    </topicmeta>
  </topicref>
</map>

<topic id="this">
  <title>This and that</title>
  <shortdesc>Oh, you know, this and that.</shortdesc>
  <body>
    <fig id="that"><p>more of that</p></fig>
  </body>
</topic>
  • The first ID to be exported is "this", which matches the topic id, so resolution of conref values that target the topic should be delayed.
  • The second value is "that", which matches a figure within the topic, so resolution of conref values that target the figure should be delayed.
  • Note that if the "this" is also used within the topic (which is legal from a DITA perspective), it will not be possible to export that id, because processors will match on the topic's id first.
Example

In this example, a set of information contains multiple components. Some references to component A use keys rather than a direct reference, so that conref can be redirected to a different component when component A is not installed. The keys may be exported, in addition to the IDs, so that some references become bound to the actual component while other references may be redirected.

<map>
  <topicref keys="componentAconfig commonconfig" 
            href="componentA/configA.dita#configA">
    <topicmeta>
      <exportanchors>
        <anchorkey keyref="commonconfig"/>
        <anchorid id="step1"/>
        <anchorid id="step2"/>
      </exportanchors>
    </topicmeta>
  </topicref>
</map>

The keys attributes declares two distinct keys that may be used to refer to this topic (componentAconfig and commonconfig). Only the second is preserved using anchorkey. A task topic from another component may reuse steps within this topic in a variety of ways.

<steps>
  <step conkeyref="componentAconfig/step1"><cmd/></step>
  <step conkeyref="componentAconfig/step1.5"><cmd/></step>
  <step conkeyref="commonconfig/step2"><cmd/></step>
  <step conkeyref="commonconfig/step2.5"><cmd/></step>
  <step><cmd>And that is the end of that</cmd>
</steps>
  • The componentAconfig key is not preserved, so the first step becomes <step conref="componentA/configA.dita#configA/step1"><cmd/></step>. At that point the anchorid element instructs the step1 ID to be preserved; for runtime applications which support it, this relationship will be preserved in the processed DITA output.
  • The second step with the same key becomes <step conref="componentA/configA.dita#configA/step1.5"><cmd/></step>. However, conref relationships to step1.5 are not preserved, so this conref should be resolved into static content.
  • For step three, the map instructs that both the key commonconfig and the ID step2 should be preserved in any content generated for this DITA topic. For formats that support runtime resolution through keys, a process must convert the conkeyref value into an equivalent value for that format.
  • Although resolution for the key used in step four is delayed, the specific element that is referenced should not be delayed. Thus the fourth step becomes <step conref="componentA/configA.dita#configA/step2.5"><cmd/></step>. This value is then processed as an ordinary conref value.

This allows the information assembler to resolve references that must be to componentA while deferring references that can be fulfilled by alternative component content.

Note

This example demonstrates why the anchorid element cannot reference an element with the usual topicid/elementid format. If the two anchorid elements in the example had been set to config/step1 and config/step2, then they would only ever apply in a topic with id="config". It would not be possible to redirect the key to another topic, but still preserve conref behaviors as desired.

Note

Although it is not specifically called out in this example, it is possible to delay conref resolution for an entire topic using the key. If conkeyref on a task topic element is set to "componentAconfig", which is not delayed, the conref will be evaluated as usual. However, if conkeyref on the task is set to "commonconfig", which is delayed, resolution of conref on that element should be delayed by a processor.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

3.3.1.3.3.2: anchorid

The <anchorid> element allows an author to define a conref target that will be resolved dynamically when rendered for an end user of the content. This element is useful when doing an initial process of the DITA content prior to final rendering of the content; it causes specified IDs to be preserved after that process, and conref relationships that reuse the element will not be resolved during the initial process.

When the anchorid element is defined within a topic prolog, the specified IDs will be found within that topic. When an anchorid element is defined within a topicref element, the specified IDs will be found within the referenced topic (if the topicref points to a collection of topics, such as a reference that uses only a file name, the IDs will be found within the first or root topic).

The only difference between specifying an anchorid in the prolog and in topicmeta is that from the map it is possible to export the ID of the entire referenced topic. If <anchorid id="zero"/> is specified in the topicmeta, and the referenced topic has an id of "zero", this means that the anchorid is a reference to the entire topic. If the topic id is not "zero", then the anchorid is a reference to the element with id="zero" within that topic.

Along with the preservation of the element's ID, any conref attribute that references the element's ID will not be resolved during an initial process. In that case, the conref will be resolved during a later rendering process.

This description does not imply that IDs are not discarded when anchorid is not used; though this element requires that IDs be preserved in some manner, it is also common for IDs to be preserved when anchorid is not used. Thus the primary impact of the anchorid element is on conref resolution.

Many publishing systems for which DITA is used as a source format do not have a way to dynamically resolve content references; those systems will not see any benefit from this element. When DITA is used for those systems, behaviors related to this element should be ignored.

Why not use topicid/elementid?

This element differs from normal DITA referencing syntax in that it may reference an element within a topic without using the topic's ID. There are two reasons for this. First, the anchorid element may only be defined in a situation that refers unambiguously to a single topic (in the prolog, or in the topicmeta for a reference to a topic). Second, it allows the anchorid to be combined with keyref values.

It is possible to combine an anchor id with a key in order to delay resolution of conref in the topic represented by that key (see the second set of examples below). This would not be possible if the anchorid element required both the topic id and the element id. That is, keyref allows a modifiable reference to a topic, so a map may instruct processors to delay conref for item step1 in the topic represented by the key "commonconfig". If the anchorid element required a topic id, the delayed conref would always be bound to that specific topic.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, bookmap, classifyMap, learningBookmap, learningMap no content
Contained by
Doctype Content model
map (base), map (technical content), bookmap, classifyMap, learningBookmap, learningMap exportanchors
Inheritance

+ topic/keyword delay-d/anchorid

Example
Use case 1: Runtime resolution of conref to an id, determined by original author
  1. Author 1 creates topics for information component A, which is a common component used by many products. The configuration task for component A is often reused in whole or in part, so the author assigns ids to each of the steps in the procedure and exports them.
    <task id="configA">
      <title>ABC<title>
      <shortdesc>...</shortdesc>
      <prolog><metadata>
        <exportanchors>
          <anchorid id="step1"/>
          <anchorid id="step2"/>
          <anchorid id="step3"/>
        </exportanchors>
      </metadata></prolog>
      <taskbody>
        <steps>
          <step id="step1"><cmd>Do this</cmd></step>
          <step id="step2"><cmd>Do the other</cmd></step>
          <step id="step3"><cmd>And then finish</cmd></step>
        </steps>
      </taskbody>
    </task>
  2. Author 2 is working on information component B, which has information component A as a prerequisite.
  3. Author 2 creates a configuration task that reuses two steps from the configuration task in information component A.
    <task id="configB">
      <title>..</title>
      <shortdesc>..</shortdesc>
      <taskbody>
        <steps>
          <step><cmd>Do the very first thing</cmd></step>
          <step conref="componentA/configA.dita#configA/step1"><cmd/></step>
          <step><cmd>Do the middle thing</cmd></step>
          <step conref="componentA/configA.dita#configA/step2"><cmd/></step>
        </steps>
      </taskbody>
    </task>
  4. Author 2 builds the content for component B into a deliverable format that supports dynamic content resolution. As with traditional conref, the source for component A must be available during this process. Because the ids in configA are exported, the build process knows to preserve the reuse relationship rather than resolve it - so the conref to the steps becomes an equivalent reuse artifact in that deliverable format. This way the relationship to component A can be resolved at runtime, and pick up the user's version of component A, which may be more up-to-date than the one used by Author 2 when component B was built.
Use case 2: Runtime resolution to an id exported by the information builder
  1. Author 1 is creating content that will be packaged into multiple deliverable components. In one of those components, component A, the ids should be exported for runtime reuse by other components. In other components, the ids should not be exported because all reuse is local (for example, the output is a single infocenter, or a helpset that has only one component).
  2. When author 1 builds component A, the author uses a map that exports the ids, rather than exporting the ids from the topic prolog.
    <map>
      <topicref href="componentA/configA.dita">
        <topicmeta>
          <exportanchors>
            <anchorid id="step1"/>
            <anchorid id="step2"/>
            <anchorid id="step3"/>
          </exportanchors>
        </topicmeta>
      </topicref>
    </map>
  3. The rest of the use case is the same as previous - the conref is passed on to the runtime/display format to deal with, rather than being resolved during native DITA processing.
Delaying resolution for a topic

The ID on an <anchorid> element is first compared with the topic's id, and then with elements inside that topic. This results in the following situation.

<map>
  <topicref href="componentA/this.dita">
    <topicmeta>
      <exportanchors>
        <anchorid id="this"/>
        <anchorid id="that"/>
      </exportanchors>
    </topicmeta>
  </topicref>
</map>

<topic id="this">
  <title>This and that</title>
  <shortdesc>Oh, you know, this and that.</shortdesc>
  <body>
    <fig id="that"><p>more of that</p></fig>
  </body>
</topic>
  • The first ID to be exported is "this", which matches the topic id, so resolution of conref values that target the topic should be delayed.
  • The second value is "that", which matches a figure within the topic, so resolution of conref values that target the figure should be delayed.
  • Note that if the "this" is also used within the topic (which is legal from a DITA perspective), it will not be possible to export that id, because processors will match on the topic's id first.
Example

In this example, a set of information contains multiple components. Some references to component A use keys rather than a direct reference, so that conref can be redirected to a different component when component A is not installed. The keys may be exported, in addition to the IDs, so that some references become bound to the actual component while other references may be redirected.

<map>
  <topicref keys="componentAconfig commonconfig" 
            href="componentA/configA.dita#configA">
    <topicmeta>
      <exportanchors>
        <anchorkey keyref="commonconfig"/>
        <anchorid id="step1"/>
        <anchorid id="step2"/>
      </exportanchors>
    </topicmeta>
  </topicref>
</map>

The keys attributes declares two distinct keys that may be used to refer to this topic (componentAconfig and commonconfig). Only the second is preserved using anchorkey. A task topic from another component may reuse steps within this topic in a variety of ways.

<steps>
  <step conkeyref="componentAconfig/step1"><cmd/></step>
  <step conkeyref="componentAconfig/step1.5"><cmd/></step>
  <step conkeyref="commonconfig/step2"><cmd/></step>
  <step conkeyref="commonconfig/step2.5"><cmd/></step>
  <step><cmd>And that is the end of that</cmd>
</steps>
  • The componentAconfig key is not preserved, so the first step becomes <step conref="componentA/configA.dita#configA/step1"><cmd/></step>. At that point the anchorid element instructs the step1 ID to be preserved; for runtime applications which support it, this relationship will be preserved in the processed DITA output.
  • The second step with the same key becomes <step conref="componentA/configA.dita#configA/step1.5"><cmd/></step>. However, conref relationships to step1.5 are not preserved, so this conref should be resolved into static content.
  • For step three, the map instructs that both the key commonconfig and the ID step2 should be preserved in any content generated for this DITA topic. For formats that support runtime resolution through keys, a process must convert the conkeyref value into an equivalent value for that format.
  • Although resolution for the key used in step four is delayed, the specific element that is referenced should not be delayed. Thus the fourth step becomes <step conref="componentA/configA.dita#configA/step2.5"><cmd/></step>. This value is then processed as an ordinary conref value.

This allows the information assembler to resolve references that must be to componentA while deferring references that can be fulfilled by alternative component content.

Note

This example demonstrates why the anchorid element cannot reference an element with the usual topicid/elementid format. If the two anchorid elements in the example had been set to config/step1 and config/step2, then they would only ever apply in a topic with id="config". It would not be possible to redirect the key to another topic, but still preserve conref behaviors as desired.

Note

Although it is not specifically called out in this example, it is possible to delay conref resolution for an entire topic using the key. If conkeyref on a task topic element is set to "componentAconfig", which is not delayed, the conref will be evaluated as usual. However, if conkeyref on the task is set to "commonconfig", which is delayed, resolution of conref on that element should be delayed by a processor.
Attributes
Name Description Data Type Default Value Required?
id Indicates an ID within the a specific topic that will be preserved during processing. Any conref values referencing the indicated ID will not be resolved; when possible, the original relationship should be preserved in any processed document. Note that this element creates an exception to the general rules that IDs may only be used once within a single topic or within a map; this is because the ID is actually a pointer to another target, rather than being a target itself. CDATA #REQUIRED Yes
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
conref-atts attribute group (conref, conrefend, conaction, conkeyref) A set of related attributes; includes all of the attributes described in id-atts attribute group except for the id attribute.
select-atts attribute group (props, base, platform, product, audience, otherprops, importance, rev, status) A set of related attributes, described in select-atts attribute group
localization-atts attribute group (translate, xml:lang, dir) A set of related attributes, described in localization-atts attribute group.
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.3.3.3: anchorkey

The <anchorkey> element allows an author to define a conref target that will be resolved dynamically when rendered for an end user of the content. This element is useful when doing an initial process of the DITA content prior to final rendering of the content; it allows specified keys to be preserved after that process, and conref relationships which use that key will not be resolved during that initial process.

When a keyref attribute is specified on an anchorkey element, it indicates that any conref relationships using that key will not be resolved. Applications that support run-time resolution of conref with keys will then be able to dynamically resolve this conref at display time.

There is no difference between specifying anchorkey within a map (in topicmeta) and specifying anchorkey within a topic. In both cases, processors are instructed to delay resolution of that key for the current set of information. However, the best practice is to only use anchorkey within a map. If it is specified in a topic, that topic will define a usage for the key for every user of that topic. This makes the topic less portable, because users that do not want to delay resolution of that specific key will not be able to include the topic in their information.

Many publishing systems for which DITA is used as a source format do not have a way to dynamically resolve content references; those systems will not see any benefit from this element. When DITA is used for those systems, behaviors related to this element should be ignored.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
map, bookmap, classifyMap, learningBookmap, learningMap no content
Contained by
Doctype Content model
map (base), map (technical content), bookmap, classifyMap, learningBookmap, learningMap exportanchors
Inheritance

+ topic/keyword delay-d/anchorkey

Example

In this example, a set of information contains multiple components. Some references to component A use keys rather than a direct reference, so that conref can be redirected to a different component when component A is not installed. The keys may be exported, in addition to the IDs, so that some references become bound to the actual component while other references may be redirected.

<map>
  <topicref keys="componentAconfig commonconfig" 
            href="componentA/configA.dita#configA">
    <topicmeta>
      <exportanchors>
        <anchorkey keyref="commonconfig"/>
        <anchorid id="step1"/>
        <anchorid id="step2"/>
      </exportanchors>
    </topicmeta>
  </topicref>
</map>

The keys attributes declares two distinct keys that may be used to refer to this topic (componentAconfig and commonconfig). Only the second is preserved using anchorkey. A task topic from another component may reuse steps within this topic in a variety of ways.

<steps>
  <step conkeyref="componentAconfig/step1"><cmd/></step>
  <step conkeyref="componentAconfig/step1.5"><cmd/></step>
  <step conkeyref="commonconfig/step2"><cmd/></step>
  <step conkeyref="commonconfig/step2.5"><cmd/></step>
  <step><cmd>And that is the end of that</cmd>
</steps>
  • The componentAconfig key is not preserved, so the first step becomes <step conref="componentA/configA.dita#configA/step1"><cmd/></step>. At that point the anchorid element instructs the step1 ID to be preserved; for runtime applications which support it, this relationship will be preserved in the processed DITA output.
  • The second step with the same key becomes <step conref="componentA/configA.dita#configA/step1.5"><cmd/></step>. However, conref relationships to step1.5 are not preserved, so this conref should be resolved into static content.
  • For step three, the map instructs that both the key commonconfig and the ID step2 should be preserved in any content generated for this DITA topic. For formats that support runtime resolution through keys, a process must convert the conkeyref value into an equivalent value for that format.
  • Although resolution for the key used in step four is delayed, the specific element that is referenced should not be delayed. Thus the fourth step becomes <step conref="componentA/configA.dita#configA/step2.5"><cmd/></step>. This value is then processed as an ordinary conref value.

This allows the information assembler to resolve references that must be to componentA while deferring references that can be fulfilled by alternative component content.

Note

This example demonstrates why the anchorid element cannot reference an element with the usual topicid/elementid format. If the two anchorid elements in the example had been set to config/step1 and config/step2, then they would only ever apply in a topic with id="config". It would not be possible to redirect the key to another topic, but still preserve conref behaviors as desired.

Note

Although it is not specifically called out in this example, it is possible to delay conref resolution for an entire topic using the key. If conkeyref on a task topic element is set to "componentAconfig", which is not delayed, the conref will be evaluated as usual. However, if conkeyref on the task is set to "commonconfig", which is delayed, resolution of conref on that element should be delayed by a processor.
Attributes
Name Description Data Type Default Value Required?
keyref Defines a key that, when possible, should be preserved in content generated from the DITA source material. Conref relationships that use this key should not be resolved when generating that material, so that conref may be resolved at run-time when an end user is reading the content. NMTOKEN #REQUIRED Yes
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group

3.3.1.4: Domain elements

General purpose domains are not specific to any type of information, such as the hazard statement domain that provides elements for describing hazardous situations.

3.3.1.4.1: Hazard statement elements

The hazard statement domain elements are used to provide information about product safety hazards. The domain can be included in any topic type or map. Its elements are used to inform readers about potential hazards, consequences, and avoidance strategies.

3.3.1.4.1.1: hazardstatement

The <hazardstatement> element contains hazard warning information. It is based on the regulations of ANSI Z535 and ISO 3864. It enables the author to select the type of hazard, add information about the specific hazard and how to avoid it, and add one or more safety symbols.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap ( (messagepanel) (one or more) then (hazardsymbol) (any number) )
Contained by
Doctype Content model
topic (base) desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo
map (base), classifyMap, subjectScheme, learningBookmap, learningMap desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry
topic (technical content) desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, pd
map (technical content), bookmap desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, pd
concept desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, pd
ditabase desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, prereq, context, steps-informal, stepsection, step, info, substep, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, glossdef, glossBody, glossAlt, pd
glossary, glossentry, glossgroup desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, conbody, glossdef, glossBody, glossAlt, pd
reference desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, propdesc, pd
task (strict), task (general) desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, step, info, substep, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, pd
machineryTask desc, p, lq, li, itemgroup, dd, fig, figgroup, stentry, draft-comment, fn, entry, abstract, body, bodydiv, section, sectiondiv, example, linkinfo, prereq, context, steps-informal, stepsection, step, info, substep, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond
Inheritance

+ topic/note hazard-d/hazardstatement

Example

Danger: Indicates an imminently hazardous situation which, if not avoided, will result in death or serious injury.

<hazardstatement type="danger">
  <messagepanel>
    <typeofhazard>Rotating blade.</typeofhazard>
    <consequence>Moving parts can crush and cut.</consequence>
    <howtoavoid>Follow lockout procedure before servicing.</howtoavoid>
  </messagepanel>
  <hazardsymbol href="rotatingblade.png"/>
</hazardstatement>

Warning: Indicates a potentially hazardous situation which, if not avoided, could result in death or serious injury.

<hazardstatement type="warning">
  <messagepanel>
    <typeofhazard>Hot surfaces inside.</typeofhazard>
    <consequence>Contact may cause burn.</consequence>
    <howtoavoid>Wear protective gear before servicing internal parts.</howtoavoid>
  </messagepanel>
  <hazardsymbol href="hotsurface.png"/>
</hazardstatement>

Caution: Indicates a potentially hazardous situation which, if not avoided, may result in minor or moderate injury.

<hazardstatement type="caution">
  <messagepanel>
    <typeofhazard>Lifting Hazard.</typeofhazard>
    <consequence>May result in injury.</consequence>
    <howtoavoid>See safety manual for lifting instructions.</howtoavoid>
  </messagepanel>
  <hazardsymbol href="heavy.png"/>
</hazardstatement>

Notice: Indicates a potential situation which, if not avoided, may result in property damage or in an undesirable result or state.

<hazardstatement type="notice">
  <messagepanel>
    <typeofhazard>Battery low</typeofhazard>
    <howtoavoid>Push and hold for charge state test.</howtoavoid>
  </messagepanel>
  <hazardsymbol href="general.png"/>
</hazardstatement>

Attributes
Name Description Data Type Default Value Required?
type Describes the level of hazard. Safety hazard level definitions correspond to the same values in the ANSI Z535 and the ISO 3864 standards. (note | tip | fastpath | restriction | important | remember | attention | caution | notice | danger | warning | other | -dita-use-​conref-​target) #IMPLIED No
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
othertype Indicates an alternate note type, when the type is not available in the type attribute value list. This value is used as the user-provided note title when the type attribute value is set to "other." CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.4.1.2: consequence

The <consequence> element specifies the consequence of failing to avoid a hazard, for example, "Contact may cause burn."
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or data or data-about or foreign or unknown or keyword or term or ph or b or i or sup or sub or tt or u or tm) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or tm) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or tm) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap messagepanel
Inheritance

+ topic/li hazard-d/consequence

Example
<hazardstatement type="warning">
  <messagepanel>
    <typeofhazard>Hot surfaces inside.</typeofhazard>
    <consequence>Contact may cause burn.</consequence>
    <howtoavoid>Wear protective gear before servicing internal parts.</howtoavoid>
  </messagepanel>
  <hazardsymbol href="hotsurface.png"></hazardsymbol>
</hazardstatement>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.4.1.3: hazardsymbol

The <hazardsymbol> element specifies a graphic. The graphic might represent a hazard, a hazardous situation, a result of not avoiding a hazard, or any combination of these messages.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap ( (alt) (optional) then (longdescref) (optional) )
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap hazardstatement
Inheritance

+ topic/image hazard-d/hazardsymbol

Example
<hazardstatement type="danger">
  <messagepanel>
    <typeofhazard>Rotating blade.</typeofhazard>
    <consequence>Moving parts can crush and cut.</consequence>
    <howtoavoid>Follow lockout procedure before servicing.</howtoavoid>
  </messagepanel>
  <hazardsymbol href="rotatingblade.png"/>
</hazardstatement>
Attributes
Name Description Data Type Default Value Required?
href Provides a reference to the image. See The href attribute for detailed information on supported values and processing implications. CDATA #IMPLIED Yes
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
longdescref (deprecated) A reference to a textual description of the graphic or object. This attribute supports creating accessible content. See The href attribute for detailed information on supported values and processing implications. For examples of how this attribute is used in output, see this this topic on long descriptions. NOTE: This attribute is deprecated in favor of the longdescref subelement to this element. CDATA #IMPLIED No
height Indicates the vertical dimension for the resulting image display. If necessary, the image is scaled to the specified size. The value of this attribute is a real number optionally followed by a unit of measure from the set of pc, pt, px, in, cm, mm, em (picas, points, pixels, inches, centimeters, millimeters, and ems respectively). The default unit is px (pixels). Possible values include: "5", "5in", and "10.5cm". If a height value is specified and no width value is specified, the width will be scaled by the same factor as the height. If both a height value and width value are specified, some implementations may not be able to scale the two directions by a different factor and may therefore ignore one of the two values. NMTOKEN #IMPLIED No
width Indicates the horizontal dimension for the resulting image display. If necessary, the image is scaled to the specified size. The value of this attribute is a real number optionally followed by a unit of measure from the set of pc, pt, px, in, cm, mm, em (picas, points, pixels, inches, centimeters, millimeters, and ems respectively). The default unit is px (pixels). Possible values include: "5", "5in", and "10.5cm". If a width value is specified and no height value is specified, the height will be scaled by the same factor as the width. If both a height value and width value are specified, some implementations may not be able to scale the two directions by a different factor and may therefore ignore one of the two values. NMTOKEN #IMPLIED No
align Controls the horizontal alignment of an image when placement is specified as "break." Common values include left, right, and center. CDATA #IMPLIED No
scale Specifies a percentage by which to scale the image in the absence of any specified image height or width; a value of 100 implies that the image should be presented at its intrinsic size. If a value has been specified for this image's height or width attribute (or both), the scale attribute is ignored.

It is an error if the value of this attribute is not an unsigned integer. In this case, the implementation may (but need not) give an error message and may (but need not) recover by ignoring this attribute.

NMTOKEN #IMPLIED No
scalefit Allow an image to be scaled to fit within available space. If, for a given image, any one of height, width, or scale is specified, those attributes determine the graphic size, and any setting of scalefit is ignored. If none of those attributes are specified and scalefit="yes", then the image is scaled (the same factor in both dimensions) so that the graphic will just fit within the available height or width (whichever is more constraining).

The available width would be the prevailing column (or table cell) width--that is, the width a paragraph of text would have if the graphic were a paragraph instead. The available height is implementation dependent, but if feasible, it is suggested to be the page (or table cell) height or some other reasonable value.

(yes | no | -dita-use-​conref-​target) #IMPLIED No
placement Indicates whether an image should be displayed inline or separated from the surrounding text. The processing default is inline. Allowable values are: inline or break. See Using the -dita-use-conref-target value for more information on the -dita-use-​conref-​target value. (inline | break | -dita-use-​conref-​target) inline No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass, keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. Class and outputclass are described in Other common DITA attributes

3.3.1.4.1.4: howtoavoid

The <howtoavoid> element contains information about how a user can avoid a hazard, for example, "Do not use solvents to clean the drum surface."
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or sl or simpletable) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or sl or simpletable) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or sl or simpletable) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap messagepanel
Inheritance

+ topic/li hazard-d/howtoavoid

Example
<hazardstatement type="notice">
  <messagepanel>
    <typeofhazard>Machinery Damage</typeofhazard>
    <howtoavoid>
	     <sl>
	       <sli>Do NOT use solvents to clean the drum surface</sli>
	       <sli>Read manual for proper drum cleaning procedure</sli>
     	</sl>
    </howtoavoid>
  </messagepanel>
  <hazardsymbol href="readmanual.png"></hazardsymbol>
  <hazardsymbol href="agressivesolvent.png"></hazardsymbol>
</hazardstatement>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.4.1.5: messagepanel

The <messagepanel> element contains the textual information that is displayed on the hazard statement. This information identifies the hazard, specifies how to avoid the hazard, and states the probable consequences of failing to avoid the hazard.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic, map, concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap ( (typeofhazard) then (consequence) (any number) then (howtoavoid) (one or more) )
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap hazardstatement
Inheritance

+ topic/ul hazard-d/messagepanel

Example
<hazardstatement type="caution">
  <messagepanel>
    <typeofhazard>Lifting Hazard.</typeofhazard>
    <consequence>May result in injury.</consequence>
    <howtoavoid>See safety manual for lifting instructions.</howtoavoid>
  </messagepanel>
  <hazardsymbol href="heavy.png"></hazardsymbol>
</hazardstatement>
Attributes
Name Description Data Type Default Value Required?
compact Indicates close vertical spacing between the list items. Expanded spacing is the default value. The output result of compact spacing depends on the processor or browser. Allowed values are:
yes
Indicates compact spacing.
no
Indicates expanded spacing.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
spectitle The specialized title attribute allows architects of specialized types to define a fixed or default title for a specialized element. Not intended for direct use by authors. CDATA #IMPLIED No
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.4.1.6: typeofhazard

The <typeofhazard> element contains a description of the type of hazard, for example, "Hot surfaces inside."
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningBookmap, learningMap ( text data or data or data-about or foreign or unknown or keyword or term or ph or b or i or sup or sub or tt or u or tm) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or data or data-about or foreign or unknown or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or term or abbreviated-form or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or tm) (any number)
machineryTask ( text data or data or data-about or foreign or unknown or keyword or wintitle or term or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or tm) (any number)
Contained by
Doctype Content model
topic (base), map (base), topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task (strict), task (general), bookmap, classifyMap, subjectScheme, machineryTask, learningBookmap, learningMap messagepanel
Inheritance

+ topic/li hazard-d/typeofhazard

Example
<hazardstatement type="caution">
  <messagepanel>
    <typeofhazard>Lifting Hazard.</typeofhazard>
    <consequence>May result in injury.</consequence>
    <howtoavoid>See safety manual for lifting instructions.</howtoavoid>
  </messagepanel>
  <hazardsymbol href="heavy.png"></hazardsymbol>
</hazardstatement>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.4.2: Typographic elements

The typographic elements are used to highlight text with styles (such as bold, italic, and monospace). Never use these elements when a semantically specific element is available. These elements are not intended for use by specializers, and are intended solely for use by authors when no semantically appropriate element is available and a formatting effect is required.

3.3.1.4.2.1: b

The bold (<b>) element is used to apply bold highlighting to the content of the element. This element is part of the DITA highlighting domain. Use this element only when a more semantically appropriate element is not available. For example, for specific items such as GUI controls, use the <uicontrol> element.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
map (base), classifyMap, subjectScheme, learningMap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
topic (technical content), concept data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
map (technical content) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
ditabase data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
glossary, glossentry, glossgroup data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
reference data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
task (strict), task (general) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
bookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
machineryTask data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, typeofhazard, consequence, howtoavoid, b, u, i, tt, sup, sub, screen
learningAssessment, learningOverview, learningSummary data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
learningContent data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

+ topic/ph hi-d/b

Example
<p><b>STOP!</b> This is <b>very</b> important!</p>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.4.2.2: i

The italic (<i>) element is used to apply italic highlighting to the content of the element. This element is part of the DITA highlighting domain. Use this element only when a more semantically appropriate element is not available. For example, for specific items such as variable names, use the <varname> element.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
map (base), classifyMap, subjectScheme, learningMap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
topic (technical content), concept data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
map (technical content) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
ditabase data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
glossary, glossentry, glossgroup data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
reference data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
task (strict), task (general) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
bookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
machineryTask data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, typeofhazard, consequence, howtoavoid, b, u, i, tt, sup, sub, screen
learningAssessment, learningOverview, learningSummary data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
learningContent data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

+ topic/ph hi-d/i

Example
<p>Unplug the unit <i>before</i> placing the metal screwdriver
against the terminal screw.</p>
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.4.2.3: sup

The superscript (<sup>) element indicates that text should be superscripted, or vertically raised in relationship to the surrounding text. Superscripts are usually a smaller font than the surrounding text. This element is part of the DITA highlighting domain. Use this element only when a more semantically appropriate element is not available.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
map (base), classifyMap, subjectScheme, learningMap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
topic (technical content), concept data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
map (technical content) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
ditabase data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
glossary, glossentry, glossgroup data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
reference data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
task (strict), task (general) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
bookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
machineryTask data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, typeofhazard, consequence, howtoavoid, b, u, i, tt, sup, sub, screen
learningAssessment, learningOverview, learningSummary data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
learningContent data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

+ topic/ph hi-d/sup

Example
The power produced by the electrohydraulic dam was 10<sup>10</sup> more than 
the older electric plant.  The difference was H<sub>2</sub>O.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.4.2.4: sub

A subscript (<sub>) indicates that text should be subscripted, or placed lower in relationship to the surrounding text. Subscripted text is often a smaller font than the surrounding text. Formatting may vary depending on your output process. This element is part of the DITA highlighting domain. Use this element only when a more semantically appropriate element is not available.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
map (base), classifyMap, subjectScheme, learningMap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
topic (technical content), concept data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
map (technical content) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
ditabase data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
glossary, glossentry, glossgroup data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
reference data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
task (strict), task (general) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
bookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
machineryTask data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, typeofhazard, consequence, howtoavoid, b, u, i, tt, sup, sub, screen
learningAssessment, learningOverview, learningSummary data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
learningContent data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningPlan data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, lcGeneralDescription, lcGoals, lcNeeds, lcValues, lcOrgConstraints, lcEdLevel, lcAge, lcBackground, lcSkills, lcKnowledge, lcMotivation, lcSpecChars, lcWorkEnvDescription, lcPlanResources, lcProcesses, lcTaskItem, lcAttitude, lcPlanObjective, lcJtaItem, lcGapItemDelta, lcLearnStrat, lcAssessment, lcDelivery, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
Inheritance

+ topic/ph hi-d/sub

Example
The power produced by the electrohydraulic dam was 10<sup>10</sup> more than 
the older electric plant.  The difference was H<sub>2</sub>O.
Attributes
Name Description Data Type Default Value Required?
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class, outputclass Common attributes described in Other common DITA attributes

3.3.1.4.2.5: tt

The teletype (<tt>) element is used to apply monospaced highlighting to the content of the element. This element is part of the DITA highlighting domain. Use this element only when a more semantically appropriate element is not available. For example, for specific items such as inline code fragments, use the <codeph> element.
Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
topic (base), map (base), classifyMap, subjectScheme, learningAssessment, learningBookmap, learningContent, learningMap, learningOverview, learningPlan, learningSummary ( text data or boolean or cite or keyword or ph or b or i or sup or sub or tt or u or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
topic (technical content), map (technical content), concept, ditabase, glossary, glossentry, glossgroup, reference, task, bookmap ( text data or boolean or cite or keyword or apiname or option or parmname or cmdname or msgnum or varname or wintitle or ph or b or i or sup or sub or tt or u or codeph or synph or filepath or msgph or systemoutput or userinput or menucascade or uicontrol or q or term or abbreviated-form or tm or xref or state or data or data-about or foreign or unknown) (any number)
machineryTask ( text data or boolean or cite or keyword or wintitle or ph or b or i or sup or sub or tt or u or menucascade or uicontrol or q or term or tm or xref or state or data or data-about or foreign or unknown) (any number)
Contained by
Doctype Content model
topic (base) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
map (base), classifyMap, subjectScheme, learningMap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid
topic (technical content), concept data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
map (technical content) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
ditabase data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
glossary, glossentry, glossgroup data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, glossterm, glossdef, glossProperty, glossUsage, glossScopeNote, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
reference data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, refsyn, proptypehd, propvaluehd, propdeschd, proptype, propvalue, propdesc, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
task (strict), task (general) data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
bookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, linktext, booklibrary, mainbooktitle, booktitlealt, organizationname, b, u, i, tt, sup, sub, typeofhazard, consequence, howtoavoid, screen, codeph, codeblock, pt, pd, fragref, synnote
machineryTask data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, prereq, context, steps-informal, stepsection, cmd, info, tutorialinfo, stepxmp, choice, choptionhd, chdeschd, choption, chdesc, stepresult, result, postreq, reqcond, reqcontp, personnel, perscat, perskill, esttime, supequi, supply, spare, safecond, typeofhazard, consequence, howtoavoid, b, u, i, tt, sup, sub, screen
learningAssessment, learningOverview, learningSummary data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry, source, searchtitle, abstract, bodydiv, section, sectiondiv, example, linktext, linkinfo, lcIntro, lcObjectivesStem, lcObjective, lcAudience, lcTime, lcPrereqs, lcSummary, lcNextSteps, lcReview, lcResources, lcChallenge, lcInstruction, b, u, i, tt, sup, sub, lcQuestionBase, lcInstructornote, lcQuestion, lcOpenAnswer, lcFeedback, lcFeedbackCorrect, lcFeedbackIncorrect, lcAnswerContent, lcItem, lcMatchingItem
learningBookmap data, title, navtitle, shortdesc, desc, p, note, lq, q, sli, li, itemgroup, dthd, ddhd, dt, dd, figgroup, pre, lines, ph, alt, stentry, draft-comment, fn, cite, xref, entry,