Xml 什么';缺少属性的Element.getAttribute()的故事是什么?

Xml 什么';缺少属性的Element.getAttribute()的故事是什么?,xml,dom,w3c,Xml,Dom,W3c,我一直认为指定XMLDOMElement.getAttribute(name)是为了在属性不存在时返回空字符串。但我刚刚读到,浏览器返回null。它接着引用,它确实说它应该返回null。但是我回到W3C的DOM Level 3规范,它说该方法应该返回空字符串 那么真实的故事是什么?真正的规格是什么?现在是什么样的规范真正取代了DOM的W3C规范?我已经好几年没有接触过这些东西了,我也落后于时代了吗?W3CDOM规范的当前版本是。在DOM4中,getAttribute的行为发生了变化,因此W3C似

我一直认为指定XMLDOM
Element.getAttribute(name)
是为了在属性不存在时返回空字符串。但我刚刚读到,浏览器返回
null
。它接着引用,它确实说它应该返回
null
。但是我回到W3C的DOM Level 3规范,它说该方法应该返回空字符串


那么真实的故事是什么?真正的规格是什么?现在是什么样的规范真正取代了DOM的W3C规范?我已经好几年没有接触过这些东西了,我也落后于时代了吗?

W3CDOM规范的当前版本是。在DOM4中,
getAttribute
的行为发生了变化,因此W3C似乎赶上了WHATWG。根据:

DOM的主要标准化由W3C处理,W3C上一次在2004年制定了一项建议。WHATWG接管了标准的开发工作,将其作为一个活文档发布。W3C现在发布WHATWG标准的稳定快照

,:

返回值

Attr
值作为字符串,或者空字符串(如果该属性没有指定值或默认值)

:

返回上下文对象属性列表中名为name的第一个属性的值,否则返回null


因此,我想符合DOM级别2的XML解析器仍然会返回一个空字符串?@GarretWilson如果它声称符合DOM级别2,那么是的。所有这些都是准确的,但有一点需要注意:就引用的语句“W3C现在发布WHATWG标准的稳定快照”而言,虽然这在2014年底之前的一段时间内是正确的,但现在已经不正确了。自2014年以来,不再对其进行维护,也未对上游规范进行任何更改