int ReadXMLCommand :: Execute( ALib::CommandLine & cmd ) { IOManager io( cmd ); for ( unsigned int i = 0; i < io.InStreamCount(); i++ ) { ALib::XMLTreeParser tp; std::auto_ptr<ALib::XMLElement> safe_root( tp.ParseStream( io.In(i) ) ); ALib::XMLElement * root = safe_root.get(); if ( root == 0 ) { CSVTHROW( "XML error '" << tp.ErrorMsg() << "' in " << io.InFileName( i ) << " at line " << tp.ErrorLine() ); } TableToCSV( root, io, i ); } return 0; }