Only one of six conkeyrefs appear in output

Having trouble installing <oXygen/>? Got a bug to report? Post it all here.
RBVanDyke
Posts: 83
Joined: Wed Feb 11, 2015 11:25 pm
Location: San Francisco, California USA
Contact:

Only one of six conkeyrefs appear in output

Post by RBVanDyke » Tue Mar 31, 2020 8:04 am

For oXygen XML Editor 22, DITA-OT 3.4.

I'm trying to create a simple demo of conkeyrefs. In the demo's ditapmap I have six consistently structured keydefs:

Code: Select all

<keydef keys="key_section_intro" href="../resume_sections/r_rbv_resume_intro.dita"
    processing-role="resource-only"/>
<keydef keys="key_section_writing"
    href="../resume_sections/r_rbv_resume_writing.dita"
    processing-role="resource-only"/>
<keydef keys="key_section_tools" href="../resume_sections/r_rbv_resume_tools.dita"
    processing-role="resource-only"/>
<keydef keys="key_section_technologies"
    href="../resume_sections/r_rbv_resume_techs.dita"
    processing-role="resource-only"/>
<keydef keys="key_section_projmgmt"
    href="../resume_sections/r_rbv_resume_projmgmt.dita"
    processing-role="resource-only"/>
<keydef keys="key_section_education"
    href="../resume_sections/r_rbv_resume_edu.dita"
    processing-role="resource-only"/>
In the destination topic that references the keydefs I have six consistently structured conkeyrefs:

Code: Select all

<section conkeyref="key_section_intro/section_intro"/>
<section conkeyref="key_section_writing/section_writing"/>
<section conkeyref="key_section_tools/section_tools"/>
<section conkeyref="key_section_technologies/section_technologies"/>
<section conkeyref="key_section_projmgmt/section_projmgmt"/>
<section conkeyref="key_section_education/section_education"/>
  • IF I view the target reference topic in Author mode, oXygen XML incorporates all reference sections in the display. So the "connections" between the keydefs in the dtiamap and the conkeyrefs the target reference topic appear to be properly formed.
  • When I transform the ditamap as PDF based on HTML5 and CSS, only the first conkeyref ends up being included in the PDF output.
I've tried to identify what might be preventing the other five conkeyrefs / sections from being excluded in the PDF output but am coming up empty. I've also commented-out the section that's being included but that simply produced an empty PDF page.

Any troubleshooting suggestions?

Cheers & thanks,
Riley
SFO

Radu
Posts: 6981
Joined: Fri Jul 09, 2004 5:18 pm

Re: Only one of six conkeyrefs appear in output

Post by Radu » Tue Mar 31, 2020 8:18 am

Hi Riley,

If those target topics like "r_rbv_resume_writing.dita" are located in a folder outside of the folder where the main DITA Map is located, maybe you should read this topic:

https://www.oxygenxml.com/doc/versions/ ... -refs.html

If you edit the Oxygen transformation scenario in the Parameters list there is a fix.external.refs.com.oxygenxml parameter which can be enabled to help with this.

If your problem is something else maybe you can put together a small DITA project and send it to us for further tests (support@oxygenxml.com).

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com

RBVanDyke
Posts: 83
Joined: Wed Feb 11, 2015 11:25 pm
Location: San Francisco, California USA
Contact:

Re: Only one of six conkeyrefs appear in output

Post by RBVanDyke » Tue Mar 31, 2020 8:22 am

Radu:

Thanks as always. I think you've pointed me in the correct direction. One of the post-transform warnings ==
[DOTJ036W] The file "file:/home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_sections/r_rbv_resume_intro.dita" is outside the scope of the input dita/map directory.
I'm workin' on it... :wink:

Cheers,
Riley
SFO

RBVanDyke
Posts: 83
Joined: Wed Feb 11, 2015 11:25 pm
Location: San Francisco, California USA
Contact:

Re: Only one of six conkeyrefs appear in output

Post by RBVanDyke » Tue Mar 31, 2020 8:48 am

Created a copy of the DITA PDF - based on HTML5 & CSS transform and set fix.external.refs.com.oxygenxml to true.

I can read these error messages but they're not making a lot of sense:
System ID: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: warning
Description: [DOTJ036W] The file "file:/home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_sections/r_rbv_resume_intro.dita" is outside the scope of the input dita/map directory.
Start location: 20:38

System ID: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: warning
Description: [DOTJ036W] The file "file:/home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_sections/r_rbv_resume_writing.dita" is outside the scope of the input dita/map directory.
Start location: 24:38

System ID: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: warning
Description: [DOTJ036W] The file "file:/home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_sections/r_rbv_resume_tools.dita" is outside the scope of the input dita/map directory.
Start location: 27:38

System ID: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: warning
Description: [DOTJ036W] The file "file:/home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_sections/r_rbv_resume_techs.dita" is outside the scope of the input dita/map directory.
Start location: 31:38

System ID: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: warning
Description: [DOTJ036W] The file "file:/home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_sections/r_rbv_resume_projmgmt.dita" is outside the scope of the input dita/map directory.
Start location: 35:38

System ID: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: warning
Description: [DOTJ036W] The file "file:/home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_sections/r_rbv_resume_edu.dita" is outside the scope of the input dita/map directory.
Start location: 39:38

System ID: /tmp/OxygenXMLTemp-rbv/ditaTemporaryOutputDir-1585632854797/t1/t2/t3/t4/t5/oxy_ex-1/resume_as_conkeyrefs/r_rbv_resume_conkeyrefs.dita
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: error
Description: [DOTX010E]: Unable to find target for conref="../../../resume_sections/r_rbv_resume_intro.dita#section_intro".
Start location: 27:59

System ID: /tmp/OxygenXMLTemp-rbv/ditaTemporaryOutputDir-1585632854797/t1/t2/t3/t4/t5/oxy_ex-1/resume_as_conkeyrefs/r_rbv_resume_conkeyrefs.dita
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: error
Description: [DOTX010E]: Unable to find target for conref="../../../resume_sections/r_rbv_resume_writing.dita#section_writing".
Start location: 29:63

System ID: /tmp/OxygenXMLTemp-rbv/ditaTemporaryOutputDir-1585632854797/t1/t2/t3/t4/t5/oxy_ex-1/resume_as_conkeyrefs/r_rbv_resume_conkeyrefs.dita
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: error
Description: [DOTX010E]: Unable to find target for conref="../../../resume_sections/r_rbv_resume_tools.dita#section_tools".
Start location: 31:59

System ID: /tmp/OxygenXMLTemp-rbv/ditaTemporaryOutputDir-1585632854797/t1/t2/t3/t4/t5/oxy_ex-1/resume_as_conkeyrefs/r_rbv_resume_conkeyrefs.dita
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: error
Description: [DOTX010E]: Unable to find target for conref="../../../resume_sections/r_rbv_resume_techs.dita#section_technologies".
Start location: 33:73

System ID: /tmp/OxygenXMLTemp-rbv/ditaTemporaryOutputDir-1585632854797/t1/t2/t3/t4/t5/oxy_ex-1/resume_as_conkeyrefs/r_rbv_resume_conkeyrefs.dita
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: error
Description: [DOTX010E]: Unable to find target for conref="../../../resume_sections/r_rbv_resume_projmgmt.dita#section_projmgmt".
Start location: 35:65

System ID: /tmp/OxygenXMLTemp-rbv/ditaTemporaryOutputDir-1585632854797/t1/t2/t3/t4/t5/oxy_ex-1/resume_as_conkeyrefs/r_rbv_resume_conkeyrefs.dita
Scenario: RBV: DITA PDF - based on HTML5 & CSS
Input file: /home/rbv/oXygenProjects/dita-ot-3.4/rbv_dita_reuse_demos/resume_as_conkeyrefs/m_resume_as_conkeyrefs.ditamap
Engine name: DITA-OT
Severity: error
Description: [DOTX010E]: Unable to find target for conref="../../../resume_sections/r_rbv_resume_edu.dita#section_education".
Start location: 37:67
What's confusing is that if i view the the target topic in Author mode, then the sections appear as intended. But the PDF (or HTML5) transform fails to "pick up" the topics after the first. If nothing worked it would be one thing. But that fact that the first conkeyref appears in output but the other five do not is confusing...

Cheers,
Riley
SFO

Radu
Posts: 6981
Joined: Fri Jul 09, 2004 5:18 pm

Re: Only one of six conkeyrefs appear in output

Post by Radu » Tue Mar 31, 2020 8:55 am

Hi Riley,

Not sure why the "ix.external.refs.com.oxygenxml" does not fix things, it usually does.
As I said, if you can put together a small DITA project we can take a look at it.
In the DITA Maps Manager the toolbar "Validate and check for completeness" action has a "Report references to resources outside of the DITA Map folder" checkbox. It's useful to find all such cases. The DITA Map validation may also find other issues as well.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com

RBVanDyke
Posts: 83
Joined: Wed Feb 11, 2015 11:25 pm
Location: San Francisco, California USA
Contact:

Re: Only one of six conkeyrefs appear in output

Post by RBVanDyke » Tue Mar 31, 2020 9:41 pm

As part of troubleshooting this I'm seeing something that may, or may not, be pertinent.

To validate that the HREF's path is correct, I've recreated a keydef. When I do, oXygen helps me specify the href as follows:

Code: Select all

<keydef keys="key_section_education"
href="../resume_sections/r_rbv_resume_edu.dita"
processing-role="resource-only"/>
Point being that oXygen helps me create a seemingly valid href. And as stated earlier, viewing the destination file in Author mode displays all cited elements.

But the errors generated during the transform state:
[DOTX010E]: Unable to find target for conref="../../../resume_sections/r_rbv_resume_intro.dita#section_intro".
Note the sequence of three ../../../ "parent directory" values in the pathname. But the HREF attribute contains only one. It's the transform that seems to be getting a 'bad message' as it were...?

I'm going to create a debug instance of the files that will contain the files referenced by the keydefs in the same directory as the ditamap file. To be continued...

Cheers,
Riley
SFO

RBVanDyke
Posts: 83
Joined: Wed Feb 11, 2015 11:25 pm
Location: San Francisco, California USA
Contact:

Re: Only one of six conkeyrefs appear in output

Post by RBVanDyke » Tue Mar 31, 2020 9:50 pm

And the destination file specifies conkeyrefs but the error cites conrefs.

Code: Select all

<section conkeyref="key_section_intro/section_intro"/>

RBVanDyke
Posts: 83
Joined: Wed Feb 11, 2015 11:25 pm
Location: San Francisco, California USA
Contact:

Re: Only one of six conkeyrefs appear in output

Post by RBVanDyke » Tue Mar 31, 2020 10:56 pm

I've gotten things to work in a DEBUG project / directory where the conkeyref'ed sections are in a subdirectory of the ditamap's directory.

So using pathnames that begin with ../ seems to be the source of the problem? And specifying fix.external.refs.com.oxygenxml == true doesn't seem to be working...

If you want, Radu, I can send you the non-working variant in a ZIP file.

Cheers, thanks, & hope this helps,
Riley
SFO

Radu
Posts: 6981
Joined: Fri Jul 09, 2004 5:18 pm

Re: Only one of six conkeyrefs appear in output

Post by Radu » Wed Apr 01, 2020 8:25 am

Hi Riley,

Those references to resources outside of the dita map folder are valid, the DITA specification does not impose restrictions on where various resources might me. But the DITA Open Toolkit publishing engine has publishing problems when it encounters such cases. This is why we added the "fix.external.refs.com.oxygenxml", but I'm not sure why it does not work in your case if you enable it. So yes, please, if you have a small project exemplifying this problem and if you are willing to share it please send it to us (support@oxygenxml.com).

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com

RBVanDyke
Posts: 83
Joined: Wed Feb 11, 2015 11:25 pm
Location: San Francisco, California USA
Contact:

Re: Only one of six conkeyrefs appear in output

Post by RBVanDyke » Wed Apr 01, 2020 10:35 pm

7Z archive 2020-04-01_rbv_conkeyref_problem.7z sent...

RBVanDyke
Posts: 83
Joined: Wed Feb 11, 2015 11:25 pm
Location: San Francisco, California USA
Contact:

Re: Only one of six conkeyrefs appear in output

Post by RBVanDyke » Thu Apr 02, 2020 8:13 pm

OK, so Radu was kind enough to figure out why my project wasn't working. Key point being that I chose an incorrect transformation scenario that wasn't meant to transform ditamap files. Here's the essential part of his reply.
If you open the DITA Map "m_resume_as_conkeyrefs.ditamap" in the DITA Maps Manager view and use the "Configure Transformation Scenarios" toolbar button, then edit the "RBV DITA PDF - based on HTML5 & CSS" transformation scenario that you have provided, the scenario configuration dialog has a "Type" field which shows that the transformation scenario was actually intended for publishing single DITA topics.

What you can do in the "Configure Transformation Scenarios" dialog is to duplicate the predefined "DITA Map PDF - based on HTML5 & CSS" transformation scenario, in the Parameters tab enable the "fix.external..." parameter and then use this scenario when publishing the DITA Map.
After I made that change it now works. Thanks as always Radu!

Cheers,
RBV
SFO

Post Reply