0

根据 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

谢谢!巴托什

4

2 回答 2

2

OASIS 提供的 DITA DTD 包括一个用于解析公共 ID 的 XML 目录。如果您使用与 DITA Open Toolkit 一起打包的 DTD,则目录是 OT 分发根目录中的文件 catalog-dita.xml。如果是其他包,那么您将不得不四处寻找目录。

我不熟悉 .net XML 处理,但在解析 XML 时必须有某种方法来使用目录,类似于 Apache resolver.jar 类。

干杯,

艾略特

于 2014-04-09T19:34:58.107 回答
0

一种选择是实现读取目录文件的自定义实体解析器。Mircrosoft 对dita 和DTD 的支持很少,因为它们似乎倾向于模式。

于 2015-08-04T20:57:06.353 回答