84 mpa_cborReader->enterContainer();
86 while(getExpectedString())
89 if(m_expectedString ==
"mzCBOR")
92 mpa_cborReader->next();
94 else if(m_expectedString ==
"mzML")
98 mpa_cborReader->readCborMap(mzml_cbor);
105 mp_writer->setAutoFormatting(
true);
106 mp_writer->writeStartDocument(
"1.0");
107 mp_writer->writeDefaultNamespace(mzml_cbor.value(
"xmlns").toString());
109 mp_writer->writeNamespace(
"http://www.w3.org/2001/XMLSchema-instance",
"xsi");
111 mp_writer->writeStartElement(
"mzML");
113 mp_writer->writeAttribute(
"http://www.w3.org/2001/XMLSchema-instance",
115 mzml_cbor.value(
"schemaLocation").toString());
118 for(
auto &str_key : mzml_cbor.keys())
120 if((str_key !=
"xmlns") && (str_key !=
"schemaLocation"))
122 mp_writer->writeAttribute(str_key.toString(),
123 mzml_cbor.value(str_key).toString());
132 while(getExpectedString())
134 qDebug() << m_expectedString;
135 writeElementInMzml(m_expectedString, monitor);
137 mp_writer->writeEndElement();
140 mpa_cborReader->leaveContainer();
141 mp_writer->writeEndDocument();
150 bool is_array =
false;
151 if(name ==
"cvParam")
154 std::map<QString, pappso::cbor::mzcbor::CvParam> cvparam_map =
156 for(
auto &cvparam_pair : cvparam_map)
158 cvparam_pair.second.toMzml(*mp_writer);
161 else if(name ==
"binaryDataArray")
164 mp_writer->writeStartElement(
"binaryDataArrayList");
166 mp_writer->writeAttribute(
"count", QString(
"%1").arg(mpa_cborReader->length()));
167 mpa_cborReader->enterContainer();
168 while(mpa_cborReader->hasNext())
171 binary_data_array.
fromCbor(*mpa_cborReader);
172 binary_data_array.
toMzml(*mp_writer);
175 mpa_cborReader->leaveContainer();
177 mp_writer->writeEndElement();
181 if(mpa_cborReader->isArray())
185 else if(mpa_cborReader->isMap())
191 qWarning() <<
"not a map, not an array";
195 mpa_cborReader->enterContainer();
196 while(mpa_cborReader->hasNext())
198 writeElementInMzml(name, monitor);
201 mpa_cborReader->leaveContainer();
205 mp_writer->writeStartElement(name);
206 mpa_cborReader->enterContainer();
208 while(getExpectedString())
210 qDebug() << m_expectedString;
211 QString current_attribute = m_expectedString;
212 if(mpa_cborReader->isContainer())
214 qDebug() << current_attribute;
215 writeElementInMzml(current_attribute, monitor);
217 else if(mpa_cborReader->isInteger())
219 qDebug() << current_attribute;
220 mp_writer->writeAttribute(current_attribute,
221 QString(
"%1").arg(mpa_cborReader->toInteger()));
222 mpa_cborReader->next();
224 else if(mpa_cborReader->isUnsignedInteger())
226 qDebug() << current_attribute;
227 mp_writer->writeAttribute(current_attribute,
228 QString(
"%1").arg(mpa_cborReader->toUnsignedInteger()));
230 else if(mpa_cborReader->isString())
233 qDebug() << current_attribute;
234 mp_writer->writeAttribute(current_attribute, m_expectedString);
238 qDebug() << current_attribute;
239 mpa_cborReader->next();
243 mpa_cborReader->leaveContainer();
245 mp_writer->writeEndElement();