Struggling with conkeyref/conaction=pushafter

Hi all, I have tested the "DITA > Push Current element" feature, but cannot get it to work. I want to inject a <dlentry> element into a shared topic which is used in two projects. The element to be injected is stored in a warehouse topic for project 1. What I want is to inject this element only when project 1 is built. When project 2 is built, the key to the warehouse topic resolves to a different file which doese not include the element. So what I hope is that the element is only injected when I build project 1 and that it is left out when I build project 2 -- without any error or warning generated in the log file or in Oxygen's editor window. However, the element does not appear in project 1 and in Oxygen it is shown as an empty <dt><p> struture. In a previous attempt the element was shown in the editor window, but not in output either. I can't remember what I did differently... I may not have undestood this feature correctly. Can someone enlighten me? Thank you. Regards, Frank The dita code: * * *file.dita* <dlentry conaction="mark" conkeyref="lib_ref/my_id"> <dt/> <dd> <p/> </dd> </dlentry> <dlentry conaction="pushafter"> <dt>A term. The term in lib_ref.dita should be injected after that.</dt> <dd> <p>Explanation</p> </dd> </dlentry> *lib_ref.dita * <dl> <dlentry id="my_id"> <dt>The term to inject after the term in file.dita</dt> <dd> <p>Explanation</p> </dd> </dlentry> </dl> *variables.ditamap* <keydef href="reuse/lib_ref.dita" keys="lib_ref"/> Appearance in oXygen. -- *Frank Dissinger* Documentation Manager .................................................................... *CGS Publishing Technologies International GmbH* *Email *frank.dissinger@cgs-oris.com | *Web* www.cgs-oris.com <http://www.cgs-oris.com/> *Address* Kettelerstr. 24 | D-63512 Hainburg | Germany *Phone* +49 6182 9626-27 | *Fax* +49 6182 9626-99 *Commercial register* Offenbach, HRB no. 21495 *Managing directors* Bernd Rückert, Christoph Thommessen https://www.cgs-oris.com/Signatur.png <https://www.cgs-oris.com/signatur>

Hi Frank, Maybe this will help: https://blog.oxygenxml.com/presentation-reuse/conref_push.html One remark, Oxygen will not show the pushed content in place but publishing should work. Regards, Radu Radu Coravu Oxygen XML Editor On 3/27/23 18:05, Frank Dissinger wrote:
Hi all,
I have tested the "DITA > Push Current element" feature, but cannot get it to work.
I want to inject a <dlentry> element into a shared topic which is used in two projects. The element to be injected is stored in a warehouse topic for project 1. What I want is to inject this element only when project 1 is built. When project 2 is built, the key to the warehouse topic resolves to a different file which doese not include the element. So what I hope is that the element is only injected when I build project 1 and that it is left out when I build project 2 -- without any error or warning generated in the log file or in Oxygen's editor window.
However, the element does not appear in project 1 and in Oxygen it is shown as an empty <dt><p> struture. In a previous attempt the element was shown in the editor window, but not in output either. I can't remember what I did differently...
I may not have undestood this feature correctly. Can someone enlighten me? Thank you.
Regards,
Frank
The dita code:
* *
*file.dita*
<dlentry conaction="mark" conkeyref="lib_ref/my_id"> <dt/> <dd> <p/> </dd> </dlentry> <dlentry conaction="pushafter"> <dt>A term. The term in lib_ref.dita should be injected after that.</dt> <dd> <p>Explanation</p> </dd> </dlentry>
*lib_ref.dita *
<dl> <dlentry id="my_id"> <dt>The term to inject after the term in file.dita</dt> <dd> <p>Explanation</p> </dd> </dlentry> </dl>
*variables.ditamap* <keydef href="reuse/lib_ref.dita" keys="lib_ref"/>
Appearance in oXygen. --
*Frank Dissinger*
Documentation Manager
....................................................................
*CGS Publishing Technologies International GmbH*
*Email *frank.dissinger@cgs-oris.com | *Web* www.cgs-oris.com <http://www.cgs-oris.com/>
*Address* Kettelerstr. 24 | D-63512 Hainburg | Germany
*Phone* +49 6182 9626-27 | *Fax* +49 6182 9626-99
*Commercial register* Offenbach, HRB no. 21495
*Managing directors* Bernd Rückert, Christoph Thommessen
https://www.cgs-oris.com/Signatur.png <https://www.cgs-oris.com/signatur>
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user

Hi Radu, Thank you for the link. Hm... If the pushed content is not shown in the Oxygen Editor, then the feature is not really useful for me. I need to see it to have control over what I am doing. The conref-push content does not appear in CHM output either. Perhaps this has to do with the fact that I still use oXygen V21.1 to generate CHM output. (I made some XSL customizations which are not easy for me to apply to V25, a bit difficult and lengthy to explain...). It appears much simpler for me to filter the contents out. But owing to the way my process is set up, I would need to apply a second ditaval file. Can I specify two ditaval files for the "args.filter" argument? This would be the best. And I would need a second attribute in addition to "product", otherwise I would have to edit each and every element that uses a "product" attribute. There are not so many attributes available. Perhaps I could (mis)use "platform"... (for indicating the project). I heard of ditvalref branch filtering and I tested this. It does not create the desired result as duplicates of every reused topic are created. This is not what I want and it messes up many topic references. Can I set up branch filtering differently so that no topic duplicates are created? Probably not... The reason is that my ditaval files contain conditions for creating variants (oem1, oem2, etc. -- no condition stands for the base product) of a product group (project1, project 2). The same ditaval conditions (oem1, oem2, etc.) are used across different product groups. It never occurred to me to filter on product groups (projects) because I use root ditamaps stored in different folders to create output for different product groups. Regards, Frank ------------------------------------------------------------------------ Am 27.03.2023 um 18:50 schrieb Oxygen XML Editor Support (Radu Coravu):
Hi Frank,
Maybe this will help:
https://blog.oxygenxml.com/presentation-reuse/conref_push.html
One remark, Oxygen will not show the pushed content in place but publishing should work.
Regards,
Radu
Radu Coravu Oxygen XML Editor On 3/27/23 18:05, Frank Dissinger wrote:
Hi all,
I have tested the "DITA > Push Current element" feature, but cannot get it to work.
I want to inject a <dlentry> element into a shared topic which is used in two projects. The element to be injected is stored in a warehouse topic for project 1. What I want is to inject this element only when project 1 is built. When project 2 is built, the key to the warehouse topic resolves to a different file which doese not include the element. So what I hope is that the element is only injected when I build project 1 and that it is left out when I build project 2 -- without any error or warning generated in the log file or in Oxygen's editor window.
However, the element does not appear in project 1 and in Oxygen it is shown as an empty <dt><p> struture. In a previous attempt the element was shown in the editor window, but not in output either. I can't remember what I did differently...
I may not have undestood this feature correctly. Can someone enlighten me? Thank you.
Regards,
Frank
The dita code:
* *
*file.dita*
<dlentry conaction="mark" conkeyref="lib_ref/my_id"> <dt/> <dd> <p/> </dd> </dlentry> <dlentry conaction="pushafter"> <dt>A term. The term in lib_ref.dita should be injected after that.</dt> <dd> <p>Explanation</p> </dd> </dlentry>
*lib_ref.dita *
<dl> <dlentry id="my_id"> <dt>The term to inject after the term in file.dita</dt> <dd> <p>Explanation</p> </dd> </dlentry> </dl>
*variables.ditamap* <keydef href="reuse/lib_ref.dita" keys="lib_ref"/>
Appearance in oXygen. --
*Frank Dissinger*
Documentation Manager
....................................................................
*CGS Publishing Technologies International GmbH*
*Email *frank.dissinger@cgs-oris.com | *Web* www.cgs-oris.com <http://www.cgs-oris.com/>
*Address* Kettelerstr. 24 | D-63512 Hainburg | Germany
*Phone* +49 6182 9626-27 | *Fax* +49 6182 9626-99
*Commercial register* Offenbach, HRB no. 21495
*Managing directors* Bernd Rückert, Christoph Thommessen
https://www.cgs-oris.com/Signatur.png <https://www.cgs-oris.com/signatur>
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
-- *Frank Dissinger* Documentation Manager .................................................................... *CGS Publishing Technologies International GmbH* *Email *frank.dissinger@cgs-oris.com | *Web* www.cgs-oris.com <http://www.cgs-oris.com/> *Address* Kettelerstr. 24 | D-63512 Hainburg | Germany *Phone* +49 6182 9626-27 | *Fax* +49 6182 9626-99 *Commercial register* Offenbach, HRB no. 21495 *Managing directors* Bernd Rückert, Christoph Thommessen https://www.cgs-oris.com/Signatur.png <https://www.cgs-oris.com/signatur>

Hello Frank, Please see some answers below:
If the pushed content is not shown in the Oxygen Editor, then the feature is not really useful for me. I need to see it to have control over what I am doing.
As I said, Oxygen does not show the push in place where the content is pushed.
The conref-push content does not appear in CHM output either. Perhaps this has to do with the fact that I still use oXygen V21.1 to generate CHM output. (I made some XSL customizations which are not easy for me to apply to V25, a bit difficult and lengthy to explain...).
I do not know about that, if plain DITA to HTML5 in Oxygen 25.1 output shows the push, then the publishing works. If not, probably the way in which you attempt to push might be incorrect, if you send us a sample project we can look into this further.
It appears much simpler for me to filter the contents out. But owing to the way my process is set up, I would need to apply a second ditaval file.
Can I specify two ditaval files for the "args.filter" argument? This would be the best.
Yes: https://www.dita-ot.org/dev/parameters/parameters-base.html#base__args.filte...
I heard of ditvalref branch filtering and I tested this. It does not create the desired result as duplicates of every reused topic are created. This is not what I want and it messes up many topic references. Can I set up branch filtering differently so that no topic duplicates are created? Probably not...
Once you choose using branch filtering you need to use also key scopes, use only keyrefs and conkeyrefs. So yes you should probably avoid this if you have other choices. Regards, Radu Radu Coravu Oxygen XML Editor On 3/28/23 15:18, Frank Dissinger wrote:
Hi Radu,
Thank you for the link. Hm...
If the pushed content is not shown in the Oxygen Editor, then the feature is not really useful for me. I need to see it to have control over what I am doing.
The conref-push content does not appear in CHM output either. Perhaps this has to do with the fact that I still use oXygen V21.1 to generate CHM output. (I made some XSL customizations which are not easy for me to apply to V25, a bit difficult and lengthy to explain...).
It appears much simpler for me to filter the contents out. But owing to the way my process is set up, I would need to apply a second ditaval file.
Can I specify two ditaval files for the "args.filter" argument? This would be the best.
And I would need a second attribute in addition to "product", otherwise I would have to edit each and every element that uses a "product" attribute. There are not so many attributes available. Perhaps I could (mis)use "platform"... (for indicating the project).
I heard of ditvalref branch filtering and I tested this. It does not create the desired result as duplicates of every reused topic are created. This is not what I want and it messes up many topic references. Can I set up branch filtering differently so that no topic duplicates are created? Probably not...
The reason is that my ditaval files contain conditions for creating variants (oem1, oem2, etc. -- no condition stands for the base product) of a product group (project1, project 2). The same ditaval conditions (oem1, oem2, etc.) are used across different product groups. It never occurred to me to filter on product groups (projects) because I use root ditamaps stored in different folders to create output for different product groups.
Regards,
Frank
------------------------------------------------------------------------ Am 27.03.2023 um 18:50 schrieb Oxygen XML Editor Support (Radu Coravu):
Hi Frank,
Maybe this will help:
https://blog.oxygenxml.com/presentation-reuse/conref_push.html
One remark, Oxygen will not show the pushed content in place but publishing should work.
Regards,
Radu
Radu Coravu Oxygen XML Editor On 3/27/23 18:05, Frank Dissinger wrote:
Hi all,
I have tested the "DITA > Push Current element" feature, but cannot get it to work.
I want to inject a <dlentry> element into a shared topic which is used in two projects. The element to be injected is stored in a warehouse topic for project 1. What I want is to inject this element only when project 1 is built. When project 2 is built, the key to the warehouse topic resolves to a different file which doese not include the element. So what I hope is that the element is only injected when I build project 1 and that it is left out when I build project 2 -- without any error or warning generated in the log file or in Oxygen's editor window.
However, the element does not appear in project 1 and in Oxygen it is shown as an empty <dt><p> struture. In a previous attempt the element was shown in the editor window, but not in output either. I can't remember what I did differently...
I may not have undestood this feature correctly. Can someone enlighten me? Thank you.
Regards,
Frank
The dita code:
* *
*file.dita*
<dlentry conaction="mark" conkeyref="lib_ref/my_id"> <dt/> <dd> <p/> </dd> </dlentry> <dlentry conaction="pushafter"> <dt>A term. The term in lib_ref.dita should be injected after that.</dt> <dd> <p>Explanation</p> </dd> </dlentry>
*lib_ref.dita *
<dl> <dlentry id="my_id"> <dt>The term to inject after the term in file.dita</dt> <dd> <p>Explanation</p> </dd> </dlentry> </dl>
*variables.ditamap* <keydef href="reuse/lib_ref.dita" keys="lib_ref"/>
Appearance in oXygen. --
*Frank Dissinger*
Documentation Manager
....................................................................
*CGS Publishing Technologies International GmbH*
*Email *frank.dissinger@cgs-oris.com | *Web* www.cgs-oris.com <http://www.cgs-oris.com/>
*Address* Kettelerstr. 24 | D-63512 Hainburg | Germany
*Phone* +49 6182 9626-27 | *Fax* +49 6182 9626-99
*Commercial register* Offenbach, HRB no. 21495
*Managing directors* Bernd Rückert, Christoph Thommessen
https://www.cgs-oris.com/Signatur.png <https://www.cgs-oris.com/signatur>
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
--
*Frank Dissinger*
Documentation Manager
....................................................................
*CGS Publishing Technologies International GmbH*
*Email *frank.dissinger@cgs-oris.com | *Web* www.cgs-oris.com <http://www.cgs-oris.com/>
*Address* Kettelerstr. 24 | D-63512 Hainburg | Germany
*Phone* +49 6182 9626-27 | *Fax* +49 6182 9626-99
*Commercial register* Offenbach, HRB no. 21495
*Managing directors* Bernd Rückert, Christoph Thommessen
https://www.cgs-oris.com/Signatur.png <https://www.cgs-oris.com/signatur>

Frank:
I heard of ditvalref branch filtering and I tested this. It does not create the desired result as duplicates of every reused topic are created. This is not what I want and it messes up many topic references. Can I set up branch filtering differently so that no topic duplicates are created? Probably not...
I use a generated prefix to realize duplicates. The affected topics all start with an underscore, _topic-name.dita, so that the generated topics look like * bahn_topic-name.html * strasse_topic-name.html Greetings Franz-Josef <topicref href="submaps/chapter-bahn.ditamap" format="ditamap" navtitle="Bahn" locktitle="yes"> <ditavalref href="filters/viv-webhelp-rail.ditaval"> <ditavalmeta> <dvrResourcePrefix>bahn</dvrResourcePrefix> </ditavalmeta> </ditavalref> </topicref> <topicref href="submaps/chapter-strasse.ditamap" format="ditamap" navtitle="Straße" locktitle="yes"> <ditavalref href="filters/viv-webhelp-road.ditaval"> <ditavalmeta> <dvrResourcePrefix>strasse</dvrResourcePrefix> </ditavalmeta> </ditavalref> </topicref> Franz-Josef Knelangen Leiter Dokumentation Main: +49 7634 5612-0 Facebook<https://www.facebook.com/akgsoftware/> | Xing<https://www.xing.com/pages/akgsoftware> | LinkedIn<https://www.linkedin.com/company/18590571> | YouTube<https://www.youtube.com/c/AKGSoftware-infrastructure> [cid:image002_01fef2d4-1f7d-4ea5-9727-748ef31e8852.png] AKG Software Consulting GmbH Uhlandstr. 12 D-79423 Heitersheim www.akgsoftware.de<https://www.akgsoftware.de/> Geschäftsführer: Dipl.-Ing. Artur K. Günther, Dipl.-Ing. Arno Brüggemann, Dipl.-Ing. (FH) Bernhard Feser, Dipl.-Ing. Jens Günther Sitz der Gesellschaft: Heitersheim, HRB 310383 (Amtsgericht Freiburg i. Br.)

Hi Franz-Josef, Thank you for your reply. The problem is that I do not want create any duplicates at all. All I want is inject additional information into a topic. Regards, Frank ------------------------------------------------------------------------ Am 29.03.2023 um 07:44 schrieb Franz-Josef Knelangen:
Frank:
I heard of ditvalref branch filtering and I tested this. It does not create the desired result as duplicates of every reused topic are created. This is not what I want and it messes up many topic references. Can I set up branch filtering differently so that no topic duplicates are created? Probably not...
I use a generated prefix to realize duplicates. The affected topics all start with an underscore, _topic-name.dita, so that the generated topics look like
* bahn_topic-name.html * strasse_topic-name.html
Greetings
Franz-Josef
<topicrefhref="submaps/chapter-bahn.ditamap"format="ditamap"navtitle="Bahn" locktitle="yes"> <ditavalrefhref="filters/viv-webhelp-rail.ditaval"> <ditavalmeta> <dvrResourcePrefix>bahn</dvrResourcePrefix> </ditavalmeta> </ditavalref> </topicref>
<topicrefhref="submaps/chapter-strasse.ditamap"format="ditamap"navtitle="Straße" locktitle="yes"> <ditavalrefhref="filters/viv-webhelp-road.ditaval"> <ditavalmeta> <dvrResourcePrefix>strasse</dvrResourcePrefix> </ditavalmeta> </ditavalref> </topicref>
* Franz-Josef Knelangen** *Leiter Dokumentation
Main: +49 7634 5612-0
Facebook <https://www.facebook.com/akgsoftware/>| Xing <https://www.xing.com/pages/akgsoftware>| LinkedIn <https://www.linkedin.com/company/18590571>| YouTube <https://www.youtube.com/c/AKGSoftware-infrastructure>
AKG Software Consulting GmbH
*AKG Software Consulting GmbH* Uhlandstr. 12 D-79423 Heitersheim www.akgsoftware.de <https://www.akgsoftware.de/>
Geschäftsführer: Dipl.-Ing. Artur K. Günther, Dipl.-Ing. Arno Brüggemann, Dipl.-Ing. (FH) Bernhard Feser, Dipl.-Ing. Jens Günther Sitz der Gesellschaft: Heitersheim, HRB 310383 (Amtsgericht Freiburg i. Br.)**
_______________________________________________ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
-- *Frank Dissinger* Documentation Manager .................................................................... *CGS Publishing Technologies International GmbH* *Email *frank.dissinger@cgs-oris.com | *Web* www.cgs-oris.com <http://www.cgs-oris.com/> *Address* Kettelerstr. 24 | D-63512 Hainburg | Germany *Phone* +49 6182 9626-27 | *Fax* +49 6182 9626-99 *Commercial register* Offenbach, HRB no. 21495 *Managing directors* Bernd Rückert, Christoph Thommessen https://www.cgs-oris.com/Signatur.png <https://www.cgs-oris.com/signatur>
participants (3)
-
Frank Dissinger
-
Franz-Josef Knelangen
-
Oxygen XML Editor Support (Radu Coravu)