Reusing content is one of the key features of DITA. DITA provides a number of different methods for reusing content. Oxygen XML Editor provides support for each of these methods.
A DITA topic does not belong to any one publication. You add a DITA topic to a publication by referencing it in a map. You can reference the same topic in more than one map.
DITA allows you to reuse a content element by referencing it in another topic. DITA provides two mechanisms for including content by reference: conref and conkeyref. A conref creates a direct reference to a specific element of another topic. A conkeyref creates a reference to a key, which in turn points to a specific element of another topic. The advantage of using a conkeyref is that you can change the element that is included by changing the key reference. For example, since keys are defined in maps, a different key reference is used when you include your topic in a different map.
Oxygen XML Editor provides support for both conref and conkeyref.
While the conref and conkeyref mechanisms can be used to reference any content element, it is considered best practice to only conref or conkeyref content that is specifically set and managed as reusable content. This practice helps reduce expensive errors, such as an author accidentally deleting the source element that other topics are including by conref. Oxygen XML Editor can help you create a reusable component from your current content.
DITA allows you to conditionally profile parts of a topic so that certain parts of the topic are shown when certain profiling conditions are set. Profiling conditions can be set both within topics and in maps. When set in a topic, they allow you to suppress an element (such as paragraph), step in a procedure, item in a list, or even a phrase within a sentence. When set in a map, they allow you to suppress an entire topic or group of topics. You can then create a variety of different publications from a single map by applying profiling conditions to the build.
DITA allows you to replace the content of certain elements with the value pointed to by a key. This mechanism effectively means that you can create variables in your content, which you can then output with various different values by changing the value the key points to. This is done by profiling the definition of the key value, or by substituting another map with various different key values that are defined.