Still no language-independent means to create 
   a new Document object
Does provide an implementation-independent method for Java only:
  DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
  DOMImplementation impl = registry.getDOMImplementation("XML");
   
package org.w3c.dom.bootstrap;
public class DOMImplementationRegistry { 
  public final static String PROPERTY =
        "org.w3c.dom.DOMImplementationSourceList";
  public static DOMImplementationRegistry newInstance()       
            throws ClassNotFoundException, InstantiationException, 
            IllegalAccessException;
  public DOMImplementation getDOMImplementation(String features)
            throws ClassNotFoundException,
            InstantiationException, IllegalAccessException, ClassCastException;
  public DOMImplementationList getDOMImplementationList(String features)
            throws ClassNotFoundException,
            InstantiationException, IllegalAccessException, ClassCastException;
  public void addSource(DOMImplementationSource s)
            throws ClassNotFoundException,
            InstantiationException, IllegalAccessException;
            
}