| 72 | } |
| 73 | |
| 74 | ExitCodes main_(int, const char**) override |
| 75 | { |
| 76 | String in = getStringOption_("in"); |
| 77 | String schema = getStringOption_("schema"); |
| 78 | bool valid = false; |
| 79 | |
| 80 | if (!schema.empty()) //schema explicitly given |
| 81 | { |
| 82 | valid = XMLValidator().isValid(in, schema); |
| 83 | } |
| 84 | else //no schema given |
| 85 | { |
| 86 | //determine input type |
| 87 | FileTypes::Type in_type = FileHandler::getType(in); |
| 88 | if (in_type == FileTypes::UNKNOWN) |
| 89 | { |
| 90 | writeLogError_("Error: Could not determine input file type and no xsd schema was provided!"); |
| 91 | return PARSE_ERROR; |
| 92 | } |
| 93 | |
| 94 | cout << endl << "Validating " << FileTypes::typeToName(in_type) << " file"; |
| 95 | switch (in_type) |
| 96 | { |
| 97 | case FileTypes::MZDATA: |
| 98 | cout << " against schema version " << MzDataFile().getVersion() << endl; |
| 99 | valid = MzDataFile().isValid(in, std::cerr); |
| 100 | break; |
| 101 | |
| 102 | case FileTypes::FEATUREXML: |
| 103 | cout << " against schema version " << FeatureXMLFile().getVersion() << endl; |
| 104 | valid = FeatureXMLFile().isValid(in, std::cerr); |
| 105 | break; |
| 106 | |
| 107 | case FileTypes::IDXML: |
| 108 | cout << " against schema version " << IdXMLFile().getVersion() << endl; |
| 109 | valid = IdXMLFile().isValid(in, std::cerr); |
| 110 | break; |
| 111 | |
| 112 | case FileTypes::CONSENSUSXML: |
| 113 | cout << " against schema version " << ConsensusXMLFile().getVersion() << endl; |
| 114 | valid = ConsensusXMLFile().isValid(in, std::cerr); |
| 115 | break; |
| 116 | |
| 117 | case FileTypes::MZXML: |
| 118 | cout << " against schema version " << MzXMLFile().getVersion() << endl; |
| 119 | valid = MzXMLFile().isValid(in, std::cerr); |
| 120 | break; |
| 121 | |
| 122 | case FileTypes::INI: |
| 123 | cout << " against schema version " << ParamXMLFile().getVersion() << endl; |
| 124 | valid = ParamXMLFile().isValid(in, std::cerr); |
| 125 | break; |
| 126 | |
| 127 | case FileTypes::PEPXML: |
| 128 | cout << " against schema version " << PepXMLFile().getVersion() << endl; |
| 129 | valid = PepXMLFile().isValid(in, std::cerr); |
| 130 | break; |
| 131 |
nothing calls this directly
no test coverage detected