Darwin Information Typing Architecture (DITA) Version 2.0
Cover page information
Notices
Introduction
Terminology
References
Normative references
Informative references
Normative versions of DITA grammar files
About the specification source
DITA terminology, notation, and conventions
Normative and non-normative information
Notation
Basic DITA terminology
Specialization terminology
DITA module terminology
Linking and addressing terminology
Key terminology
Map terminology
Other terminology
File extensions
Overview of DITA
Basic concepts
Producing different deliverables from a single source
DITA topics
The topic as the basic unit of information
The benefits of a topic-based architecture
Disciplined, topic-oriented writing
Information typing
Topic structure
Topic content
DITA maps
Definition of DITA maps
Purpose of DITA maps
DITA map attributes
DITA metadata
Metadata elements
Metadata attributes
Metadata in maps and topics
Window metadata for user assistance
Accessibility and translation
Accessibility
Handling accessibility in content and in processors
Accessible content
Accessible tables
Examples of DITA markup for accessibility
Example: Alternate text for an image
Example: Alternate text for an image map
Example: Fallback information for multimedia content
Example: Simple table with accessibility markup
Example: Complex table with accessibility markup
Example: Complex table with some manually-specified accessibility markup
Example: Complex table with manual accessibility markup
Translation and localization
The xml:lang attribute
Recommendations for the xml:lang attribute
Processing expectations regarding the xml:lang attribute
Example: content reference and the xml:lang attribute
The dir attribute
The Unicode Bidirectional Algorithm
Recommended usage of the dir attribute
Processing expectations regarding the Unicode Bidirectional Algorithm
The translate attribute
DITA map processing
DITA maps and their usage
Imposing roles when referencing a map
Example: How topicref roles are imposed on referenced maps
Examples of DITA maps
Example: DITA map that references a subordinate map
Example: DITA map with a simple relationship table
Example: How the collection-type and linking attributes determine links
Subject scheme maps and their usage
Subject scheme maps
Defining controlled values for attributes
Binding controlled values to an attribute
Processing controlled attribute values
The subjectrefs attribute
Examples of subject scheme maps
Example: a subject scheme map used to define taxonomic subjects
Example: How hierarchies defined in a subject scheme map affect filtering
Example: Defining values for deliveryTarget
Metadata cascading
Cascading of metadata attributes in a DITA map
Processing cascading attributes in a map
Merging of cascading attributes
Reconciling topic and map metadata elements
Map-to-map cascading behaviors
Cascading of attributes from map to map
Cascading of metadata elements from map to map
Examples of metadata cascading
Example: How map-level metadata elements cascade to the referenced topics
Example: How metadata elements cascade from one map to another
Example: How attributes cascade from one map to another
Example: How the cascade attribute affects attribute cascading
Chunking
About the chunk attribute
Processing chunk="combine"
Processing chunk="split"
Using the chunk attribute for other purposes
Examples of the chunk attribute
Example: Using chunk to combine all documents into one
Example: Using chunk to render a single document from one or more branches
Example: Using chunk to combine groups of topics
Example: How chunk="combine" effects the map hierarchy
Example: Using chunk to split documents
Example: How chunk="split" affects the map hierarchy
Example: When chunk is ignored
Example: Using chunk="combine" when the root map specifies chunk="split"
Example: Managing links when chunking
DITA addressing
id attribute
DITA linking
The format attribute
The href attribute
The scope attribute
The type attribute
URI-based (direct) addressing
Indirect key-based addressing
Core concepts for working with keys
Setting key names with the keys attribute
The keyref attribute
Using keys for addressing
Key scopes
The keyscope attribute
Addressing keys across scopes
Cross-deliverable addressing and linking
Processing key references
Processing key references for navigation links and images
Processing key references on topicref elements
Processing key references to generate text or link text
Examples of keys
Examples: Key definition
Examples: Key definitions for variable text
Example: Duplicate key definitions within a single map
Example: Duplicate key definitions across multiple maps
Example: Key definition with key reference
Example: Link redirection
Example: Link modification or removal
Example: Links from term or keyword elements
Example: conref redirection
Example: Keys and collaboration
Examples of scoped keys
Example: Scoped key definitions for variable text
Example: References to scoped keys
Example: Key definitions in nested key scopes
Example: Key scopes and omnibus publications
Example: How key scopes affect key precedence
Example: How key scopes with the same name interact
Example: subjectrefs attribute with key scopes
Context hooks for user assistance
DITA processing
Navigation
Table of contents
Alternative titles
Indexes
Index overview
Index elements
Location of indexterm elements
Index locators
Index redirection
Index ranges
Index sorting
Examples of indexing
Example: Index range defined in a single topic
Example: Index range defined in a topic prolog
Example: Index range defined in a map
Content reference (conref)
Content referencing overview
Direct URI-based content reuse
Indirect key-based content reuse
Reusing a range of elements
Pushing reusable content to a new location
Using the -dita-use-conref-target value
Processing conrefs
Processing attributes when resolving conrefs
Processing xrefs and conrefs within a conref
Examples of conref
Example: Simple conref usage
Example: Simple conkeyref usage
Example: Reusing a sequence of list items
Example: Reusing a sequence of elements of different types
Example: Reusing a range with conkeyref
Example: Using conaction to replace content
Example: Using conaction to push content before another element
Example: Using conaction to push content after another element
Example: Resolving conrefs to elements that contain cross references
Example: Resolving conrefs to elements that contain cross references, with key scopes
Conditional processing
About conditional processing
Expectations for conditional processing
About the DITAVAL document
Conditional processing attribute values
Conditional processing attribute values with groups
Conditional processing and subject schemes
Filtering based on metadata attributes
Flagging based on metadata attributes
Examples of conditional processing
Example: Setting conditional processing values
Example: Simple DITAVAL document
Example: Changing the default behavior to "exclude"
Example: Flagging with outputclass
Example: Filtering based on groups
Example: Filtering and flagging topic content
Example: Simple DITAVAL document
Example: DITAVAL with conditions for groups
Branch filtering
Overview of branch filtering
How filtering rules interact
Branch filtering: Single referenced DITAVAL document for a branch
Branch filtering: Multiple referenced DITAVAL documents for a branch
Branch filtering: Impact on resource and key names
Using metadata elements in the DITAVAL reference domain
Renaming based on multiple ditavalref elements
Handling resource name conflicts caused by branch filtering
Branch filtering: Implications of processing order
Examples of branch filtering
Example: Single ditavalref on a branch
Example: Multiple ditavalref elements on a branch
Example: Single ditavalref as a child of map
Example: Single ditavalref in a reference to a map
Example: Multiple ditavalref elements as children of map in a root map
Example: Multiple ditavalref elements in a reference to a map
Example: ditavalref within a branch that already uses ditavalref
Example: ditavalref error conditions
Sorting
Determining effective attribute values
Configuration and specialization
Overview of DITA extension facilities
Document-type configuration
Overview of document-type shells
Rules for document-type shells
Equivalence of document-type shells
Conformance of document-type shells
Specialization
Overview of specialization
Modularization
Vocabulary modules
Specialization rules for element types
Specialization rules for attributes
The class attribute rules and syntax
The specializations attribute rules and syntax
Specializing to include non-DITA content
Sharing elements across specializations
Generalization
Overview of generalization
Element generalization
Processor expectations when generalizing elements
Attribute generalization
Generalization with cross-specialization dependencies
Constraints
Overview of constraints
Constraint rules
Constraints, processing, and interoperability
Expansion modules
Overview of expansion modules
Expansion module rules
Element reference
DITA elements, A to Z
DITA attributes, A to Z
Topic elements
Basic topic elements
abstract
body
bodydiv
dita
prolog
related-links
shortdesc
title
titlealt
topic
Body elements
alt
cite
dd
ddhd
desc
div
dl
dlentry
dlhead
draft-comment
dt
dthd
example
fallback
fig
figgroup
fn
image
include
keyword
li
lines
longdescref
lq
note
object
ol
p
param
ph
pre
q
section
sl
sli
term
text
tm
ul
xref
Multimedia elements
audio
media-source
media-track
video
video-poster
Indexing elements
index-see
index-see-also
indexterm
Related links elements
link
linkinfo
linklist
linkpool
linktext
Table elements
colspec
entry
row
simpletable
stentry
sthead
strow
table
tbody
tgroup
thead
Map elements
Basic map elements
keytext
map
navref
relcell
relcolspec
relheader
relrow
reltable
topicref
topicmeta
ux-window
Subject scheme elements
attributedef
defaultSubject
elementdef
enumerationdef
schemeref
subjectdef
subjectHead
subjectHeadMeta
subjectScheme
Metadata elements
Descriptive metadata
audience
author
category
keywords
othermeta
prodinfo
publisher
prodname
prognum
Lifecycle management metadata
copyrholder
copyright
copyryear
created
critdates
metadata
permissions
resourceid
revised
source
Product information metadata
brand
component
featnum
platform
series
vrmlist
vrm
Specialization elements
data
foreign
no-topic-nesting
Domain elements
Alternative-titles domain elements
linktitle
navtitle
searchtitle
subtitle
titlehint
DITAVAL-reference domain element
ditavalref
ditavalmeta
dvrResourcePrefix
dvrResourceSuffix
dvrKeyscopePrefix
dvrKeyscopeSuffix
Emphasis domain elements
em
strong
Hazard-statement domain elements
consequence
hazardstatement
hazardsymbol
howtoavoid
messagepanel
typeofhazard
Highlighting domain elements
b
i
line-through
overline
sub
sup
tt
u
Mapgroup domain elements
keydef
mapref
mapresources
topicgroup
topichead
Utilities domain elements
area
coords
imagemap
shape
sort-as
Other elements
Legacy conversion elements
required-cleanup
DITAVAL elements
alt-text
endflag
prop
revprop
startflag
style-conflict
val
Attributes
Attribute groups
Universal attribute group
Common attributes
Conformance
Acknowledgments
Aggregated RFC-2119 statements
Coding practices for DITA grammar files
File naming conventions
DTD coding requirements
DTD: Use of entities
DTD: Coding requirements for document-type shells
DTD: Coding requirements for structural and element-domain modules
DTD: Coding requirements for structural modules
DTD: Coding requirements for element-domain modules
DTD: Coding requirements for attribute-domain modules
DTD: Coding requirements for element-configuration modules
RELAX NG coding requirements
RELAX NG: Overview of coding requirements
RELAX NG: Coding requirements for document-type shells
RELAX NG: Coding requirements for structural and element-domain modules
RELAX NG: Coding requirements for structural modules
RELAX NG: Coding requirements for element-domain modules
RELAX NG: Coding requirements for attribute-domain modules
RELAX NG: Coding requirements for element-configuration modules
Constraint modules
Examples: Constraints implemented using DTDs
Example: Restrict the content model for the topic element using DTD
Example: Constrain attributes for the section element using DTD
Example: Constrain a domain module using DTD
Example: Replace a base element with the domain extensions using DTD
Example: Apply multiple constraints to a single document-type shell using DTD
Examples: Constraints implemented using RNG
Example: Restrict the content model for the topic element using RNG
Example: Constrain attributes for the section element using RNG
Example: Constrain a domain module using RNG
Example: Replace a base element with the domain extensions using RNG
Example: Apply multiple constraints to a single document-type shell using RNG
Expansion modules
Examples: Expansion implemented using DTDs
Example: Adding an element to the section element using DTDs
Example: Adding an attribute to certain table elements using DTDs
Example: Adding an existing domain attribute to certain elements using DTDs
Example: Aggregating constraint and expansion modules using DTDs
Examples: Expansion implemented using RNG
Example: Adding an element to the section element using RNG
Example: Adding an attribute to certain table elements using RNG
Example: Adding an existing domain attribute to certain elements using RNG
Example: Aggregating constraint and expansion modules using RNG
Element-by-element recommendations for translators
Formatting expectations
Migrating to DITA 2.0
Changes from DITA 1.3 to DITA 2.0
Information about migrating to DITA 2.0
OASIS grammar files
File names in the base DITA edition
Globally-unique identifiers in the base DITA edition
Domains provided in the base DITA edition
Document-type shells provided in the base DITA edition
Processing interoperability considerations
Revision history