import org.apache.xerces.parsers.DOMParser;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class CloneDocument {
  public static void main(String argv[]) throws Exception {
    DOMParser parser = new DOMParser();
    for (int i = 0; i < argv.length; i++) {
      String arg = argv[i];
      System.out.println("argv["+i+"]: "+arg);
      parser.parse(arg);
      Document document = parser.getDocument();
      printChildren(document.getChildNodes());
      printChildren(document.getDocumentElement().getChildNodes());
      Document clonedDocument = (Document)document.cloneNode(true);
      printChildren(clonedDocument.getChildNodes());
      printChildren(clonedDocument.getDocumentElement().getChildNodes());
    }
  }
  public static void printChildren(NodeList children) {
    int length = children.getLength();
    System.out.print(length);
    System.out.print(": ");
    for (int i = 0; i < length; i++) {
      System.out.print(children.item(i).getNodeName());
      System.out.print(' ');
    }
    System.out.println();
  }
}