From 15318cad33835e4e2dc620d033e43cd930676cdd Mon Sep 17 00:00:00 2001 From: kergoth Date: Fri, 25 Jan 2002 22:14:26 +0000 Subject: Initial revision --- (limited to 'library/xmlreader.h') diff --git a/library/xmlreader.h b/library/xmlreader.h new file mode 100644 index 0000000..2a51176 --- a/dev/null +++ b/library/xmlreader.h @@ -0,0 +1,83 @@ +/********************************************************************** +** Copyright (C) 2000 Trolltech AS. All rights reserved. +** +** This file is part of Qtopia Environment. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ +#ifndef XMLREADER_H +#define XMLREADER_H + +#include +#include +#include + +class Node +{ +public: + Node(); + ~Node(); + + void addChild( Node *child ); + + void setAttributes( const QXmlAttributes &a ); + QMap attributeMap(); + QString attribute( const QString& name ); + + Node *nextNode() const { return next; } + Node *prevNode() const { return prev; } + Node *parentNode() const { return parent; } + Node *lastChild() const { return last; } + Node *firstChild() const { return first; } + + void setTagName( const QString &s ) { tagN = s; } + QString tagName() const { return tagN; } + void setData( const QString &s ) { dt = s; } + QString data() const { return dt; } + QString subData(const QString& tag) const; + void appendData( const QString s ) { dt += s; } + + +private: + QMap attributes; + QString dt, tagN; + + Node *parent, *prev, *next, *first, *last; +}; + +class XmlHandlerPrivate; +class XmlHandler : public QXmlDefaultHandler +{ +public: + XmlHandler(); + ~XmlHandler(); + + bool startDocument(); + bool endDocument(); + bool startElement( const QString &ns, const QString &ln, const QString &qName, + const QXmlAttributes &attr ); + bool endElement( const QString &ns, const QString &ln, const QString &qName ); + bool characters( const QString &ch ); + + Node *firstNode() const { return tree; } + +private: + Node *node, *tree; + XmlHandlerPrivate *d; +}; + + + +#endif -- cgit v0.9.0.2