Mercurial > hg > easaier-soundaccess
comparison data/fileio/SparqlRelatedMediaReader.cpp @ 257:057856cf81a2
reformat the InfoWidget and integrate the related media query
author | lbajardsilogic |
---|---|
date | Wed, 18 Jun 2008 10:38:39 +0000 |
parents | 97fd6148fb8e |
children |
comparison
equal
deleted
inserted
replaced
256:6eeb195adbb4 | 257:057856cf81a2 |
---|---|
13 | 13 |
14 #include "SparqlRelatedMediaReader.h" | 14 #include "SparqlRelatedMediaReader.h" |
15 | 15 |
16 #include <iostream> | 16 #include <iostream> |
17 | 17 |
18 SparqlRelatedMediaReader::SparqlRelatedMediaReader(std::list<QString> *relMediaList) : | 18 SparqlRelatedMediaReader::SparqlRelatedMediaReader(std::map<QString, QString> *relMediaList) : |
19 m_relMediaList(relMediaList) | 19 m_relMediaList(relMediaList) |
20 {} | 20 {} |
21 | 21 |
22 bool SparqlRelatedMediaReader::parse(const QString & filename) | 22 bool SparqlRelatedMediaReader::parse(const QString & filename) |
23 { | 23 { |
39 } | 39 } |
40 | 40 |
41 return false; | 41 return false; |
42 } | 42 } |
43 | 43 |
44 SparqlRelatedMediaHandler::SparqlRelatedMediaHandler(std::list<QString> *relMediaList) : QXmlDefaultHandler(), | 44 SparqlRelatedMediaHandler::SparqlRelatedMediaHandler(std::map<QString, QString> *relMediaList) : QXmlDefaultHandler(), |
45 m_relMediaList(relMediaList), | 45 m_relMediaList(relMediaList), |
46 m_inBinding(false), | 46 m_inUriBinding(false), |
47 m_curBindingName("") | 47 m_inLiteralBinding(false), |
48 m_curUriName("") | |
48 {} | 49 {} |
49 | 50 |
50 bool SparqlRelatedMediaHandler::startElement(const QString &namespaceURI, const QString &localName, | 51 bool SparqlRelatedMediaHandler::startElement(const QString &namespaceURI, const QString &localName, |
51 const QString &qName, const QXmlAttributes &attributes) | 52 const QString &qName, const QXmlAttributes &attributes) |
52 { | 53 { |
92 } else if (name == "binding") { | 93 } else if (name == "binding") { |
93 | 94 |
94 // nothing needed | 95 // nothing needed |
95 ok = true; | 96 ok = true; |
96 | 97 |
97 } else if ( (name == "uri") || (name == "literal") ) { | 98 //} else if ( (name == "uri") || (name == "literal") ) { |
98 m_inBinding = true; | 99 } else if (name == "uri") { |
100 m_inUriBinding = true; | |
101 ok = true; | |
102 } else if (name == "literal") { | |
103 m_inLiteralBinding = true; | |
99 ok = true; | 104 ok = true; |
100 } | 105 } |
101 | 106 |
102 if (!ok) { | 107 if (!ok) { |
103 std::cerr << "WARNING: SparqlResultsHandler-XML: Failed to completely process element \"" | 108 std::cerr << "WARNING: SparqlResultsHandler-XML: Failed to completely process element \"" |
110 bool SparqlRelatedMediaHandler::endElement(const QString &namespaceURI, const QString &localName, | 115 bool SparqlRelatedMediaHandler::endElement(const QString &namespaceURI, const QString &localName, |
111 const QString &qName) | 116 const QString &qName) |
112 { | 117 { |
113 QString name = qName.toLower(); | 118 QString name = qName.toLower(); |
114 | 119 |
115 if ( (name == "uri") || (name == "literal") ) | 120 //if ( (name == "uri") || (name == "literal") ) |
121 if (name == "uri") | |
116 { | 122 { |
117 m_inBinding = false; | 123 m_inUriBinding = false; |
124 } | |
125 if (name == "literal") | |
126 { | |
127 m_inLiteralBinding = false; | |
118 } | 128 } |
119 | 129 |
120 return true; | 130 return true; |
121 } | 131 } |
122 | 132 |
123 bool SparqlRelatedMediaHandler::characters(const QString &str) | 133 bool SparqlRelatedMediaHandler::characters(const QString &str) |
124 { | 134 { |
125 if (m_inBinding) | 135 if (m_inUriBinding) |
126 { | 136 { |
127 m_relMediaList->push_back(str); | 137 m_curUriName = str; |
138 | |
139 } else if (m_inLiteralBinding) | |
140 { | |
141 m_relMediaList->insert(std::make_pair(m_curUriName,str)); | |
128 } | 142 } |
129 | 143 |
130 return true; | 144 return true; |
131 } | 145 } |
132 | 146 |