The DITA @conref,
@conkeyref, @conrefend, and @conaction attributes provide mechanisms for reusing content within DITA topics
or maps. These mechanisms can be used both to pull and push content.
This topic uses the definitions of referenced element and referencing element as defined in DITA terminology and notation.
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 elements
that is rendered in place of the referencing element. Although
the start and end elements must be of the same type as the referencing element (or
specialized from that element type), the elements inside the range can be any
type.
The @conaction attribute reverses the direction of reuse from pull to
push. With a push, the referencing element is rendered before,
after, or in place of the referenced element. The location (before, after, or in place
of) is determined by the value of the @conaction attribute.
Because the @conaction and @conrefend attributes cannot
both be used within the same referencing element, it is not possible to push a range of
elements.
A fragment of DITA content, such as an XML document that contains only a single paragraph without a topic 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 one of the following items: