Framework conflict

Here should go questions about transforming XML with XSLT and FOP.
mboudreau
Posts: 48
Joined: Sat Jan 07, 2017 1:23 am

Framework conflict

Post by mboudreau » Mon Oct 28, 2019 10:26 pm

I appear to have a conflict between two frameworks I set up, and I don't know how to troubleshoot this.

I have a framework I've been using without problems for over a year, which is configured as follows:
Framework: "Journal Publishing 3.0"
Association rules
- Public ID: -//NLM//DTD Journal Publishing DTD v3.0 20080202//EN

Schema
- Schema URI: ${framework}/dtd/ucp_journalpublishing-3.0/journalpublishing3.dtd

Catalogs
- Catalog URL: ${framework}/dtd/ucp_journalpublishing-3.0/catalog.ucpj.xml
I recently needed to write an XSL transformation for a set of documents using a different DTD, so I created a new framework for them, configured as follows:
Framework: "Archive Article 3.0.5"
Association rules
- Public ID: -//Atypon//DTD Atypon Systems Journal Archiving and Interchange NLM DTD v3.0.5 20110520//EN

Schema
- Schema URI: ${framework}/dtd/atypon_archive-interchange-dtd-3.0.5/atypon-archivearticle3.dtd

Catalogs
- Catalog URL: ${framework}/dtd/atypon_archive-interchange-dtd-3.0.5/catalog-v3.ucpj.xml
After setting up and using the new framework successfully, I opened a file that should have been handled by the old ("Journal Publishing") framework, and got this error message:
Cannot parse document: /Applications/Oxygen 21.1/frameworks/atypon-archive-article-305/dtd/atypon_arhive-interchange-dtd-3.0.5/journalpublishing3.dtd (No such file or directory)
Oxygen appears to be looking for the main DTD file of old framework in the wrong location.

If I disable the new framework, Oxygen opens the file using the old framework, no problem.

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

Re: Framework conflict

Post by Radu » Tue Oct 29, 2019 11:15 am

Hi,

Most of the frameworks in the Oxygen Preferences->"Document Type Association" page contribute XML catalogs used by Oxygen when validating XML instances. But the contributed XML catalogs are all contributed to a common pool of catalogs, so even if you open an XML instance of the older framework, Oxygen will try to map DTD public and system IDs in the list of XML catalogs, gathered in the order in which the document types are defined. So Oxygen might map the DTD public or system ID for an XML document opened for the older framework through the XML catalog of the newer framework. In such cases indeed selectively disabling document types is the solution.

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

mboudreau
Posts: 48
Joined: Sat Jan 07, 2017 1:23 am

Re: Framework conflict

Post by mboudreau » Mon Nov 04, 2019 5:18 am

Is there any way to avoid this? If I needed to convert an instance of one DTD into an instance of the other DTD, and I couldn't have both frameworks active at the same time, I'd be stuck.

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

Re: Framework conflict

Post by Radu » Mon Nov 04, 2019 9:44 am

Hi,

Maybe you can share the framework you created with us (support@oxygenxml.com) and I could try to have a look at it.
Your framework somehow has an XML catalog mapping (using probably the "systemSuffix") which seems to direct also references for the older framework's DTDs to the folder where the custom framework is located.

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

Post Reply