通过OASIS DITA dtd验证XML

时间:2014-04-08 22:08:36

标签: c# .net xml validation dita

在针对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

2 个答案:

答案 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,因为它们似乎倾向于模式。