我正在使用Sarissa将XML字符串转换为DOM文档对象。除了Sarissa完全无视我的DTD之外,一切正常。没有注意到与DTD规则的偏差,也没有看到任何关于DTD的消息未找到。
我的XML开头是这样的:
<?xml version="1.0" standalone="no" ?>
<!DOCTYPE workspace SYSTEM "dtd/config.dtd">
我的JavaScript看起来像这样:
function toXML(str) {
var responseDoc = (new DOMParser()).parseFromString(str, "text/xml");
...
}
如何让Sarissa使用DTD?
答案 0 :(得分:1)
Sarissa's source code没有任何非常特殊的DOMParser()解析代码。它基本上包含IE,Safari或Firefox / Opera本机实现,它们可能无法解析您正在使用的浏览器中的DTD,因为外部DTD解析可遗传地是XML的可选方面(即使对于实体),并且验证甚至不太确定。 Web类强制一个人使用服务器端替换(或者可能是内部文档子集定义,在验证时可能仍然会被忽略)。