⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qxml.h

📁 著名的A780系列,E680系列的SDK开发包
💻 H
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************** $Id: qt/src/xml/qxml.h   2.3.6   edited 2001-01-26 $**** Definition of QXmlSimpleReader and related classes.**** Created : 000518**** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.**** This file is part of the XML module of the Qt GUI Toolkit.**** This file may be distributed under the terms of the Q Public License** as defined by Trolltech AS of Norway and appearing in the file** LICENSE.QPL included in the packaging of this file.**** 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.**** Licensees holding valid Qt Enterprise Edition licenses may use this** file in accordance with the Qt Commercial License Agreement provided** with the Software.**** 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/pricing.html or email sales@trolltech.com for**   information about Qt Commercial License Agreements.** See http://www.trolltech.com/qpl/ for QPL licensing information.** 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 QXML_H#define QXML_H#include <qmodules.h>#if !defined(QT_MODULE_XML)#define QM_EXPORT#else#define QM_EXPORT Q_EXPORT#endif#ifndef QT_H#include <qtextstream.h>#include <qfile.h>#include <qstring.h>#include <qstringlist.h>#include <qvaluestack.h>#include <qmap.h>#endif // QT_H#ifndef QT_NO_XMLclass QXmlNamespaceSupport;class QXmlAttributes;class QXmlContentHandler;class QXmlDefaultHandler;class QXmlDTDHandler;class QXmlEntityResolver;class QXmlErrorHandler;class QXmlLexicalHandler;class QXmlDeclHandler;class QXmlInputSource;class QXmlLocator;class QXmlNamespaceSupport;class QXmlParseException;class QXmlReader;class QXmlSimpleReader;class QXmlSimpleReaderPrivate;class QXmlNamespaceSupportPrivate;class QXmlAttributesPrivate;class QXmlInputSourcePrivate;class QXmlParseExceptionPrivate;class QXmlLocatorPrivate;class QXmlDefaultHandlerPrivate;//// SAX Namespace Support//#if defined(Q_TEMPLATEDLL)// MOC_SKIP_BEGINtemplate class QM_EXPORT QMap<QString, QString>;template class QM_EXPORT QValueStack<QMap<QString, QString> >;template class QM_EXPORT QValueStack<QString>;// MOC_SKIP_END#endifclass QM_EXPORT QXmlNamespaceSupport{public:    QXmlNamespaceSupport();    ~QXmlNamespaceSupport();    void setPrefix( const QString&, const QString& );    QString prefix( const QString& ) const;    QString uri( const QString& ) const;    void splitName( const QString&, QString&, QString& ) const;    void processName( const QString&, bool, QString&, QString& ) const;    QStringList prefixes() const;    QStringList prefixes( const QString& ) const;    void pushContext();    void popContext();    void reset();private:    QValueStack<QMap<QString, QString> > nsStack;    QMap<QString, QString> ns;    QXmlNamespaceSupportPrivate *d;};//// SAX Attributes//class QM_EXPORT QXmlAttributes{public:    QXmlAttributes() {}    virtual ~QXmlAttributes() {}    int index( const QString& qName ) const;    int index( const QString& uri, const QString& localPart ) const;    int length() const;    QString localName( int index ) const;    QString qName( int index ) const;    QString uri( int index ) const;    QString type( int index ) const;    QString type( const QString& qName ) const;    QString type( const QString& uri, const QString& localName ) const;    QString value( int index ) const;    QString value( const QString& qName ) const;    QString value( const QString& uri, const QString& localName ) const;private:    QStringList qnameList;    QStringList uriList;    QStringList localnameList;    QStringList valueList;    QXmlAttributesPrivate *d;    friend class QXmlSimpleReader;};//// SAX Input Source//class QM_EXPORT QXmlInputSource{public:    QXmlInputSource();    QXmlInputSource( QTextStream& stream );    QXmlInputSource( QFile& file );    virtual ~QXmlInputSource();    virtual const QString& data() const;    virtual void setData( const QString& d );private:    void readInput( QByteArray& rawData );    QString input;    QXmlInputSourcePrivate *d;};//// SAX Exception Classes//class QM_EXPORT QXmlParseException{public:    QXmlParseException( const QString& name="", int c=-1, int l=-1, const QString& p="", const QString& s="" )	: msg( name ), column( c ), line( l ), pub( p ), sys( s )    { }    int columnNumber() const;    int lineNumber() const;    QString publicId() const;    QString systemId() const;    QString message() const;private:    QString msg;    int column;    int line;    QString pub;    QString sys;    QXmlParseExceptionPrivate *d;};//// XML Reader//class QM_EXPORT QXmlReader{public:    virtual bool feature( const QString& name, bool *ok = 0 ) const = 0;    virtual void setFeature( const QString& name, bool value ) = 0;    virtual bool hasFeature( const QString& name ) const = 0;    virtual void* property( const QString& name, bool *ok = 0 ) const = 0;    virtual void setProperty( const QString& name, void* value ) = 0;    virtual bool hasProperty( const QString& name ) const = 0;    virtual void setEntityResolver( QXmlEntityResolver* handler ) = 0;    virtual QXmlEntityResolver* entityResolver() const = 0;    virtual void setDTDHandler( QXmlDTDHandler* handler ) = 0;    virtual QXmlDTDHandler* DTDHandler() const = 0;    virtual void setContentHandler( QXmlContentHandler* handler ) = 0;    virtual QXmlContentHandler* contentHandler() const = 0;    virtual void setErrorHandler( QXmlErrorHandler* handler ) = 0;    virtual QXmlErrorHandler* errorHandler() const = 0;    virtual void setLexicalHandler( QXmlLexicalHandler* handler ) = 0;    virtual QXmlLexicalHandler* lexicalHandler() const = 0;    virtual void setDeclHandler( QXmlDeclHandler* handler ) = 0;    virtual QXmlDeclHandler* declHandler() const = 0;    virtual bool parse( const QXmlInputSource& input ) = 0;};class QM_EXPORT QXmlSimpleReader : public QXmlReader{public:    QXmlSimpleReader();    virtual ~QXmlSimpleReader();    bool feature( const QString& name, bool *ok = 0 ) const;    void setFeature( const QString& name, bool value );    bool hasFeature( const QString& name ) const;    void* property( const QString& name, bool *ok = 0 ) const;    void setProperty( const QString& name, void* value );    bool hasProperty( const QString& name ) const;    void setEntityResolver( QXmlEntityResolver* handler );    QXmlEntityResolver* entityResolver() const;    void setDTDHandler( QXmlDTDHandler* handler );    QXmlDTDHandler* DTDHandler() const;    void setContentHandler( QXmlContentHandler* handler );    QXmlContentHandler* contentHandler() const;    void setErrorHandler( QXmlErrorHandler* handler );    QXmlErrorHandler* errorHandler() const;    void setLexicalHandler( QXmlLexicalHandler* handler );    QXmlLexicalHandler* lexicalHandler() const;    void setDeclHandler( QXmlDeclHandler* handler );    QXmlDeclHandler* declHandler() const;    bool parse( const QXmlInputSource& input );private:    // variables    QXmlContentHandler* contentHnd;    QXmlErrorHandler*   errorHnd;    QXmlDTDHandler*     dtdHnd;    QXmlEntityResolver* entityRes;    QXmlLexicalHandler* lexicalHnd;    QXmlDeclHandler*    declHnd;    QChar c; // the character at reading position    int lineNr; // number of line    int columnNr; // position in line    int pos; // position in string    int     namePos;    QChar   nameArray[256]; // only used for names    QString nameValue; // only used for names    int     refPos;    QChar   refArray[256]; // only used for references    QString refValue; // only used for references    int     stringPos;    QChar   stringArray[256]; // used for any other strings that are parsed    QString stringValue; // used for any other strings that are parsed    QString xml;    int xmlLength;    QString xmlRef; // used for parsing of entity references    QValueStack<QString> tags;    QXmlSimpleReaderPrivate* d;    static const QChar QEOF;    // inlines    virtual bool is_S( const QChar& );    virtual bool is_Letter( const QChar& );    virtual bool is_NameBeginning( const QChar& );    virtual bool is_Digit( const QChar& );    virtual bool is_CombiningChar( const QChar& );    virtual bool is_Extender( const QChar& );    virtual bool is_NameChar( const QChar& );    QString& string();    void stringClear();    void stringAddC();    void stringAddC(const QChar&);    QString& name();    void nameClear();    void nameAddC();    void nameAddC(const QChar&);    QString& ref();    void refClear();    void refAddC();    void refAddC(const QChar&);    // used by parseReference() and parsePEReference()    enum EntityRecognitionContext { InContent, InAttributeValue, InEntityValue, InDTD };    // private functions    void eat_ws();    void next_eat_ws();    void next();    bool atEnd();    void init( const QXmlInputSource& i );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -