| 181 | } |
| 182 | |
| 183 | void MzDataHandler::startElement(const XMLCh * const /*uri*/, const XMLCh * const /*local_name*/, const XMLCh * const qname, const xercesc::Attributes & attributes) |
| 184 | { |
| 185 | static const XMLCh * s_name = xercesc::XMLString::transcode("name"); |
| 186 | static const XMLCh * s_accession = xercesc::XMLString::transcode("accession"); |
| 187 | static const XMLCh * s_value = xercesc::XMLString::transcode("value"); |
| 188 | static const XMLCh * s_id = xercesc::XMLString::transcode("id"); |
| 189 | static const XMLCh * s_count = xercesc::XMLString::transcode("count"); |
| 190 | static const XMLCh * s_spectrumtype = xercesc::XMLString::transcode("spectrumType"); |
| 191 | static const XMLCh * s_methodofcombination = xercesc::XMLString::transcode("methodOfCombination"); |
| 192 | static const XMLCh * s_acqnumber = xercesc::XMLString::transcode("acqNumber"); |
| 193 | static const XMLCh * s_mslevel = xercesc::XMLString::transcode("msLevel"); |
| 194 | static const XMLCh * s_mzrangestart = xercesc::XMLString::transcode("mzRangeStart"); |
| 195 | static const XMLCh * s_mzrangestop = xercesc::XMLString::transcode("mzRangeStop"); |
| 196 | static const XMLCh * s_supdataarrayref = xercesc::XMLString::transcode("supDataArrayRef"); |
| 197 | static const XMLCh * s_precision = xercesc::XMLString::transcode("precision"); |
| 198 | static const XMLCh * s_endian = xercesc::XMLString::transcode("endian"); |
| 199 | static const XMLCh * s_length = xercesc::XMLString::transcode("length"); |
| 200 | static const XMLCh * s_comment = xercesc::XMLString::transcode("comment"); |
| 201 | static const XMLCh * s_accessionnumber = xercesc::XMLString::transcode("accessionNumber"); |
| 202 | |
| 203 | String tag = sm_.convert(qname); |
| 204 | open_tags_.push_back(tag); |
| 205 | //std::cout << "Start: '" << tag << "'" << std::endl; |
| 206 | |
| 207 | //determine the parent tag |
| 208 | String parent_tag; |
| 209 | if (open_tags_.size() > 1) |
| 210 | { |
| 211 | parent_tag = *(open_tags_.end() - 2); |
| 212 | } |
| 213 | //do nothing until a new spectrum is reached |
| 214 | if (tag != "spectrum" && skip_spectrum_) |
| 215 | { |
| 216 | return; |
| 217 | } |
| 218 | |
| 219 | // Do something depending on the tag |
| 220 | if (tag == "sourceFile") |
| 221 | { |
| 222 | exp_->getSourceFiles().emplace_back(); |
| 223 | } |
| 224 | if (tag == "contact") |
| 225 | { |
| 226 | exp_->getContacts().resize(exp_->getContacts().size() + 1); |
| 227 | } |
| 228 | else if (tag == "source") |
| 229 | { |
| 230 | exp_->getInstrument().getIonSources().resize(1); |
| 231 | } |
| 232 | else if (tag == "detector") |
| 233 | { |
| 234 | exp_->getInstrument().getIonDetectors().resize(1); |
| 235 | } |
| 236 | else if (tag == "analyzer") |
| 237 | { |
| 238 | exp_->getInstrument().getMassAnalyzers().resize(exp_->getInstrument().getMassAnalyzers().size() + 1); |
| 239 | } |
| 240 | else if (tag == "software") |
nothing calls this directly
no test coverage detected