Pages: 1
Print
Author Topic: DITA specialization problem  (Read 2090 times)
tmakita
Member

Posts: 26



WWW
« on: September 01, 2013, 07:17:00 PM »

Hi Forum members,

One of my user is moving from another XML editor to XMetaL(Version#: 8.0.0.035) recently.
They have lots of DITA instances that were authored in another XML editor in the past.

Today I received a specialized DTD file that they used for authoring. This file contains following lines:

Code:
<!ENTITY % ui-d-def     PUBLIC
"-//OASIS//ELEMENTS DITA User Interface Domain//EN"
"../../../com.xxx.dita/doctypes/ditabase/uiDomain.mod"         >
%ui-d-def;

<!ENTITY % hi-d-def     PUBLIC
"-//OASIS//ELEMENTS DITA Highlight Domain//EN"
"../../../com.xxx.dita/doctypes/ditabase/highlightDomain.mod"  >
%hi-d-def;

<!ENTITY % pr-d-def     PUBLIC
"-//OASIS//ELEMENTS DITA Programming Domain//EN"
"../../../com.xxx.dita/doctypes/ditabase/programmingDomain.mod">
%pr-d-def;

<!ENTITY % sw-d-def     PUBLIC
"-//OASIS//ELEMENTS DITA Software Domain//EN"
"../../../com.xxx.dita/doctypes/ditabase/softwareDomain.mod"   >
%sw-d-def;

<!ENTITY % ut-d-def     PUBLIC
"-//OASIS//ELEMENTS DITA Utilities Domain//EN"
"../../../com.xxx.dita/doctypes/ditabase/utilitiesDomain.mod"  >
%ut-d-def;

<!ENTITY % indexing-d-def     PUBLIC
"-//OASIS//ELEMENTS DITA Indexing Domain//EN"
"../../../com.xxx.dita/doctypes/ditabase/indexingDomain.mod"   >
%indexing-d-def;

As you can see the specialized DTD uses standard OASIS public identifiers for their specialization module.
I think this will invoke serious public identifier corruption when import them into XMetaL.

Are there any ideas to solve this problem?

Regards,

Toshihiko Makita
Logged

Toshihiko Makita
Development Section
Antenna House, Inc.
Derek Read
Program Manager (XMetaL)
Administrator
Member

Posts: 2580



WWW
« Reply #1 on: September 03, 2013, 12:57:31 PM »

For XMetaL all of these relative paths must resolve directly to the file being referenced (catalog files and PUBLIC id values cannot be used for DITA). The reason for that is because a few of the features in XMetaL Author Enterprise's DITA authoring still use 3rd party XML parsers (MSXML, Xerces, Saxon) that don't support the same PUBLIC IDs and catalogs that XMetaL itself does. These parsers are used as part of some of the DITA authoring features such as link checking and are used primarily because they are able to run in a different process.

Typically, your specialized DTDs would be placed near the standard DITA DTDs (often the copy included with the DITA OT) to make such paths easy to create. In order to use the DTDs that we provide (either those in the XMetaL Author Enterprise installation folder or those we include with the DITA OT) you will need to modify the paths you have shown as your folder structure is different.

Please also make sure you follow the instructions regarding setting this up in the Help under "Working with DITA" and "DITA Specializations".

Ultimately we wish to externalize the parser from XMetaL and use it universally (to replace MSXML, Xerces and Saxon) but that work is not yet complete.
« Last Edit: September 05, 2013, 02:23:52 AM by Derek Read » Logged
tmakita
Member

Posts: 26



WWW
« Reply #2 on: September 04, 2013, 06:31:20 PM »

Hi Derek,

Thank you for your suggestion.

Quote
(catalog files and PUBLIC id values cannot be used for DITA

I didn't know this feature until now. I will try to use this DTD according to your suggestion.

Quote
Ultimately we wish to externalize our own parser and use it universally (to replace MSXML, Xerces and Saxon) but that work is not yet complete.

Yes, I guess that there needs lots of efforts to maintain your own parser.
I expect that you will finish this subject successfully.

Regards,
Logged

Toshihiko Makita
Development Section
Antenna House, Inc.
Pages: 1
Print
Jump to:  

email us