import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

import java.io.FileWriter;
import java.io.FileReader;
import java.io.File;
import org.xml.sax.InputSource;

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Source;
import javax.xml.transform.Result;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerConfigurationException;

import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

public class MonTPDom2 {

    private Document docEleve, docClasse, docResultat;


    public MonTPDom2(Document de, Document dc, Document dr){
	docEleve = de;
	docClasse = dc;
	docResultat = dr;
    }


    public static void main(String args[]){
	try {
	    InputSource eleve = new InputSource(new FileReader("eleve.xml"));
	    InputSource classe = new InputSource(new FileReader("classe.xml"));
	
	    DocumentBuilderFactory factory = 
		DocumentBuilderFactory.newInstance();
	    factory.setIgnoringElementContentWhitespace(true);
	    DocumentBuilder builder = factory.newDocumentBuilder();
	    Document docEleve = builder.parse(eleve);
	    Document docClasse = builder.parse(classe);
	    Document docResultat = builder.newDocument();

	    MonTPDom2 monTP = new MonTPDom2(docEleve,docClasse,docResultat);
	    monTP.transforme();
	    TransformerFactory xformFactory 
		= TransformerFactory.newInstance();
	    Transformer idTransform = xformFactory.newTransformer();
	    Source input = new DOMSource(docResultat);
	    Result output = new StreamResult(new FileWriter(new File("sortie.xml")));
	    idTransform.transform(input, output);
	}
	catch (FactoryConfigurationError e) {
	    // unable to get a document builder factory
	} 
	catch (ParserConfigurationException e) {
	    // parser was unable to be configured
	}
	catch (SAXException e) {
	    // parsing error
	    System.out.println("aie");
	} 
	catch (IOException e) {
	    // i/o error
	    System.out.println("ouilleclasseoueleve");
	}
	catch (TransformerConfigurationException e) { 
	    System.out.println("This DOM does not support transforms."); 
	}
	catch (TransformerException e) { 
	    System.out.println("Transform failed."); 
	}
    }

    private void transforme(){}

}//MonTPDom2.java