// qdom.sip generated by MetaSIP on Fri Apr 16 11:32:08 2010
//
// This file is part of the QtXml Python extension module.
//
// Copyright (c) 2010 Riverbank Computing Limited <info@riverbankcomputing.com>
// 
// This file is part of PyQt.
// 
// This file may be used under the terms of the GNU General Public
// License versions 2.0 or 3.0 as published by the Free Software
// Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3
// included in the packaging of this file.  Alternatively you may (at
// your option) use any later version of the GNU General Public
// License if such license has been publicly approved by Riverbank
// Computing Limited (or its successors, if any) and the KDE Free Qt
// Foundation. In addition, as a special exception, Riverbank gives you
// certain additional rights. These rights are described in the Riverbank
// GPL Exception version 1.1, which can be found in the file
// GPL_EXCEPTION.txt in this package.
// 
// Please review the following information to ensure GNU General
// Public Licensing requirements will be met:
// http://trolltech.com/products/qt/licenses/licensing/opensource/. If
// you are unsure which license is appropriate for your use, please
// review the following information:
// http://trolltech.com/products/qt/licenses/licensing/licensingoverview
// or contact the sales department at sales@riverbankcomputing.com.
// 
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


%ModuleCode
#include <qdom.h>
%End

class QDomImplementation
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    enum InvalidDataPolicy
    {
        AcceptInvalidChars,
        DropInvalidChars,
        ReturnNullNode,
    };

    QDomImplementation();
    QDomImplementation(const QDomImplementation &);
    ~QDomImplementation();
    bool operator==(const QDomImplementation &) const;
    bool operator!=(const QDomImplementation &) const;
    bool hasFeature(const QString &, const QString &) const;
    QDomDocumentType createDocumentType(const QString &, const QString &, const QString &);
    QDomDocument createDocument(const QString &, const QString &, const QDomDocumentType &);
    bool isNull();
    static QDomImplementation::InvalidDataPolicy invalidDataPolicy();
    static void setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy);
};

class QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    enum NodeType
    {
        ElementNode,
        AttributeNode,
        TextNode,
        CDATASectionNode,
        EntityReferenceNode,
        EntityNode,
        ProcessingInstructionNode,
        CommentNode,
        DocumentNode,
        DocumentTypeNode,
        DocumentFragmentNode,
        NotationNode,
        BaseNode,
        CharacterDataNode,
    };

    QDomNode();
    QDomNode(const QDomNode &);
    bool operator==(const QDomNode &) const;
    bool operator!=(const QDomNode &) const;
    ~QDomNode();
    QDomNode insertBefore(const QDomNode &, const QDomNode &);
    QDomNode insertAfter(const QDomNode &, const QDomNode &);
    QDomNode replaceChild(const QDomNode &, const QDomNode &);
    QDomNode removeChild(const QDomNode &);
    QDomNode appendChild(const QDomNode &);
    bool hasChildNodes() const;
    QDomNode cloneNode(bool deep = true) const;
    void normalize();
    bool isSupported(const QString &, const QString &) const;
    QString nodeName() const;
    QDomNode::NodeType nodeType() const;
    QDomNode parentNode() const;
    QDomNodeList childNodes() const;
    QDomNode firstChild() const;
    QDomNode lastChild() const;
    QDomNode previousSibling() const;
    QDomNode nextSibling() const;
    QDomNamedNodeMap attributes() const;
    QDomDocument ownerDocument() const;
    QString namespaceURI() const;
    QString localName() const;
    bool hasAttributes() const;
    QString nodeValue() const;
    void setNodeValue(const QString &);
    QString prefix() const;
    void setPrefix(const QString &);
    bool isAttr() const;
    bool isCDATASection() const;
    bool isDocumentFragment() const;
    bool isDocument() const;
    bool isDocumentType() const;
    bool isElement() const;
    bool isEntityReference() const;
    bool isText() const;
    bool isEntity() const;
    bool isNotation() const;
    bool isProcessingInstruction() const;
    bool isCharacterData() const;
    bool isComment() const;
    QDomNode namedItem(const QString &) const;
    bool isNull() const;
    void clear();
    QDomAttr toAttr() const;
    QDomCDATASection toCDATASection() const;
    QDomDocumentFragment toDocumentFragment() const;
    QDomDocument toDocument() const;
    QDomDocumentType toDocumentType() const;
    QDomElement toElement() const;
    QDomEntityReference toEntityReference() const;
    QDomText toText() const;
    QDomEntity toEntity() const;
    QDomNotation toNotation() const;
    QDomProcessingInstruction toProcessingInstruction() const;
    QDomCharacterData toCharacterData() const;
    QDomComment toComment() const;
    void save(QTextStream &, int) const /ReleaseGIL/;
    QDomElement firstChildElement(const QString &tagName /DocValue="Py_v3:''"/ = QString()) const;
    QDomElement lastChildElement(const QString &tagName /DocValue="Py_v3:''"/ = QString()) const;
    QDomElement previousSiblingElement(const QString &tagName /DocValue="Py_v3:''"/ = QString()) const;
    QDomElement nextSiblingElement(const QString &tagName /DocValue="Py_v3:''"/ = QString()) const;
    int lineNumber() const;
    int columnNumber() const;
%If (Qt_4_3_0 -)

    enum EncodingPolicy
    {
        EncodingFromDocument,
        EncodingFromTextStream,
    };

%End
%If (Qt_4_3_0 -)
    void save(QTextStream &, int, QDomNode::EncodingPolicy) const /ReleaseGIL/;
%End
};

class QDomNodeList
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomNodeList();
    QDomNodeList(const QDomNodeList &);
    bool operator==(const QDomNodeList &) const;
    bool operator!=(const QDomNodeList &) const;
    ~QDomNodeList();
    QDomNode item(int) const;
    uint length() const;
    int count() const;
    QDomNode at(int) const;
    int size() const;
    bool isEmpty() const;
};

class QDomDocumentType : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomDocumentType();
    QDomDocumentType(const QDomDocumentType &);
    QString name() const;
    QDomNamedNodeMap entities() const;
    QDomNamedNodeMap notations() const;
    QString publicId() const;
    QString systemId() const;
    QString internalSubset() const;
    QDomNode::NodeType nodeType() const;
};

class QDomDocument : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomDocument();
    explicit QDomDocument(const QString &);
    explicit QDomDocument(const QDomDocumentType &);
    QDomDocument(const QDomDocument &);
    ~QDomDocument();
    QDomElement createElement(const QString &);
    QDomDocumentFragment createDocumentFragment();
    QDomText createTextNode(const QString &);
    QDomComment createComment(const QString &);
    QDomCDATASection createCDATASection(const QString &);
    QDomProcessingInstruction createProcessingInstruction(const QString &, const QString &);
    QDomAttr createAttribute(const QString &);
    QDomEntityReference createEntityReference(const QString &);
    QDomNodeList elementsByTagName(const QString &) const;
    QDomNode importNode(const QDomNode &, bool);
    QDomElement createElementNS(const QString &, const QString &);
    QDomAttr createAttributeNS(const QString &, const QString &);
    QDomNodeList elementsByTagNameNS(const QString &, const QString &);
    QDomElement elementById(const QString &);
    QDomDocumentType doctype() const;
    QDomImplementation implementation() const;
    QDomElement documentElement() const;
    QDomNode::NodeType nodeType() const;
    bool setContent(const QByteArray &, bool, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
    bool setContent(const QString &, bool, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
    bool setContent(QIODevice *, bool, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0) /ReleaseGIL/;
%If (Qt_4_5_0 -)
    bool setContent(QXmlInputSource *, bool, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
%End
    bool setContent(const QByteArray &, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
    bool setContent(const QString &, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
    bool setContent(QIODevice *, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0) /ReleaseGIL/;
    bool setContent(QXmlInputSource *, QXmlReader *, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0) /ReleaseGIL/;
    QString toString(int indent = 1) const;
    QByteArray toByteArray(int indent = 1) const;
};

class QDomNamedNodeMap
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomNamedNodeMap();
    QDomNamedNodeMap(const QDomNamedNodeMap &);
    bool operator==(const QDomNamedNodeMap &) const;
    bool operator!=(const QDomNamedNodeMap &) const;
    ~QDomNamedNodeMap();
    QDomNode namedItem(const QString &) const;
    QDomNode setNamedItem(const QDomNode &);
    QDomNode removeNamedItem(const QString &);
    QDomNode item(int) const;
    QDomNode namedItemNS(const QString &, const QString &) const;
    QDomNode setNamedItemNS(const QDomNode &);
    QDomNode removeNamedItemNS(const QString &, const QString &);
    uint length() const;
    int count() const;
    int size() const;
    bool isEmpty() const;
    bool contains(const QString &) const;
};

class QDomDocumentFragment : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomDocumentFragment();
    QDomDocumentFragment(const QDomDocumentFragment &);
    QDomNode::NodeType nodeType() const;
};

class QDomCharacterData : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomCharacterData();
    QDomCharacterData(const QDomCharacterData &);
    QString substringData(unsigned long, unsigned long);
    void appendData(const QString &);
    void insertData(unsigned long, const QString &);
    void deleteData(unsigned long, unsigned long);
    void replaceData(unsigned long, unsigned long, const QString &);
    uint length() const;
    QString data() const;
    void setData(const QString &);
    QDomNode::NodeType nodeType() const;
};

class QDomAttr : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomAttr();
    QDomAttr(const QDomAttr &);
    QString name() const;
    bool specified() const;
    QDomElement ownerElement() const;
    QString value() const;
    void setValue(const QString &);
    QDomNode::NodeType nodeType() const;
};

class QDomElement : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomElement();
    QDomElement(const QDomElement &);
    QString attribute(const QString &, const QString &defaultValue /DocValue="Py_v3:''"/ = QString()) const;
    void setAttribute(const QString &, const QString &);
    void setAttribute(const QString &, qlonglong);
    void setAttribute(const QString &, qulonglong);
    void setAttribute(const QString &, double /Constrained/);
    void setAttribute(const QString &, int);
    void removeAttribute(const QString &);
    QDomAttr attributeNode(const QString &);
    QDomAttr setAttributeNode(const QDomAttr &);
    QDomAttr removeAttributeNode(const QDomAttr &);
    QDomNodeList elementsByTagName(const QString &) const;
    bool hasAttribute(const QString &) const;
    QString attributeNS(const QString, const QString &, const QString &defaultValue /DocValue="Py_v3:''"/ = QString()) const;
    void setAttributeNS(const QString, const QString &, const QString &);
    void setAttributeNS(const QString, const QString &, qlonglong);
    void setAttributeNS(const QString, const QString &, qulonglong);
    void setAttributeNS(const QString, const QString &, double /Constrained/);
    void setAttributeNS(const QString, const QString &, int);
    void removeAttributeNS(const QString &, const QString &);
    QDomAttr attributeNodeNS(const QString &, const QString &);
    QDomAttr setAttributeNodeNS(const QDomAttr &);
    QDomNodeList elementsByTagNameNS(const QString &, const QString &) const;
    bool hasAttributeNS(const QString &, const QString &) const;
    QString tagName() const;
    void setTagName(const QString &);
    QDomNamedNodeMap attributes() const;
    QDomNode::NodeType nodeType() const;
    QString text() const;
};

class QDomText : QDomCharacterData
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomText();
    QDomText(const QDomText &);
    QDomText splitText(int);
    QDomNode::NodeType nodeType() const;
};

class QDomComment : QDomCharacterData
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomComment();
    QDomComment(const QDomComment &);
    QDomNode::NodeType nodeType() const;
};

class QDomCDATASection : QDomText
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomCDATASection();
    QDomCDATASection(const QDomCDATASection &);
    QDomNode::NodeType nodeType() const;
};

class QDomNotation : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomNotation();
    QDomNotation(const QDomNotation &);
    QString publicId() const;
    QString systemId() const;
    QDomNode::NodeType nodeType() const;
};

class QDomEntity : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomEntity();
    QDomEntity(const QDomEntity &);
    QString publicId() const;
    QString systemId() const;
    QString notationName() const;
    QDomNode::NodeType nodeType() const;
};

class QDomEntityReference : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomEntityReference();
    QDomEntityReference(const QDomEntityReference &);
    QDomNode::NodeType nodeType() const;
};

class QDomProcessingInstruction : QDomNode
{

%TypeHeaderCode
#include <qdom.h>
%End

public:
    QDomProcessingInstruction();
    QDomProcessingInstruction(const QDomProcessingInstruction &);
    QString target() const;
    QString data() const;
    void setData(const QString &);
    QDomNode::NodeType nodeType() const;
};

QTextStream &operator<<(QTextStream &, const QDomNode &);
