
	    // Aanroep van deze jscript-file vereist 3 parameters
	    // rem 1e parameter: conversie-bestand (xsl).
        // rem 2e parameter: bron-xml staat in deze folder.
        // rem 3e parameter: doel-xml komt in deze folder te staan.


        // 1) // XSL-bestand inclusief pad
        var p_xsl = WScript.Arguments(0);
		// 2) Folder waar het bronbestand (xml) staat
		var p_folder_bronxml = WScript.Arguments(1);
		// 3) Folder waar het doelbestand (xml) terecht moet komen
		var p_folder_doelxml = WScript.Arguments(2);

		fclt_2_anderformaat(p_xsl, p_folder_bronxml,p_folder_doelxml);


function fclt_2_anderformaat (p_xsl, p_folder_bronxml,p_folder_doelxml)
{
        // Naam van XML file
		l_factuur_file = GetFactuurFile(p_folder_bronxml);
		// Nu incl foldernaam
		l_xml_file = p_folder_bronxml + l_factuur_file;


		WScript.Echo("Before xml");
        var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
        xmlDoc.load(l_xml_file);
        WScript.Echo(l_xml_file);
        WScript.Echo("After xml");



        if (1 == 0 && p_xsl)
        {
        	WScript.Echo("Before xslDoc");
            var xslDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
            xslDoc.load(p_xsl);
            WScript.Echo("After xslDoc");

            var fso = new ActiveXObject("Scripting.FileSystemObject");
            // output = fso.CreateTextFile(p_folder_doelxml + l_factuur_file);
            output = fso.CreateTextFile(p_folder_doelxml + l_factuur_file, true,true);
            output.Write(xmlDoc.transformNode(xslDoc));
            output.close();

        }

        if (p_xsl){

        var xslDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
        xslDoc.load(p_xsl);
        WScript.Echo("After xslDoc");



        var oStream = new ActiveXObject("ADODB.Stream");
        oStream.Open();
        oStream.Type = 2; //
        oStream.Charset = "UTF-8"; //
        // oStream.Write(xmlDoc.transformNodeToObject(xslDoc, xmlDoc));
        oStream.WriteText(xmlDoc.transformNode(xslDoc));

        WScript.Echo("After transform");
        oStream.SaveToFile (p_folder_doelxml + l_factuur_file, 2); // adSaveCreateOverWrite
        oStream.Close();
         }

}






// Bepaalt de naam van de gegenereerde XML-bestand in folder 'p_folder'.
// Resultaat:   Indien geen XML bestand gevonden, dan wordt lege string "" geretourneerd.
//	            Indien 1 XML bestand, de naam van dit bestand incl extensie XML
//              Indien meerdere XML-bestanden gevonden, een willekeurige naam van een der bestanden (incl ext)

function GetFactuurFile(p_folder)
{
	 var fso1, f, fc, s, l_result;
   fso1 = new ActiveXObject("Scripting.FileSystemObject");

   f = fso1.GetFolder(p_folder);
   fc = new Enumerator(f.files);
   s = "";
   l_result="";
   for (fc.moveFirst(); !fc.atEnd(); fc.moveNext())
   {	l_filenaam = fc.item().name;
   		if (get_extensieOfFileName(l_filenaam) == "xml"){
   			l_result = l_filenaam;
   		}
   }
   return(l_result);
}



function get_extensieOfFileName(p_filenaam){
	l_result="";
	l_pos = p_filenaam.indexOf(".");
	if (l_pos != -1){
		l_result = p_filenaam.substring(l_pos+1);
	}
	return (l_result);
}

function get_NameOfFileName(p_filenaam){
	l_result=p_filenaam;
	l_pos = p_filenaam.indexOf(".");
	if (l_pos != -1){
		l_result = p_filenaam.substring(0,l_pos);
	}
	return (l_result);
}


function copyfile(p_file1, p_file2){
		fso = new ActiveXObject("Scripting.FileSystemObject");
		f = fso.GetFile(p_file1);
		f.Copy(p_file2);
}

