###### 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

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 3.4.2.1 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 3.4.2.2 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 3.4.2.3 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. 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". 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. | (normal | resource-only | -dita-use-​conref-​target) | resource-only | No
type | Describes the target of a reference. See 3.4.2.8 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 3.4.2.10 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. 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. | (yes | no | -dita-use-​conref-​target) | #IMPLIED | No
format | The format attribute identifies the format of the resource being referenced. See 3.4.2.9 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. 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. | (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". 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. | (yes | no | printonly | -dita-use-​conref-​target) | #IMPLIED | No
search | Describes whether the target is available for searching. 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 2.1.3.7 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 3.4.1.3 univ-atts attribute group |  |  |
global-atts attribute group (xtrf, xtrc) | A set of related attributes, described in 3.4.1.2 global-atts attribute group |  |  |
class, outputclass | Common attributes described in 3.4.1.9 Other common DITA attributes |  |  |

Previous Topic: 3.1.2.2.1 anchorref

Next Topic: 3.1.2.2.3 mapref

Parent Topic: 3.1.2.2 Map group elements

Sibling Topics:

3.1.2.2.1 anchorref

3.1.2.2.3 mapref

3.1.2.2.4 topicgroup

3.1.2.2.5 topichead

3.1.2.2.6 topicset

3.1.2.2.7 topicsetref