category.cpp
00001 /* 00002 * This file is part of the syndication library 00003 * 00004 * Copyright (C) 2006 Frank Osterfeld <osterfeld@kde.org> 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Library General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Library General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Library General Public License 00017 * along with this library; see the file COPYING.LIB. If not, write to 00018 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 * Boston, MA 02110-1301, USA. 00020 * 00021 */ 00022 00023 #include "category.h" 00024 #include "constants.h" 00025 00026 #include <QtXml/QDomElement> 00027 #include <QtCore/QString> 00028 00029 namespace Syndication { 00030 namespace Atom { 00031 00032 Category::Category() : ElementWrapper() 00033 { 00034 } 00035 00036 Category::Category(const QDomElement& element) : ElementWrapper(element) 00037 { 00038 } 00039 00040 QString Category::term() const 00041 { 00042 return attribute(QLatin1String("term")); 00043 } 00044 00045 QString Category::scheme() const 00046 { 00047 // NOTE: The scheme IRI is not completed by purpose. 00048 // According to Atom spec, it must be an absolute IRI. 00049 // If this is a problem with real-world feeds, it might be changed. 00050 return attribute(QLatin1String("scheme")); 00051 } 00052 00053 QString Category::label() const 00054 { 00055 return attribute(QLatin1String("label")); 00056 } 00057 00058 QString Category::debugInfo() const 00059 { 00060 QString info; 00061 info += QLatin1String("### Category: ###################\n"); 00062 info += QLatin1String("term: #") + term() + QLatin1String("#\n"); 00063 if (!scheme().isEmpty()) 00064 info += QLatin1String("scheme: #") + scheme() + QLatin1String("#\n"); 00065 if (!label().isEmpty()) 00066 info += QLatin1String("label: #") + label() + QLatin1String("#\n"); 00067 info += QLatin1String("### Category end ################\n"); 00068 00069 return info; 00070 } 00071 00072 } // namespace Atom 00073 } //namespace Syndication