pub(crate) trait NamedNodeMapMethods<D: DomTypes> {
// Required methods
fn Length(&self) -> u32;
fn Item(&self, index: u32) -> Option<DomRoot<D::Attr>>;
fn GetNamedItem(&self, qualifiedName: DOMString) -> Option<DomRoot<D::Attr>>;
fn GetNamedItemNS(
&self,
namespace: Option<DOMString>,
localName: DOMString,
) -> Option<DomRoot<D::Attr>>;
fn SetNamedItem(&self, attr: &D::Attr) -> Fallible<Option<DomRoot<D::Attr>>>;
fn SetNamedItemNS(
&self,
attr: &D::Attr,
) -> Fallible<Option<DomRoot<D::Attr>>>;
fn RemoveNamedItem(
&self,
qualifiedName: DOMString,
) -> Fallible<DomRoot<D::Attr>>;
fn RemoveNamedItemNS(
&self,
namespace: Option<DOMString>,
localName: DOMString,
) -> Fallible<DomRoot<D::Attr>>;
fn IndexedGetter(&self, index: u32) -> Option<DomRoot<D::Attr>>;
fn SupportedPropertyNames(&self) -> Vec<DOMString>;
fn NamedGetter(&self, qualifiedName: DOMString) -> Option<DomRoot<D::Attr>>;
}