Extends the DOM2 Element interface with  methods for guided document editing. 
IDL:
  interface ElementCM : Element {
    int                contentType();
    ElementDeclaration getElementDeclaration()
                                        raises(dom::DOMException);
    boolean            canSetAttribute(in DOMString attrname, 
                                       in DOMString attrval);
    boolean            canSetAttributeNode(in Node node);
    boolean            canSetAttributeNodeNS(in Node node, 
                                             in DOMString namespaceURI, 
                                             in DOMString localName);
    boolean            canSetAttributeNS(in DOMString attrname, 
                                         in DOMString attrval, 
                                         in DOMString namespaceURI, 
                                         in DOMString localName);
  };
Java binding:
package org.w3c.dom.contentModel;
public interface ElementCM extends Element {
    public int contentType();
    public ElementDeclaration getElementDeclaration()
     throws DOMException;
    public boolean canSetAttribute(String attrname, String attrval);
    public boolean canSetAttributeNode(Node node);
    public boolean canSetAttributeNodeNS(Node node, 
     String namespaceURI, String localName);
    public boolean canSetAttributeNS(String attrname, 
     String attrval, String namespaceURI, String localName);
     
}