In the same way as for loading namespaces may be used while constructing new DOM-documents. The only difference is that you have to manage namespaces manually. Besides not of all DOM-serializer implementations support automatic namespace-prefix generation. Thus it is good idea to declare your namespace as default one on you root element. This is shown in the following sample:

 import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

/**
 * This sample program using fully qualified names while
 * creating the contents of DOM-document.
 */

public class Test {
  public static void main(String[] args) {
    try {
      // load the document from a file:
      DocumentBuilderFactory factory = 
        DocumentBuilderFactory.newInstance();
      factory.setNamespaceAware(true);

      DocumentBuilder loader = factory.newDocumentBuilder();
      Document document = loader.newDocument();

      // here is our vendor URL used in namepace-related functions:
      String docNS = "http://www.my-company.com";

      // create document element:
      Element order = document.createElementNS(docNS, 
        "purchase-order");
      document.appendChild(order);
      // set default namespace:
      order.setAttribute("xmlns", docNS);

      // .. create some other contents ...

    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }
}