bool QLandmarkFileHandlerLmx::writeLandmarkCollection(const QList<QLandmark> &landmarkCollection) { m_writer->writeStartElement(m_ns, "landmarkCollection"); for (int i = 0; i < m_landmarks.size(); ++i) { if(m_cancel && (*m_cancel) == true) { m_errorCode = QLandmarkManager::CancelError; m_error = "Export of lmx file was canceled"; return false; } if (!writeLandmark(m_landmarks.at(i))) return false; } m_writer->writeEndElement(); return true; }
bool QLandmarkFileHandlerLmx::writeLmx() { // LMX files must contain at least one landmark if (m_landmarks.size() == 0) return true; QString nsLmx = "http://www.nokia.com/schemas/location/landmarks/1/0/"; QString nsXsi = "http://www.w3.org/2001/XMLSchema-instance"; if (!m_nsPrefix.isEmpty()) m_ns = nsLmx; else m_ns = ""; m_writer->writeStartDocument(); if (m_nsPrefix.isEmpty()) m_writer->writeDefaultNamespace(nsLmx); else { m_writer->writeNamespace(nsLmx, m_nsPrefix); } m_writer->writeStartElement(m_ns, "lmx"); m_writer->writeNamespace(nsXsi, "xsi"); m_writer->writeAttribute(nsXsi, "schemaLocation", "http://www.nokia.com/schemas/location/landmarks/1/0/ lmx.xsd"); if (m_landmarks.size() > 1) { if(!writeLandmarkCollection(m_landmarks)) return false; } else { if(!writeLandmark(m_landmarks.at(0))) return false; } m_writer->writeEndElement(); m_writer->writeEndDocument(); return true; }