Content Reference Push (conref push)

The content reference push mechanism is the opposite of a content reference.

Sample project:

Note: The content reference push can be helpful for filling a multiple referenced technical data topic with technical data from different products.


The map.ditamap references the conrefpush-source.dita topic that itself pushes content into the conrefpush-target.dita topic. The conrefpush-source.dita topic is not rendered int the output.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
  <topicref href="conrefpush-source.dita" processing-role="resource-only" toc="no"/>
  <topicref href="conrefpush-target.dita" keys="conrefpush-target"/>


The conrefpush-source.dita topic contains a <p> element, that replaces the <p> element with the @id replace-me in the conrefpush-target.dita topic.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic id="conrefpush-source">
      The following <p> element replaces the <p> element
      with the @id="replace-me" in the conrefpush-target.dita topic.
    <p conaction="pushreplace" conkeyref="conrefpush-target/replace-me">
      NEW CONTENT :)


The conrefpush-target.dita topic contains a <p> element with the @id replace-me, that is replaced with the pushed <p> element of the conrefpush-source.dita topic.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic id="conrefpush-target">
    <p>The following paragraph should be replaced</p>
    <p id="replace-me">REPLACE ME</p>