I'm new to catalogs on Linux and certainly new to XMLCE so please forgive my ignorance.
I've hit a roadblock and my guess is that our DTDs use entity references that are not supported by XML Copy Edit. These same DTDs are working perfectly in Oxygen, XMLMind, and XMetaL. Please confirm if my fear is correct.
I've added our company's DITA DTDs via the /etc/xml/catalog file. I've inserted this entry in that file:
I've then placed the catalog-dita.xml file in the /etc/xml/DITA folder and it then points relativistically (from the DITA folder) at the appropriate dtd/mod/ent files depending on the doctype declaration of the XML file being read.
However, when I attempt to validate a file with this doctype declaration in XMLCE:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "dtdbase.dtd" []>
I get this error:
Unexpected validation error
It appears to be finding the catalog and probably the corresponding DTD as well because the very first line:
<?xml version="1.0" encoding="UTF-8"?>
is redlined after running the validator. That tells me it's finding the DTD because I'm not getting a "can't find /path/to/xml/dtdbase.dtd" message.
When I open the matching DTD, I get this error when I try to validate it:
Validation stopped at line 49, column 2: Expected comment or CDATA
The line it died on reads:
<!ENTITY % DITAArchNSPrefix
<!-- default namespace prefix for DITAArchVersion attribute can be
overridden through predefinition in the document type shell -->
<!ENTITY % DITAArchNSPrefix
"ditaarch" >
<!-- must be instanced on each topic type -->
<!ENTITY % arch-atts "
xmlns:%DITAArchNSPrefix;
CDATA #FIXED
'http://dita.oasis-open.org/architecture/2005/'
%DITAArchNSPrefix;:DITAArchVersion
CDATA '1.1'" >
Please let me know if there's a way to fix this.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Just FYI, I believe .NET crashes at the same point... These entity defs are rough on parsers, apparently. But then, many editors are able to overcome it, so it must be possible!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
I'm new to catalogs on Linux and certainly new to XMLCE so please forgive my ignorance.
I've hit a roadblock and my guess is that our DTDs use entity references that are not supported by XML Copy Edit. These same DTDs are working perfectly in Oxygen, XMLMind, and XMetaL. Please confirm if my fear is correct.
I've added our company's DITA DTDs via the /etc/xml/catalog file. I've inserted this entry in that file:
<delegatePublic publicIdStartString="-//OASIS//DTD DITA" catalog="file:///etc/xml/DITA/catalog-dita.xml"/>
I've then placed the catalog-dita.xml file in the /etc/xml/DITA folder and it then points relativistically (from the DITA folder) at the appropriate dtd/mod/ent files depending on the doctype declaration of the XML file being read.
However, when I attempt to validate a file with this doctype declaration in XMLCE:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "dtdbase.dtd" []>
I get this error:
Unexpected validation error
It appears to be finding the catalog and probably the corresponding DTD as well because the very first line:
<?xml version="1.0" encoding="UTF-8"?>
is redlined after running the validator. That tells me it's finding the DTD because I'm not getting a "can't find /path/to/xml/dtdbase.dtd" message.
When I open the matching DTD, I get this error when I try to validate it:
Validation stopped at line 49, column 2: Expected comment or CDATA
The line it died on reads:
<!ENTITY % DITAArchNSPrefix
In context:
<!-- ============================================================= -->
<!-- ARCHITECTURE ENTITIES -->
<!-- ============================================================= -->
<!-- default namespace prefix for DITAArchVersion attribute can be
overridden through predefinition in the document type shell -->
<!ENTITY % DITAArchNSPrefix
"ditaarch" >
<!-- must be instanced on each topic type -->
<!ENTITY % arch-atts "
xmlns:%DITAArchNSPrefix;
CDATA #FIXED
'http://dita.oasis-open.org/architecture/2005/'
%DITAArchNSPrefix;:DITAArchVersion
CDATA '1.1'" >
Please let me know if there's a way to fix this.
Just FYI, I believe .NET crashes at the same point... These entity defs are rough on parsers, apparently. But then, many editors are able to overcome it, so it must be possible!