Changeset View
Changeset View
Standalone View
Standalone View
src/acbf/AcbfDocumentinfo.cpp
Show First 20 Lines • Show All 93 Lines • ▼ Show 20 Line(s) | 60 | { | |||
---|---|---|---|---|---|
94 | 94 | | |||
95 | writer->writeEndElement(); | 95 | writer->writeEndElement(); | ||
96 | } | 96 | } | ||
97 | 97 | | |||
98 | bool DocumentInfo::fromXml(QXmlStreamReader *xmlReader) | 98 | bool DocumentInfo::fromXml(QXmlStreamReader *xmlReader) | ||
99 | { | 99 | { | ||
100 | while(xmlReader->readNextStartElement()) | 100 | while(xmlReader->readNextStartElement()) | ||
101 | { | 101 | { | ||
102 | if(xmlReader->tokenType() == QXmlStreamReader::EndElement) { | | |||
103 | if(xmlReader->name() == "document-info") { | | |||
104 | break; | | |||
105 | } | | |||
106 | else { | | |||
107 | continue; | | |||
108 | } | | |||
109 | } | | |||
110 | if(xmlReader->tokenType() == QXmlStreamReader::Characters) { | | |||
111 | continue; | | |||
112 | } | | |||
113 | if(xmlReader->name() == "author") | 102 | if(xmlReader->name() == "author") | ||
114 | { | 103 | { | ||
115 | Author* newAuthor = new Author(metadata()); | 104 | Author* newAuthor = new Author(metadata()); | ||
116 | if(!newAuthor->fromXml(xmlReader)) { | 105 | if(!newAuthor->fromXml(xmlReader)) { | ||
117 | return false; | 106 | return false; | ||
118 | } | 107 | } | ||
119 | d->author.append(newAuthor); | 108 | d->author.append(newAuthor); | ||
120 | } | 109 | } | ||
121 | else if(xmlReader->name() == "creation-date") | 110 | else if(xmlReader->name() == "creation-date") | ||
122 | { | 111 | { | ||
123 | setCreationDate(QDate::fromString(xmlReader->readElementText())); | 112 | QString date = xmlReader->attributes().value("value").toString(); | ||
113 | if(date.isEmpty()) { | ||||
114 | date = xmlReader->readElementText(); | ||||
115 | } else { | ||||
116 | xmlReader->skipCurrentElement(); | ||||
117 | } | ||||
118 | setCreationDate(QDate::fromString(date)); | ||||
124 | } | 119 | } | ||
125 | else if(xmlReader->name() == "source") | 120 | else if(xmlReader->name() == "source") | ||
126 | { | 121 | { | ||
127 | while(xmlReader->readNextStartElement()) { | 122 | while(xmlReader->readNextStartElement()) { | ||
128 | if(xmlReader->name() == "p") { | 123 | if(xmlReader->name() == "p") { | ||
129 | d->source.append(xmlReader->readElementText(QXmlStreamReader::IncludeChildElements)); | 124 | d->source.append(xmlReader->readElementText(QXmlStreamReader::IncludeChildElements)); | ||
130 | } | 125 | } | ||
131 | if(xmlReader->readNext() == QXmlStreamReader::EndElement && xmlReader->name() == "source") { | 126 | else { | ||
132 | break; | 127 | xmlReader->skipCurrentElement(); | ||
133 | } | 128 | } | ||
134 | } | 129 | } | ||
135 | } | 130 | } | ||
136 | else if(xmlReader->name() == "id") | 131 | else if(xmlReader->name() == "id") | ||
137 | { | 132 | { | ||
138 | setId(xmlReader->readElementText()); | 133 | setId(xmlReader->readElementText()); | ||
139 | } | 134 | } | ||
140 | else if(xmlReader->name() == "version") | 135 | else if(xmlReader->name() == "version") | ||
141 | { | 136 | { | ||
142 | setVersion(xmlReader->readElementText()); | 137 | setVersion(xmlReader->readElementText()); | ||
143 | } | 138 | } | ||
144 | else if(xmlReader->name() == "history") | 139 | else if(xmlReader->name() == "history") | ||
145 | { | 140 | { | ||
146 | while(xmlReader->readNextStartElement()) { | 141 | while(xmlReader->readNextStartElement()) { | ||
147 | if(xmlReader->name() == "p") { | 142 | if(xmlReader->name() == "p") { | ||
148 | d->history.append(xmlReader->readElementText(QXmlStreamReader::IncludeChildElements)); | 143 | d->history.append(xmlReader->readElementText(QXmlStreamReader::IncludeChildElements)); | ||
149 | } | 144 | } | ||
150 | if(xmlReader->readNext() == QXmlStreamReader::EndElement && xmlReader->name() == "history") { | 145 | else { | ||
151 | break; | 146 | xmlReader->skipCurrentElement(); | ||
152 | } | 147 | } | ||
153 | } | 148 | } | ||
154 | } | 149 | } | ||
155 | else | 150 | else | ||
156 | { | 151 | { | ||
157 | qWarning() << Q_FUNC_INFO << "currently unsupported subsection:" << xmlReader->name(); | 152 | qWarning() << Q_FUNC_INFO << "currently unsupported subsection:" << xmlReader->name(); | ||
158 | xmlReader->skipCurrentElement(); | 153 | xmlReader->skipCurrentElement(); | ||
159 | } | 154 | } | ||
▲ Show 20 Lines • Show All 77 Lines • Show Last 20 Lines |