85 mpa_cborReader->enterContainer();
87 while(getExpectedString())
90 if(m_expectedString ==
"mzCBOR")
93 mpa_cborReader->next();
95 else if(m_expectedString ==
"mzML")
99 mpa_cborReader->readCborMap(mzml_cbor);
106 mp_writer->setAutoFormatting(
true);
107 mp_writer->writeStartDocument(
"1.0");
108 mp_writer->writeDefaultNamespace(mzml_cbor.value(
"xmlns").toString());
110 mp_writer->writeNamespace(
"http://www.w3.org/2001/XMLSchema-instance",
"xsi");
112 mp_writer->writeStartElement(
"mzML");
114 mp_writer->writeAttribute(
"http://www.w3.org/2001/XMLSchema-instance",
116 mzml_cbor.value(
"schemaLocation").toString());
119 for(
auto &str_key : mzml_cbor.keys())
121 if((str_key !=
"xmlns") && (str_key !=
"schemaLocation"))
123 mp_writer->writeAttribute(str_key.toString(),
124 mzml_cbor.value(str_key).toString());
133 while(getExpectedString())
135 qDebug() << m_expectedString;
136 writeElementInMzml(m_expectedString, monitor);
138 mp_writer->writeEndElement();
141 mpa_cborReader->leaveContainer();
142 mp_writer->writeEndDocument();
151 bool is_array =
false;
152 if(name ==
"cvParam")
156 cvparam_map.
fromCbor(*mpa_cborReader);
157 for(
auto &cvparam_pair : cvparam_map)
159 cvparam_pair.second.toMzml(*mp_writer);
162 else if(name ==
"binaryDataArray")
165 mp_writer->writeStartElement(
"binaryDataArrayList");
167 mp_writer->writeAttribute(
"count", QString(
"%1").arg(mpa_cborReader->length()));
168 mpa_cborReader->enterContainer();
169 while(mpa_cborReader->hasNext())
172 binary_data_array.
fromCbor(*mpa_cborReader);
173 binary_data_array.
toMzml(*mp_writer);
176 mpa_cborReader->leaveContainer();
178 mp_writer->writeEndElement();
182 if(mpa_cborReader->isArray())
186 else if(mpa_cborReader->isMap())
192 qWarning() <<
"not a map, not an array";
196 mpa_cborReader->enterContainer();
197 while(mpa_cborReader->hasNext())
199 writeElementInMzml(name, monitor);
202 mpa_cborReader->leaveContainer();
206 mp_writer->writeStartElement(name);
207 mpa_cborReader->enterContainer();
209 while(getExpectedString())
211 qDebug() << m_expectedString;
212 QString current_attribute = m_expectedString;
213 if(mpa_cborReader->isContainer())
215 qDebug() << current_attribute;
216 writeElementInMzml(current_attribute, monitor);
218 else if(mpa_cborReader->isInteger())
220 qDebug() << current_attribute;
221 mp_writer->writeAttribute(current_attribute,
222 QString(
"%1").arg(mpa_cborReader->toInteger()));
223 mpa_cborReader->next();
225 else if(mpa_cborReader->isUnsignedInteger())
227 qDebug() << current_attribute;
228 mp_writer->writeAttribute(current_attribute,
229 QString(
"%1").arg(mpa_cborReader->toUnsignedInteger()));
231 else if(mpa_cborReader->isString())
234 qDebug() << current_attribute;
235 mp_writer->writeAttribute(current_attribute, m_expectedString);
239 qDebug() << current_attribute;
240 mpa_cborReader->next();
244 mpa_cborReader->leaveContainer();
246 mp_writer->writeEndElement();