int main(int argc, char* argv[])
{ 
  std::cout << "\n  XML Document Object Model \n "<< std::string(20,'=') << std::endl;
  if(argc < 2)  
  { 
    std::cout << "\n  please enter name of file to process on command line\n\n";
    return 1;  
  }    
  for(int i=1; i<argc; ++i)
  { 
    std::cout << "\n  Processing  " << argv[i];
    std::cout << "\n  " << std::string(16 + strlen(argv[i]),'-') << "\n";
    try
    { 
        Toker toker(argv[i]); 
	      toker.setMode(Toker::xml);  
        XmlParts parts(&toker);
        Parser sc(parts);
	      XmlTree t;
	      t.makeRoot(sc.walkScopes());
	      t.show(t.getRoot());
	      t.clearMarks();
	      std::cout << "\n\n"; 
	      t.addtoid("testId");
        std::cout<<"\nThe new tree after adding testTag to testId :-)"<<std::endl;
        t.show(t.getRoot()); 
	      t.clearMarks();
	      std::cout << "\n\n";
        t.removebytag("testTag");
        std:: cout << "--The new TREE after removing testTag"<< "\n\n";
	      t.show(t.getRoot());
	      t.clearMarks();
	      std::cout << "\n\n"<<"Finding the tag title\n\n";
        t.findbytag("testTag");
        std::cout << "\n\n"<<"Finding the id testId\n\n";
        t.findbyid("testId");
    }
  
    catch(std::exception ex)
    {
      std::cout << "\n  " << ex.what() << "\n\n";
    }
  }
}