Mercurial > hg > easaier-soundaccess
diff 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 |
line wrap: on
line diff
--- a/data/fileio/SparqlRelatedMediaReader.cpp Tue Jun 17 11:59:02 2008 +0000 +++ b/data/fileio/SparqlRelatedMediaReader.cpp Wed Jun 18 10:38:39 2008 +0000 @@ -15,7 +15,7 @@ #include <iostream> -SparqlRelatedMediaReader::SparqlRelatedMediaReader(std::list<QString> *relMediaList) : +SparqlRelatedMediaReader::SparqlRelatedMediaReader(std::map<QString, QString> *relMediaList) : m_relMediaList(relMediaList) {} @@ -41,10 +41,11 @@ return false; } -SparqlRelatedMediaHandler::SparqlRelatedMediaHandler(std::list<QString> *relMediaList) : QXmlDefaultHandler(), +SparqlRelatedMediaHandler::SparqlRelatedMediaHandler(std::map<QString, QString> *relMediaList) : QXmlDefaultHandler(), m_relMediaList(relMediaList), - m_inBinding(false), - m_curBindingName("") + m_inUriBinding(false), + m_inLiteralBinding(false), + m_curUriName("") {} bool SparqlRelatedMediaHandler::startElement(const QString &namespaceURI, const QString &localName, @@ -94,8 +95,12 @@ // nothing needed ok = true; - } else if ( (name == "uri") || (name == "literal") ) { - m_inBinding = true; + //} else if ( (name == "uri") || (name == "literal") ) { + } else if (name == "uri") { + m_inUriBinding = true; + ok = true; + } else if (name == "literal") { + m_inLiteralBinding = true; ok = true; } @@ -112,9 +117,14 @@ { QString name = qName.toLower(); - if ( (name == "uri") || (name == "literal") ) + //if ( (name == "uri") || (name == "literal") ) + if (name == "uri") { - m_inBinding = false; + m_inUriBinding = false; + } + if (name == "literal") + { + m_inLiteralBinding = false; } return true; @@ -122,9 +132,13 @@ bool SparqlRelatedMediaHandler::characters(const QString &str) { - if (m_inBinding) + if (m_inUriBinding) { - m_relMediaList->push_back(str); + m_curUriName = str; + + } else if (m_inLiteralBinding) + { + m_relMediaList->insert(std::make_pair(m_curUriName,str)); } return true;