Skip to main content
April 15, 2014
Question

Open xml from ditamap fails

  • April 15, 2014
  • 2 replies
  • 368 views

Using FM 10.

I set up a new application MyDITA by coping an existing 1.1 DITA structure.

In DITA > Options, I created a new application mapping and entered my Map and topic mappings from MyDITA application.

I chose DITA > New DITA File > New <map> and created a ditamap file that includes two of my topics. Okay so far.

In the ditamap (FM interface), I double click a topic to open it and I get the following error.

Could not open DTD file: C:\Users\xxx\myfolder\topic.dtd

Parse error at line 10, char 1: Error in processing external entity reference Parsing aborted.

Why is it looking for the DTD in my local folder where the XML files are? Why isn't it looking in the location of the MyDITA application?

I can open the XML file by in Explorer by right-click and choose Open in FrameMaker. It asks to confirm MyDITA application and it opens fine. I cannot open it from the ditamap and cannot create a composit document from the ditamap to create a TOC.

Can anyone help with this? Thank you!

This topic has been closed for replies.

2 replies

ScottPrentice
Inspiring
May 16, 2014

How were the topic files created?

This error is common when the doctype declaration specifies the DTD as an HTTP reference rather than just the did file name ("database.dtd", or other). Other XML editors will create a doctype declaration that references the DTD via HTTP .. FM (especially FM10) doesn't like that.

Open the topic file in Notepad (or other plain text editor and take a look at the doctype declaration.

…scott

May 16, 2014

I had a similar situation, which I managed to solve.

I upgraded from FrameMaker 9 to FrameMaker 12, and migrated my customized Dita 1.1 application.

I created a new application mapping that mapped the reference, concept, task, topic, and map doctypes to my application.

When I tried opening existing topics from my map, I got the same error you describe.

However, I created a new topic, and was able to open it from the map, which seems to be different than the behaviour you're describing. When I compared the Doctype declaration of the new topic, I noticed it declared the type of topic (concept, task, topic, reference), while the older topics only declared "dita". I returned to the Application Mapping that I had created and mapped the dita doctype to my application, using the Composite type. This fixed my problem, and I'm now able to open the old topics without error.

I don't know if this solves the original problem, but it might help someone else trying to upgrade older projects to a newer release.