QMap<QString,QVariant> SxVersionedFile::metaInfo() const { //[QMap<QString,QVariant> metainfo][QByteArray data] QMap<QString,QVariant> propMap; propMap["USER"] = currentUserName(); propMap["TIMESTAMP"] = QDateTime::currentDateTime(); propMap["LOG"] = "Initial version"; return propMap; }
QDomDocument QLCFile::getXMLHeader(const QString& content, const QString& author) { if (content.isEmpty() == true) return QDomDocument(); QDomImplementation dom; QDomDocument doc(dom.createDocumentType(content, QString(), QString())); QDomProcessingInstruction instr = doc.createProcessingInstruction( "xml", "version='1.0' encoding='UTF-8'"); doc.appendChild(instr); QDomElement root; QDomElement tag; QDomElement subtag; QDomText text; root = doc.createElement(content); root.setAttribute("xmlns", KXMLQLCplusNamespace + content); doc.appendChild(root); /* Creator tag */ tag = doc.createElement(KXMLQLCCreator); root.appendChild(tag); /* Creator name */ subtag = doc.createElement(KXMLQLCCreatorName); tag.appendChild(subtag); text = doc.createTextNode(APPNAME); subtag.appendChild(text); /* Creator version */ subtag = doc.createElement(KXMLQLCCreatorVersion); tag.appendChild(subtag); text = doc.createTextNode(QString(APPVERSION)); subtag.appendChild(text); /* Author */ subtag = doc.createElement(KXMLQLCCreatorAuthor); tag.appendChild(subtag); if (author.isEmpty() == true) text = doc.createTextNode(currentUserName()); else text = doc.createTextNode(author); subtag.appendChild(text); return doc; }
bool QLCFile::writeXMLHeader(QXmlStreamWriter *xml, const QString &content, const QString &author) { if (xml == NULL || xml->device() == NULL) return false; xml->writeStartDocument(); xml->writeDTD(QString("<!DOCTYPE %1>").arg(content)); xml->writeStartElement(content); xml->writeAttribute("xmlns", KXMLQLCplusNamespace + content); xml->writeStartElement(KXMLQLCCreator); xml->writeTextElement(KXMLQLCCreatorName, APPNAME); xml->writeTextElement(KXMLQLCCreatorVersion, APPVERSION); if (author.isEmpty()) xml->writeTextElement(KXMLQLCCreatorAuthor, currentUserName()); else xml->writeTextElement(KXMLQLCCreatorAuthor, author); xml->writeEndElement(); // close KXMLQLCCreator return true; }