KDSOAP 1.2
KDSoapNamespacePrefixes_p.h
00001 /****************************************************************************
00002 ** Copyright (C) 2010-2012 Klaralvdalens Datakonsult AB.  All rights reserved.
00003 **
00004 ** This file is part of the KD Soap library.
00005 **
00006 ** Licensees holding valid commercial KD Soap licenses may use this file in
00007 ** accordance with the KD Soap Commercial License Agreement provided with
00008 ** the Software.
00009 **
00010 **
00011 ** This file may be distributed and/or modified under the terms of the
00012 ** GNU General Public License version 2 and version 3 as published by the
00013 ** Free Software Foundation and appearing in the file LICENSE.GPL.txt included.
00014 **
00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00017 **
00018 ** Contact info@kdab.com if any conditions of this licensing are not
00019 ** clear to you.
00020 **
00021 **********************************************************************/
00022 #ifndef KDSOAPNAMESPACESPREFIXES_H
00023 #define KDSOAPNAMESPACESPREFIXES_H
00024 
00025 #include <QMap>
00026 #include <QXmlStreamWriter>
00027 
00028 class KDSoapNamespacePrefixes : public QMap<QString /*ns*/, QString /*prefix*/>
00029 {
00030 public:
00031     void writeStandardNamespaces(QXmlStreamWriter& writer);
00032 
00033     void writeNamespace(QXmlStreamWriter& writer, const QString& ns, const QString& prefix) {
00034         //qDebug() << "writeNamespace" << ns << prefix;
00035         insert(ns, prefix);
00036         writer.writeNamespace(ns, prefix);
00037     }
00038     QString resolve(const QString& ns, const QString& localName) const {
00039         const QString prefix = value(ns);
00040         if (prefix.isEmpty()) {
00041             qWarning("ERROR: Namespace not found: %s (for localName %s)", qPrintable(ns), qPrintable(localName));
00042         }
00043         return prefix + QLatin1Char(':') + localName;
00044     }
00045 };
00046 
00047 #endif // KDSOAPNAMESPACESPREFIXES_H
 All Classes Functions Enumerations Enumerator

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
http://www.kdab.com/
http://www.kdab.com/products/kd-soap/