在针对DTD验证文件时出现问题。 XML文件只说:
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"[]>
并且该位无法更改。
我有DTD文件(16个子文件夹中实际有98个DTD文件),但我不知道如何引用它们,甚至更好,在应用程序中包含(嵌入?)它们,即创建一个独立的验证器这一点。
我正在使用.net XmlReader类,它工作正常,但我得到了An error has occurred while opening external DTD
谢谢! 的Bartosz
答案 0 :(得分:2)
OASIS提供的DITA DTD包括用于解析公共ID的XML目录。如果您使用与DITA Open Toolkit一起打包的DTD,则目录是OT分发根目录中的文件catalog-dita.xml。如果是其他包装,那么您必须四处寻找目录。
我不熟悉.net XML处理,但在解析XML时必须有一些方法可以使用目录,与Apache resolver.jar类相比。
干杯,
艾略特
答案 1 :(得分:0)
一种选择是实现读取目录文件的自定义实体解析程序。 Mircrosoft几乎不支持dita和DTD,因为它们似乎倾向于模式。