在根据DTD验证文件时,我遇到了问题。XML文件只显示:
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"[]>
这一点是不能改变的。
我有DTD文件(实际上在16个子文件夹中有98个DTD文件),但是我不知道如何引用它们,或者更好的是包含(embed?)它们在应用程序中,即为此创建一个独立的验证器。
我使用的是.net XmlReader类,它运行得很好,但是我得到了An error has occurred while opening external DTD
谢谢!巴托兹
发布于 2014-04-09 19:34:58
OASIS提供的DITA DTD包括一个用于解析公共ID的XML目录。如果您正在使用dita.xml打包的DTD,那么目录就是OT发行版根目录中的文件目录-tua.xml。如果是其他包裹的话,你得四处看看目录。
我不熟悉.net XML处理,但是在解析resolver.jar时必须有一些方法来使用目录,这可以与Apache类相媲美。
干杯,
艾略特
发布于 2015-08-04 20:57:06
一个选项是实现读取目录文件的自定义实体解析器。Mircrosoft几乎不支持dita和DTD,因为它们似乎倾向于模式。
https://stackoverflow.com/questions/22949153
复制相似问题