import org.jdom.Element;
import org.jdom.DocType;
import org.jdom.Document;
import org.jdom.Comment;
import org.jdom.Namespace;
import org.jdom.output.XMLOutputter;
import org.jdom.output.DOMOutputter;
import org.jdom.input.DOMBuilder;
import java.io.IOException;
import org.jdom.JDOMException;

public class PokrocilyXML {
 public static void main(String[] args) throws IOException,JDOMException {
  //Namespace
  Namespace dfltspace = Namespace.getNamespace("urn:zakladni-prostor");
  Namespace mujspace  = Namespace.getNamespace("muj","urn:neco-jedinecneho");
  //root tag, napr. HTML
  Element rootElement = new Element("hlavnitag",dfltspace);
  //DTD definice dokumentu
  DocType doctype = new DocType("hlavnitag","definice.dtd");
  //prazdny dokument
  Document doc = new Document(rootElement,doctype);
  //obsah dokumentu
  rootElement.addAttribute("mujatribut","1");
  rootElement.addContent(new Comment(" komentar "));
  rootElement.addContent( (new Element("podrizenytag",mujspace)).addContent("obsah"));
  Element seznam = new Element("seznam",mujspace);
  rootElement.addContent(seznam);
  for(int i = 1; i<10;i++) {
            Element polozka = new Element("polozka",mujspace);
            seznam.addContent(polozka);
            polozka
            .addAttribute("id",Integer.toString(i))
            .addAttribute("jmeno","AAA"+i)
            .addAttribute("cislo",Integer.toString(i*i))
            ;
        }
  //JDOM=>DOM
  DOMOutputter domOut = new DOMOutputter();
  org.w3c.dom.Document domdoc = domOut.output(doc);
  //DOM=>JDOM 
  DOMBuilder domIn = new DOMBuilder();
  Document doc2 = domIn.build(domdoc);
  //vytisknuti
  XMLOutputter fmt = new XMLOutputter(" ",true,"ISO-8859-1");
  fmt.output(doc2, System.out);
 }
}

