DOMParser:我们可以让它更少关于多重定义的属性吗?

时间:2012-01-25 03:02:33

标签: xml browser domparser redefine

“在接受的内容中保持自由,在发送内容时要保守。” - Jon Postel

现在我正在使用Chrome浏览器,但过去我在Firefox中也遇到了同样的情况。

JS代码... ...

(new DOMParser).parseFromString("<doc attr=\"foo\" attr=\"foo\" />","text/xml")

返回一个pukey parsererror页面而不是任何有用的页面。

目前,我正在消费表面上看起来确实存在此问题的XML文档。也就是说,一些元素具有两次相同的属性。

根据上述原则,我希望我的程序(基于浏览器的DOMParser对象)做得更好,而不仅仅是面对像这样的输入而举手。

我真的不在乎是否采用了属性的第一个,最后一个或其他值。

问题:有没有办法让解析器不那么严格?

1 个答案:

答案 0 :(得分:1)

XML的哲学一直与Postel定律相反:如果你对自己接受的东西持开放态度,这将鼓励内容创作者疏忽他们创造的东西。如果你对你所接受的内容严格要求,内容创作者将被迫对他们制作的内容严格要求,否则他们制作的内容将毫无用处。修复生成此非XML文件的进程。 (并且永远不会错误地将这样的对象称为“XML文档” - 如果它是XML,则不会有问题。)