// This is the SIP interface definition for the TQDom classes.
//
// Copyright (c) 2007
// 	Riverbank Computing Limited <info@riverbankcomputing.co.uk>
// 
// This file is part of PyTQt.
// 
// This copy of PyTQt is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2, or (at your option) any later
// version.
// 
// PyTQt is supplied in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
// details.
// 
// You should have received a copy of the GNU General Public License along with
// PyTQt; see the file LICENSE.  If not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


%ExportedDoc
<Sect2><Title>TQDomImplementation (TQt v2.2+)</Title>
<Para>
<Literal>TQDomImplementation</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomNode (TQt v2.2+)</Title>
<Para>
<Literal>TQDomNode</Literal> is fully implemented, including the Python
<Literal>==</Literal> and <Literal>!=</Literal> operators.
</Para>
</Sect2>

<Sect2><Title>TQDomNodeList (TQt v2.2+)</Title>
<Para>
<Literal>TQDomNodeList</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomDocument (TQt v2.2+)</Title>
<FuncSynopsis>
	<FuncDef>bool <Function>setContent</Function></FuncDef>
	<ParamDef>const TQCString &amp;<Parameter>buffer</Parameter></ParamDef>
	<ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef>
	<ParamDef>TQString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
</FuncSynopsis>
<Para>
This takes the <Literal>buffer</Literal> and
<Literal>namespaceProcessing</Literal> parameters and returns a tuple
containing the <Literal>bool</Literal> result and the
<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
<Literal>errorColumn</Literal> values.  (TQt v3+)
</Para>

<FuncSynopsis>
	<FuncDef>bool <Function>setContent</Function></FuncDef>
	<ParamDef>const TQByteArray &amp;<Parameter>buffer</Parameter></ParamDef>
	<ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef>
	<ParamDef>TQString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
</FuncSynopsis>
<Para>
This takes the <Literal>buffer</Literal> and
<Literal>namespaceProcessing</Literal> parameters and returns a tuple
containing the <Literal>bool</Literal> result and the
<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
<Literal>errorColumn</Literal> values.  (TQt v3+)
</Para>

<FuncSynopsis>
	<FuncDef>bool <Function>setContent</Function></FuncDef>
	<ParamDef>const TQString &amp;<Parameter>text</Parameter></ParamDef>
	<ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef>
	<ParamDef>TQString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
</FuncSynopsis>
<Para>
This takes the <Literal>text</Literal> and
<Literal>namespaceProcessing</Literal> parameters and returns a tuple
containing the <Literal>bool</Literal> result and the
<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
<Literal>errorColumn</Literal> values.  (TQt v3+)
</Para>

<FuncSynopsis>
	<FuncDef>bool <Function>setContent</Function></FuncDef>
	<ParamDef>const TQIODevice *<Parameter>dev</Parameter></ParamDef>
	<ParamDef>bool <Parameter>namespaceProcessing</Parameter></ParamDef>
	<ParamDef>TQString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
</FuncSynopsis>
<Para>
This takes the <Literal>dev</Literal> and
<Literal>namespaceProcessing</Literal> parameters and returns a tuple
containing the <Literal>bool</Literal> result and the
<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
<Literal>errorColumn</Literal> values.  (TQt v3+)
</Para>

<FuncSynopsis>
	<FuncDef>bool <Function>setContent</Function></FuncDef>
	<ParamDef>const TQCString &amp;<Parameter>buffer</Parameter></ParamDef>
	<ParamDef>TQString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
</FuncSynopsis>
<Para>
This takes the <Literal>buffer</Literal> parameter only and returns a tuple
containing the <Literal>bool</Literal> result and the
<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
<Literal>errorColumn</Literal> values.  (TQt v3+)
</Para>

<FuncSynopsis>
	<FuncDef>bool <Function>setContent</Function></FuncDef>
	<ParamDef>const TQByteArray &amp;<Parameter>buffer</Parameter></ParamDef>
	<ParamDef>TQString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
</FuncSynopsis>
<Para>
This takes the <Literal>buffer</Literal> parameter only and returns a tuple
containing the <Literal>bool</Literal> result and the
<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
<Literal>errorColumn</Literal> values.  (TQt v3+)
</Para>

<FuncSynopsis>
	<FuncDef>bool <Function>setContent</Function></FuncDef>
	<ParamDef>const TQString &amp;<Parameter>text</Parameter></ParamDef>
	<ParamDef>TQString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
</FuncSynopsis>
<Para>
This takes the <Literal>text</Literal> parameter only and returns a tuple
containing the <Literal>bool</Literal> result and the
<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
<Literal>errorColumn</Literal> values.  (TQt v3+)
</Para>

<FuncSynopsis>
	<FuncDef>bool <Function>setContent</Function></FuncDef>
	<ParamDef>const TQIODevice *<Parameter>dev</Parameter></ParamDef>
	<ParamDef>TQString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
</FuncSynopsis>
<Para>
This takes the <Literal>dev</Literal> parameter only and returns a tuple
containing the <Literal>bool</Literal> result and the
<Literal>errorMsg</Literal>, <Literal>errorLine</Literal> and
<Literal>errorColumn</Literal> values.  (TQt v3+)
</Para>

<FuncSynopsis>
	<FuncDef>bool <Function>setContent</Function></FuncDef>
	<ParamDef>TQXmlInputSource *<Parameter>source</Parameter></ParamDef>
	<ParamDef>TQXmlReader *<Parameter>reader</Parameter></ParamDef>
	<ParamDef>TQString *<Parameter>errorMsg</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorLine</Parameter> = 0</ParamDef>
	<ParamDef>int *<Parameter>errorColumn</Parameter> = 0</ParamDef>
</FuncSynopsis>
<Para>
Not yet implemented.  (TQt v3.2.0+)
</Para>
</Sect2>

<Sect2><Title>TQDomDocumentFragment (TQt v2.2+)</Title>
<Para>
<Literal>TQDomDocumentFragment</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomDocumentType (TQt v2.2+)</Title>
<Para>
<Literal>TQDomDocumentType</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomNamedNodeMap (TQt v2.2+)</Title>
<Para>
<Literal>TQDomNamedNodeMap</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomCharacterData (TQt v2.2+)</Title>
<Para>
<Literal>TQDomCharacterData</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomAttr (TQt v2.2+)</Title>
<Para>
<Literal>TQDomAttr</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomElement (TQt v2.2+)</Title>
<Para>
<Literal>TQDomElement</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomText (TQt v2.2+)</Title>
<Para>
<Literal>TQDomText</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomComment (TQt v2.2+)</Title>
<Para>
<Literal>TQDomComment</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomCDATASection (TQt v2.2+)</Title>
<Para>
<Literal>TQDomCDATASection</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomNotation (TQt v2.2+)</Title>
<Para>
<Literal>TQDomNotation</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomEntity (TQt v2.2+)</Title>
<Para>
<Literal>TQDomEntity</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomEntityReference (TQt v2.2+)</Title>
<Para>
<Literal>TQDomEntityReference</Literal> is fully implemented.
</Para>
</Sect2>

<Sect2><Title>TQDomProcessingInstruction (TQt v2.2+)</Title>
<Para>
<Literal>TQDomProcessingInstruction</Literal> is fully implemented.
</Para>
</Sect2>
%End


%If (TQt_DOM)
%If (TQt_2_2_0 -)

class TQDomImplementation
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomImplementation();
	TQDomImplementation(const TQDomImplementation &);

	virtual bool hasFeature(const TQString &,const TQString &);
%If (TQt_3_0_0 -)
	virtual TQDomDocumentType createDocumentType(const TQString &,
						    const TQString &,
						    const TQString &);
	virtual TQDomDocument createDocument(const TQString &,const TQString &,
					    const TQDomDocumentType &);
%End
	bool isNull();
};


class TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

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

	TQDomNode();
	TQDomNode(const TQDomNode &);

	bool operator==(const TQDomNode &) const;
	bool operator!=(const TQDomNode &) const;

	virtual TQDomNode insertBefore(const TQDomNode &,const TQDomNode &);
	virtual TQDomNode insertAfter(const TQDomNode &,const TQDomNode &);
	virtual TQDomNode replaceChild(const TQDomNode &,const TQDomNode &);
	virtual TQDomNode removeChild(const TQDomNode &);
	virtual TQDomNode appendChild(const TQDomNode &);
%If (TQt_3_0_0 -)
	virtual bool hasChildNodes() const;
%End
	virtual TQDomNode cloneNode(bool = 1) const;
%If (TQt_3_0_0 -)
	virtual void normalize();
	virtual bool isSupported(const TQString &,const TQString &) const;
%End

	virtual TQString nodeName() const;
	virtual NodeType nodeType() const;
	virtual TQDomNode parentNode() const;
	virtual TQDomNodeList childNodes() const;
	virtual TQDomNode firstChild() const;
	virtual TQDomNode lastChild() const;
	virtual TQDomNode previousSibling() const;
	virtual TQDomNode nextSibling() const;
	virtual TQDomNamedNodeMap attributes() const;
	virtual TQDomDocument ownerDocument() const;
%If (TQt_3_0_0 -)
	virtual TQString namespaceURI() const;
	virtual TQString localName() const;
	virtual bool hasAttributes() const;
%End

	virtual TQString nodeValue() const;
	virtual void setNodeValue(const TQString &);
%If (TQt_3_0_0 -)
	virtual TQString prefix() const;
	virtual void setPrefix(const TQString &);
%End

	virtual bool isAttr() const;
	virtual bool isCDATASection() const;
	virtual bool isDocumentFragment() const;
	virtual bool isDocument() const;
	virtual bool isDocumentType() const;
	virtual bool isElement() const;
	virtual bool isEntityReference() const;
	virtual bool isText() const;
	virtual bool isEntity() const;
	virtual bool isNotation() const;
	virtual bool isProcessingInstruction() const;
	virtual bool isCharacterData() const;
	virtual bool isComment() const;

	TQDomNode namedItem(const TQString &) const;

	bool isNull() const;
	void clear();

	TQDomAttr toAttr();
	TQDomCDATASection toCDATASection();
	TQDomDocumentFragment toDocumentFragment();
	TQDomDocument toDocument();
	TQDomDocumentType toDocumentType();
	TQDomElement toElement();
	TQDomEntityReference toEntityReference();
	TQDomText toText();
	TQDomEntity toEntity();
	TQDomNotation toNotation();
	TQDomProcessingInstruction toProcessingInstruction();
	TQDomCharacterData toCharacterData();
	TQDomComment toComment();

	void save(TQTextStream &,int) const;
};


class TQDomNodeList
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomNodeList();
	TQDomNodeList(const TQDomNodeList &);

	virtual TQDomNode item(int) const;

	virtual uint length() const;
	uint count() const;
};


class TQDomDocumentType : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomDocumentType();
	TQDomDocumentType(const TQDomDocumentType &);

	virtual TQString name() const;
	virtual TQDomNamedNodeMap entities() const;
	virtual TQDomNamedNodeMap notations() const;
%If (TQt_3_0_0 -)
	virtual TQString publicId() const;
	virtual TQString systemId() const;
	virtual TQString internalSubset() const;
%End

	TQDomNode::NodeType nodeType() const;
	bool isDocumentType() const;
};


class TQDomDocument : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomDocument();
	TQDomDocument(const TQString &);
%If (TQt_3_0_0 -)
	TQDomDocument(const TQDomDocumentType &);
%End
	TQDomDocument(const TQDomDocument &);

	TQDomElement createElement(const TQString &);
	TQDomDocumentFragment createDocumentFragment();
	TQDomText createTextNode(const TQString &);
	TQDomComment createComment(const TQString &);
	TQDomCDATASection createCDATASection(const TQString &);
	TQDomProcessingInstruction createProcessingInstruction(const TQString &,
							      const TQString &);
	TQDomAttr createAttribute(const TQString &);
	TQDomEntityReference createEntityReference(const TQString &);
	TQDomNodeList elementsByTagName(const TQString &) const;
%If (TQt_3_0_0 -)
	TQDomElement elementById(const TQString &);
%End

	TQDomDocumentType doctype() const;
	TQDomImplementation implementation() const;
	TQDomElement documentElement() const;

%If (- TQt_3_0_0)
	bool setContent(const TQCString &);
	bool setContent(const TQByteArray &);
	bool setContent(const TQString &);
	bool setContent(TQIODevice *);
%End
%If (TQt_3_0_0 -)
	// Note that we need handwritten code for these because of the need to
	// allocate storage for the error string.
	SIP_PYTUPLE setContent(const TQCString &,bool);
%MethodCode
		bool res;
		TQString *emsg = new TQString();
		int eline, ecol;

		Py_BEGIN_ALLOW_THREADS
		res = sipCpp -> TQDomDocument::setContent(*a0,a1,emsg,&eline,&ecol);
		Py_END_ALLOW_THREADS

		sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
                sipType_TQString, (PyObject *)0, eline, ecol);
%End

	SIP_PYTUPLE setContent(const TQByteArray &,bool);
%MethodCode
		bool res;
		TQString *emsg = new TQString();
		int eline, ecol;
 
		Py_BEGIN_ALLOW_THREADS
		res = sipCpp -> TQDomDocument::setContent(*a0,a1,emsg,&eline,&ecol);
		Py_END_ALLOW_THREADS

		sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
                sipType_TQString, (PyObject *)0, eline, ecol);
%End

	SIP_PYTUPLE setContent(const TQString &,bool);
%MethodCode
		bool res;
		TQString *emsg = new TQString();
		int eline, ecol;
 
		Py_BEGIN_ALLOW_THREADS
		res = sipCpp -> TQDomDocument::setContent(*a0,a1,emsg,&eline,&ecol);
		Py_END_ALLOW_THREADS

		sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
                sipType_TQString, (PyObject *)0, eline, ecol);
%End

	SIP_PYTUPLE setContent(TQIODevice *,bool);
%MethodCode
		bool res;
		TQString *emsg = new TQString();
		int eline, ecol;

		Py_BEGIN_ALLOW_THREADS
		res = sipCpp -> TQDomDocument::setContent(a0,a1,emsg,&eline,&ecol);
		Py_END_ALLOW_THREADS

		sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
                sipType_TQString, (PyObject *)0, eline, ecol);
%End

	SIP_PYTUPLE setContent(const TQCString &);
%MethodCode
		bool res;
		TQString *emsg = new TQString();
		int eline, ecol;

		Py_BEGIN_ALLOW_THREADS
		res = sipCpp -> TQDomDocument::setContent(*a0,emsg,&eline,&ecol);
		Py_END_ALLOW_THREADS

		sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
                sipType_TQString, (PyObject *)0, eline, ecol);
%End

	SIP_PYTUPLE setContent(const TQByteArray &);
%MethodCode
		bool res;
		TQString *emsg = new TQString();
		int eline, ecol;
 
		Py_BEGIN_ALLOW_THREADS
		res = sipCpp -> TQDomDocument::setContent(*a0,emsg,&eline,&ecol);
		Py_END_ALLOW_THREADS

		sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
                sipType_TQString, (PyObject *)0, eline, ecol);
%End

	SIP_PYTUPLE setContent(const TQString &);
%MethodCode
		bool res;
		TQString *emsg = new TQString();
		int eline, ecol;

		Py_BEGIN_ALLOW_THREADS
		res = sipCpp -> TQDomDocument::setContent(*a0,emsg,&eline,&ecol);
		Py_END_ALLOW_THREADS

		sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
                sipType_TQString, (PyObject *)0, eline, ecol);
%End

	SIP_PYTUPLE setContent(TQIODevice *);
%MethodCode
		bool res;
		TQString *emsg = new TQString();
		int eline, ecol;

		Py_BEGIN_ALLOW_THREADS
		res = sipCpp -> TQDomDocument::setContent(a0,emsg,&eline,&ecol);
		Py_END_ALLOW_THREADS

		sipRes = sipBuildResult(&sipIsErr, "(bNii)", res, emsg,
                sipType_TQString, (PyObject *)0, eline, ecol);
%End

%End

%If (TQt_3_2_0 -)
//	bool setContent(TQXmlInputSource *,TQXmlReader *,TQString * = 0,int * = 0,
//			int * = 0);
%End

	TQDomNode::NodeType nodeType() const;
	bool isDocument() const;

	TQString toString() const;
%If (TQt_3_1_0 -)
	TQString toString(int) const;
%End
	TQCString toCString() const;
%If (TQt_3_1_0 -)
	TQCString toCString(int) const;
%End
};


class TQDomNamedNodeMap
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomNamedNodeMap();
	TQDomNamedNodeMap(const TQDomNamedNodeMap &);

	TQDomNode namedItem(const TQString &) const;
	TQDomNode setNamedItem(const TQDomNode &);
	TQDomNode removeNamedItem(const TQString &);
	TQDomNode item(int) const;
%If (TQt_3_0_0 -)
	TQDomNode namedItemNS(const TQString &,const TQString &) const;
	TQDomNode setNamedItemNS(const TQDomNode &);
	TQDomNode removeNamedItemNS(const TQString &,const TQString &);
%End

	uint length() const;
%If (TQt_3_0_0 -)
	uint count() const;
%End

	bool contains(const TQString &) const;
};


class TQDomDocumentFragment : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomDocumentFragment();
	TQDomDocumentFragment(const TQDomDocumentFragment &);

	TQDomNode::NodeType nodeType() const;
	bool isDocumentFragment() const;
};


class TQDomCharacterData : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomCharacterData();
	TQDomCharacterData(const TQDomCharacterData &);

	virtual TQString substringData(unsigned long,unsigned long);
	virtual void appendData(const TQString &);
	virtual void insertData(unsigned long,const TQString &);
	virtual void deleteData(unsigned long,unsigned long);
	virtual void replaceData(unsigned long,unsigned long,const TQString &);

	virtual uint length() const;

	virtual TQString data() const;
	virtual void setData(const TQString &);

	TQDomNode::NodeType nodeType() const;
	bool isCharacterData() const;
};


class TQDomAttr : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomAttr();
	TQDomAttr(const TQDomAttr&);

	virtual TQString name() const;
	virtual bool specified() const;
%If (TQt_3_0_0 -)
	virtual TQDomElement ownerElement() const;
%End

	virtual TQString value() const;
	virtual void setValue(const TQString &);

	TQDomNode::NodeType nodeType() const;
	bool isAttr() const;
};


class TQDomElement : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomElement();
	TQDomElement(const TQDomElement &);

	TQString attribute(const TQString &,
			  const TQString & = TQString::null) const;
	void setAttribute(const TQString &,const TQString &);
	void setAttribute(const TQString &,int /Constrained/);
//	void setAttribute(const TQString &,uint);
%If (TQt_3_2_0 -)
//	void setAttribute(const TQString &,long);
//	void setAttribute(const TQString &,ulong);
%End
	void setAttribute(const TQString &,double);
	void removeAttribute(const TQString &);
	TQDomAttr attributeNode(const TQString &);
	TQDomAttr setAttributeNode(const TQDomAttr &);
	TQDomAttr removeAttributeNode(const TQDomAttr &);
	virtual TQDomNodeList elementsByTagName(const TQString &) const;
	bool hasAttribute(const TQString &) const;
%If (- TQt_3_0_0)
	void normalize();
%End

%If (TQt_3_0_0 -)
	TQString attributeNS(const TQString,const TQString &,
			    const TQString &) const;
	void setAttributeNS(const TQString,const TQString &,const TQString &);
	void setAttributeNS(const TQString,const TQString &,int /Constrained/);
//	void setAttributeNS(const TQString,const TQString &,uint);
%If (TQt_3_2_0 -)
//	void setAttributeNS(const TQString &,const TQString &,long);
//	void setAttributeNS(const TQString &,const TQString &,ulong);
%End
	void setAttributeNS(const TQString,const TQString &,double);
	void removeAttributeNS(const TQString &,const TQString &);
	TQDomAttr attributeNodeNS(const TQString &,const TQString &);
	TQDomAttr setAttributeNodeNS(const TQDomAttr &);
	virtual TQDomNodeList elementsByTagNameNS(const TQString &,
						 const TQString &) const;
	bool hasAttributeNS(const TQString &,const TQString &) const;
%End

	TQString tagName() const;
	void setTagName(const TQString &);

	TQDomNamedNodeMap attributes() const;
	TQDomNode::NodeType nodeType() const;
	bool isElement() const;

	TQString text() const;
};


class TQDomText : TQDomCharacterData
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomText();
	TQDomText(const TQDomText &);

	TQDomText splitText(int);

	TQDomNode::NodeType nodeType() const;
	bool isText() const;
};


class TQDomComment : TQDomCharacterData
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomComment();
	TQDomComment(const TQDomComment &);

	TQDomNode::NodeType nodeType() const;
	bool isComment() const;
};


class TQDomCDATASection : TQDomText
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomCDATASection();
	TQDomCDATASection(const TQDomCDATASection&);

	TQDomNode::NodeType nodeType() const;
	bool isCDATASection() const;
};


class TQDomNotation : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomNotation();
	TQDomNotation(const TQDomNotation &);

	TQString publicId() const;
	TQString systemId() const;

	TQDomNode::NodeType nodeType() const;
	bool isNotation() const;
};


class TQDomEntity : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomEntity();
	TQDomEntity(const TQDomEntity &);

	virtual TQString publicId() const;
	virtual TQString systemId() const;
	virtual TQString notationName() const;

	TQDomNode::NodeType nodeType() const;
	bool isEntity() const;
};


class TQDomEntityReference : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomEntityReference();
	TQDomEntityReference(const TQDomEntityReference &);

	TQDomNode::NodeType nodeType() const;
	bool isEntityReference() const;
};


class TQDomProcessingInstruction : TQDomNode
{
%TypeHeaderCode
#include <tqdom.h>
%End

public:
	TQDomProcessingInstruction();
	TQDomProcessingInstruction(const TQDomProcessingInstruction &);

	virtual TQString target() const;

	virtual TQString data() const;
	virtual void setData(const TQString &);

	TQDomNode::NodeType nodeType() const;
	bool isProcessingInstruction() const;
};

%End
%End
