“在接受的内容中保持自由,在发送内容时要保守。” - Jon Postel
现在我正在使用Chrome浏览器,但过去我在Firefox中也遇到了同样的情况。
JS代码... ...
(new DOMParser).parseFromString("<doc attr=\"foo\" attr=\"foo\" />","text/xml")
返回一个pukey parsererror
页面而不是任何有用的页面。
目前,我正在消费表面上看起来确实存在此问题的XML文档。也就是说,一些元素具有两次相同的属性。
根据上述原则,我希望我的程序(基于浏览器的DOMParser对象)做得更好,而不仅仅是面对像这样的输入而举手。
我真的不在乎是否采用了属性的第一个,最后一个或其他值。
问题:有没有办法让解析器不那么严格?
答案 0 :(得分:1)
XML的哲学一直与Postel定律相反:如果你对自己接受的东西持开放态度,这将鼓励内容创作者疏忽他们创造的东西。如果你对你所接受的内容严格要求,内容创作者将被迫对他们制作的内容严格要求,否则他们制作的内容将毫无用处。修复生成此非XML文件的进程。 (并且永远不会错误地将这样的对象称为“XML文档” - 如果它是XML,则不会有问题。)