2012-01-25 18 views
2

“在你接受的内容中保持自由,并保持你的内容。” - Jon PostelDOMParser:我们可以减少对多重定义属性的影响吗?

现在我正在使用chrome浏览器,但过去我也遇到过使用Firefox的情况。

JS代码一样......

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

返回pukey parsererror页,而不是任何有用的东西。

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

根据上述原则,我希望我的程序(建立在浏览器的DOMParser对象上)做得比在这些输入面前投入更多。

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

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

回答

1

XML的哲学一直与Postel定律相反:如果您对所接受的内容持自由主义态度,这将鼓励内容创作者在创作过程中疏忽大意。如果你对所接受的内容严格要求,内容创作者将被迫严格执行他们制作的内容,否则他们制作的内容将毫无用处。修复生成这个非XML文件的过程。 (并且绝对不要将这样的对象称为“XML文档” - 如果它是XML,就不会出现问题。)

+0

感谢您的洞察。根据你在这里所说的话,我已经改进了这个问题。 – Harold

相关问题