var args = WScript.Arguments;  if (args.length < 2)
  {
  WScript.echo("Usage : xmltranslate [xmlfilename] [xslfilename]\n");
  WScript.quit(1);
  }  var xmlname = args(0);
  var xslname = args(1);  //WScript.echo (xmlname + "\n" + xslname);  //Load the XML
  var xml = WScript.CreateObject("Microsoft.XMLDOM");
  xml.async = false;
  xml.load(xmlname );  // Load the XML
  var xmlDoc = xml.documentElement;
   
  var xmlNodeLists = new Array();
  var objNodeList;
  xmlNodeLists.push(xmlDoc.childNodes);   
  var text;  
  while (xmlNodeLists.length > 0)
  {
  objNodeList = xmlNodeLists.pop();
    
  var re = /(<string(\d+)to(\d+)>)/ig
  for(var i = 0, j, k; i < objNodeList.length; i++)
  {
  if (objNodeList.item(i).childNodes.length == 0)
  {   
   
  text = objNodeList.item(i).text;
  // string2t064 => string:2-64
  while (j = re.exec(text))
  {   
  text = text.substr(0, j.index+7) + ":" + RegExp.$2 + "-" + RegExp.$3 + ">" +  
  text.substr(j.index+RegExp.$1.length);
  }
    
  //}*1 => }
  do
  {
  j = text.search(/\}\*1/);  
  if (j == -1)
  {
  break;
  }
  text = text.substr(0, j+1) + text.substr(j+3);  
    
  }while(true);  
    
  objNodeList.item(i).text = text;  
    
  }
  else
  {
  xmlNodeLists.push(objNodeList.item(i).childNodes)
  }
  }   
  }    
  //Load the XSL
  var xsl = WScript.CreateObject("Microsoft.XMLDOM");
  xsl.async = false;
  xsl.load(xslname );    
  //Transform the file
  WScript.echo(xml.transformNode(xsl));