91 mp_cborWriter->startMap();
92 if(m_qxmlStreamReader.readNextStartElement())
94 qDebug() << m_qxmlStreamReader.name().toString();
95 if(m_qxmlStreamReader.name().toString() ==
"indexedmzML")
97 m_qxmlStreamReader.readNextStartElement();
99 if(m_qxmlStreamReader.name().toString() ==
"mzML")
102 mp_cborWriter->append(
"mzCBOR");
103 mp_cborWriter->startMap();
105 mp_cborWriter->append(
"mode");
106 mp_cborWriter->append(0);
111 m_uuid = mp_cborWriter->getUuid();
112 mp_cborWriter->endMap();
114 mp_cborWriter->append(m_qxmlStreamReader.name().toString());
116 mp_cborWriter->startMap();
117 mp_cborWriter->append(
"xmlns");
118 mp_cborWriter->append(m_qxmlStreamReader.namespaceUri());
119 attributeListToCbor(m_qxmlStreamReader.attributes());
120 mp_cborWriter->endMap();
123 bool array_started =
false;
124 QString last_element;
125 while(m_qxmlStreamReader.readNextStartElement())
128 insideElement(last_element, array_started);
129 last_element = m_qxmlStreamReader.name().toString();
135 m_qxmlStreamReader.raiseError(QObject::tr(
"Not an mzML input file"));
136 m_qxmlStreamReader.skipCurrentElement();
139 mp_cborWriter->endMap();
184 m_elementStash.push_back(m_qxmlStreamReader.name().toString());
187 if(m_elementStash.back() ==
"spectrum")
190 m_runAndSpectrumIdList.back().push_back(
191 m_qxmlStreamReader.attributes().value(
"id").toString());
192 getCurrentSpectrumSize();
197 if(m_elementStash.back() ==
"binaryDataArrayList")
199 readBinaryDataArrayList();
205 qDebug() <<
"current element=" << m_elementStash.back();
206 qDebug() <<
"last_element=" << last_element_in;
207 if(array_started_in && (last_element_in != m_qxmlStreamReader.name().toString()))
209 mp_cborWriter->endArray();
210 array_started_in =
false;
215 if(m_elementToStoreInArray.contains(m_elementStash.back()))
218 if((!array_started_in) && (last_element_in != m_elementStash.back()))
220 mp_cborWriter->append(m_elementStash.back());
221 mp_cborWriter->startArray();
223 array_started_in =
true;
227 if(m_elementStash.back() ==
"spectrum")
229 if(mp_cborWriter->device() !=
nullptr)
230 m_runAndSpectrumOffsetList.back().push_back(mp_cborWriter->device()->pos());
234 if(!array_started_in)
235 mp_cborWriter->append(m_elementStash.back());
237 bool array_started =
false;
240 if(m_elementStash.back() ==
"cvParam")
243 qDebug() << m_qxmlStreamReader.name();
245 cv_param.
fromMzml(m_qxmlStreamReader);
246 cv_param.
toCbor(*mp_cborWriter);
252 mp_cborWriter->startMap();
253 attributeListToCbor(m_qxmlStreamReader.attributes());
255 QString last_element;
257 while(m_qxmlStreamReader.readNext() && !m_qxmlStreamReader.isEndElement())
260 if(m_qxmlStreamReader.isCharacters())
263 QStringView content = m_qxmlStreamReader.text().trimmed();
264 if((m_qxmlStreamReader.text().toString() ==
"\n") ||
265 (m_qxmlStreamReader.text().toString() ==
"\n\t"))
271 if(!content.isEmpty())
273 qDebug() <<
"text isCharacters" << content.mid(0, 10);
274 mp_cborWriter->append(
"@text@");
275 mp_cborWriter->append(content);
279 else if(m_qxmlStreamReader.isStartElement())
281 QString tmp_element = m_qxmlStreamReader.name().toString();
282 insideElement(last_element, array_started);
283 last_element = tmp_element;
289 mp_cborWriter->endArray();
292 mp_cborWriter->endMap();
296 qDebug() << m_elementStash.back();
297 m_elementStash.pop_back();
331 for(
auto &xml_attribute : xml_attributes)
333 qDebug() << xml_attribute.name() <<
" " << xml_attribute.value();
334 mp_cborWriter->append(xml_attribute.name());
335 attributeValueToCbor(xml_attribute.value());
337 if((m_elementStash.size() > 0) && (m_elementStash.back() ==
"run") &&
338 (xml_attribute.name() ==
"id"))
340 m_runAndSpectrumOffsetList.push_back(std::vector<qint64>());
341 m_runAndSpectrumIdList.push_back(std::vector<QString>());
342 m_runIdList.push_back(xml_attribute.value().toString());