- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Directories
- Examples

- File List
- File Members

# qdom.h

Go to the documentation of this file.

    00001 /****************************************************************************
    00002 **
    00003 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
    00004 ** All rights reserved.
    00005 ** Contact: Nokia Corporation (qt-info@nokia.com)
    00006 **
    00007 ** This file is part of the QtXml module of the Qt Toolkit.
    00008 **
    00009 ** $QT_BEGIN_LICENSE:LGPL$
    00010 ** Commercial Usage
    00011 ** Licensees holding valid Qt Commercial licenses may use this file in
    00012 ** accordance with the Qt Commercial License Agreement provided with the
    00013 ** Software or, alternatively, in accordance with the terms contained in
    00014 ** a written agreement between you and Nokia.
    00015 **
    00016 ** GNU Lesser General Public License Usage
    00017 ** Alternatively, this file may be used under the terms of the GNU Lesser
    00018 ** General Public License version 2.1 as published by the Free Software
    00019 ** Foundation and appearing in the file LICENSE.LGPL included in the
    00020 ** packaging of this file.  Please review the following information to
    00021 ** ensure the GNU Lesser General Public License version 2.1 requirements
    00022 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
    00023 **
    00024 ** In addition, as a special exception, Nokia gives you certain additional
    00025 ** rights.  These rights are described in the Nokia Qt LGPL Exception
    00026 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this module.
    00027 **
    00028 ** GNU General Public License Usage
    00029 ** Alternatively, this file may be used under the terms of the GNU
    00030 ** General Public License version 3.0 as published by the Free Software
    00031 ** Foundation and appearing in the file LICENSE.GPL included in the
    00032 ** packaging of this file.  Please review the following information to
    00033 ** ensure the GNU General Public License version 3.0 requirements will be
    00034 ** met: http://www.gnu.org/copyleft/gpl.html.
    00035 **
    00036 ** If you have questions regarding the use of this file, please contact
    00037 ** Nokia at qt-info@nokia.com.
    00038 ** $QT_END_LICENSE$
    00039 **
    00040 ****************************************************************************/
    00041
    00042 #ifndef QDOM_H
    00043 #define QDOM_H
    00044
    00045 #include <QtCore/qstring.h>
    00046
    00047 QT_BEGIN_HEADER
    00048
    00049 QT_BEGIN_NAMESPACE
    00050
    00051 QT_MODULE(Xml)
    00052
    00053 #ifndef QT_NO_DOM
    00054
    00055 class QIODevice;
    00056 class QTextStream;
    00057
    00058 class QXmlInputSource;
    00059 class QXmlReader;
    00060
    00061 class QDomDocumentPrivate;
    00062 class QDomDocumentTypePrivate;
    00063 class QDomDocumentFragmentPrivate;
    00064 class QDomNodePrivate;
    00065 class QDomNodeListPrivate;
    00066 class QDomImplementationPrivate;
    00067 class QDomElementPrivate;
    00068 class QDomNotationPrivate;
    00069 class QDomEntityPrivate;
    00070 class QDomEntityReferencePrivate;
    00071 class QDomProcessingInstructionPrivate;
    00072 class QDomAttrPrivate;
    00073 class QDomCharacterDataPrivate;
    00074 class QDomTextPrivate;
    00075 class QDomCommentPrivate;
    00076 class QDomCDATASectionPrivate;
    00077 class QDomNamedNodeMapPrivate;
    00078 class QDomImplementationPrivate;
    00079
    00080 class QDomNodeList;
    00081 class QDomElement;
    00082 class QDomText;
    00083 class QDomComment;
    00084 class QDomCDATASection;
    00085 class QDomProcessingInstruction;
    00086 class QDomAttr;
    00087 class QDomEntityReference;
    00088 class QDomDocument;
    00089 class QDomNamedNodeMap;
    00090 class QDomDocument;
    00091 class QDomDocumentFragment;
    00092 class QDomDocumentType;
    00093 class QDomImplementation;
    00094 class QDomNode;
    00095 class QDomEntity;
    00096 class QDomNotation;
    00097 class QDomCharacterData;
    00098
    00099 class Q_XML_EXPORT QDomImplementation
    00100 {
    00101 public:
    00102     QDomImplementation();
    00103     QDomImplementation(const QDomImplementation&);
    00104     ~QDomImplementation();
    00105     QDomImplementation& operator= (const QDomImplementation&);
    00106     bool operator== (const QDomImplementation&) const;
    00107     bool operator!= (const QDomImplementation&) const;
    00108
    00109     // functions
    00110     bool hasFeature(const QString& feature, const QString& version) const;
    00111     QDomDocumentType createDocumentType(const QString& qName, const QString& publicId, const QString& systemId);
    00112     QDomDocument createDocument(const QString& nsURI, const QString& qName, const QDomDocumentType& doctype);
    00113
    00114     enum InvalidDataPolicy { AcceptInvalidChars = 0, DropInvalidChars, ReturnNullNode };
    00115     static InvalidDataPolicy invalidDataPolicy();
    00116     static void setInvalidDataPolicy(InvalidDataPolicy policy);
    00117
    00118     // Qt extension
    00119     bool isNull();
    00120
    00121 private:
    00122     QDomImplementationPrivate* impl;
    00123     QDomImplementation(QDomImplementationPrivate*);
    00124
    00125     friend class QDomDocument;
    00126 };
    00127
    00128 class Q_XML_EXPORT QDomNode
    00129 {
    00130 public:
    00131     enum NodeType {
    00132         ElementNode               = 1,
    00133         AttributeNode             = 2,
    00134         TextNode                  = 3,
    00135         CDATASectionNode          = 4,
    00136         EntityReferenceNode       = 5,
    00137         EntityNode                = 6,
    00138         ProcessingInstructionNode = 7,
    00139         CommentNode               = 8,
    00140         DocumentNode              = 9,
    00141         DocumentTypeNode          = 10,
    00142         DocumentFragmentNode      = 11,
    00143         NotationNode              = 12,
    00144         BaseNode                  = 21,// this is not in the standard
    00145         CharacterDataNode         = 22 // this is not in the standard
    00146     };
    00147
    00148     enum EncodingPolicy
    00149     {
    00150         EncodingFromDocument      = 1,
    00151         EncodingFromTextStream    = 2
    00152     };
    00153
    00154     QDomNode();
    00155     QDomNode(const QDomNode&);
    00156     QDomNode& operator= (const QDomNode&);
    00157     bool operator== (const QDomNode&) const;
    00158     bool operator!= (const QDomNode&) const;
    00159     ~QDomNode();
    00160
    00161     // DOM functions
    00162     QDomNode insertBefore(const QDomNode& newChild, const QDomNode& refChild);
    00163     QDomNode insertAfter(const QDomNode& newChild, const QDomNode& refChild);
    00164     QDomNode replaceChild(const QDomNode& newChild, const QDomNode& oldChild);
    00165     QDomNode removeChild(const QDomNode& oldChild);
    00166     QDomNode appendChild(const QDomNode& newChild);
    00167     bool hasChildNodes() const;
    00168     QDomNode cloneNode(bool deep = true) const;
    00169     void normalize();
    00170     bool isSupported(const QString& feature, const QString& version) const;
    00171
    00172     // DOM read-only attributes
    00173     QString nodeName() const;
    00174     NodeType nodeType() const;
    00175     QDomNode parentNode() const;
    00176     QDomNodeList childNodes() const;
    00177     QDomNode firstChild() const;
    00178     QDomNode lastChild() const;
    00179     QDomNode previousSibling() const;
    00180     QDomNode nextSibling() const;
    00181     QDomNamedNodeMap attributes() const;
    00182     QDomDocument ownerDocument() const;
    00183     QString namespaceURI() const;
    00184     QString localName() const;
    00185     bool hasAttributes() const;
    00186
    00187     // DOM attributes
    00188     QString nodeValue() const;
    00189     void setNodeValue(const QString&);
    00190     QString prefix() const;
    00191     void setPrefix(const QString& pre);
    00192
    00193     // Qt extensions
    00194     bool isAttr() const;
    00195     bool isCDATASection() const;
    00196     bool isDocumentFragment() const;
    00197     bool isDocument() const;
    00198     bool isDocumentType() const;
    00199     bool isElement() const;
    00200     bool isEntityReference() const;
    00201     bool isText() const;
    00202     bool isEntity() const;
    00203     bool isNotation() const;
    00204     bool isProcessingInstruction() const;
    00205     bool isCharacterData() const;
    00206     bool isComment() const;
    00207
    00212     QDomNode namedItem(const QString& name) const;
    00213
    00214     bool isNull() const;
    00215     void clear();
    00216
    00217     QDomAttr toAttr() const;
    00218     QDomCDATASection toCDATASection() const;
    00219     QDomDocumentFragment toDocumentFragment() const;
    00220     QDomDocument toDocument() const;
    00221     QDomDocumentType toDocumentType() const;
    00222     QDomElement toElement() const;
    00223     QDomEntityReference toEntityReference() const;
    00224     QDomText toText() const;
    00225     QDomEntity toEntity() const;
    00226     QDomNotation toNotation() const;
    00227     QDomProcessingInstruction toProcessingInstruction() const;
    00228     QDomCharacterData toCharacterData() const;
    00229     QDomComment toComment() const;
    00230
    00231     void save(QTextStream&, int) const;
    00232     void save(QTextStream&, int, EncodingPolicy) const; // ### Qt 5: Merge overload(if we at all keep this)
    00233
    00234     QDomElement firstChildElement(const QString &tagName = QString()) const;
    00235     QDomElement lastChildElement(const QString &tagName = QString()) const;
    00236     QDomElement previousSiblingElement(const QString &tagName = QString()) const;
    00237     QDomElement nextSiblingElement(const QString &taName = QString()) const;
    00238
    00239     int lineNumber() const;
    00240     int columnNumber() const;
    00241
    00242 protected:
    00243     QDomNodePrivate* impl;
    00244     QDomNode(QDomNodePrivate*);
    00245
    00246 private:
    00247     friend class QDomDocument;
    00248     friend class QDomDocumentType;
    00249     friend class QDomNodeList;
    00250     friend class QDomNamedNodeMap;
    00251 };
    00252
    00253 class Q_XML_EXPORT QDomNodeList
    00254 {
    00255 public:
    00256     QDomNodeList();
    00257     QDomNodeList(const QDomNodeList&);
    00258     QDomNodeList& operator= (const QDomNodeList&);
    00259     bool operator== (const QDomNodeList&) const;
    00260     bool operator!= (const QDomNodeList&) const;
    00261     ~QDomNodeList();
    00262
    00263     // DOM functions
    00264     QDomNode item(int index) const;
    00265     inline QDomNode at(int index) const { return item(index); } // Qt API consistency
    00266
    00267     // DOM read only attributes
    00268     uint length() const;
    00269     inline int count() const { return length(); } // Qt API consitancy
    00270     inline int size() const { return length(); } // Qt API consistency
    00271     inline bool isEmpty() const { return length() == 0; } // Qt API consistency
    00272
    00273 private:
    00274     QDomNodeListPrivate* impl;
    00275     QDomNodeList(QDomNodeListPrivate*);
    00276
    00277     friend class QDomNode;
    00278     friend class QDomElement;
    00279     friend class QDomDocument;
    00280 };
    00281
    00282 class Q_XML_EXPORT QDomDocumentType : public QDomNode
    00283 {
    00284 public:
    00285     QDomDocumentType();
    00286     QDomDocumentType(const QDomDocumentType& x);
    00287     QDomDocumentType& operator= (const QDomDocumentType&);
    00288
    00289     // DOM read only attributes
    00290     QString name() const;
    00291     QDomNamedNodeMap entities() const;
    00292     QDomNamedNodeMap notations() const;
    00293     QString publicId() const;
    00294     QString systemId() const;
    00295     QString internalSubset() const;
    00296
    00297     // Overridden from QDomNode
    00298     inline QDomNode::NodeType nodeType() const { return DocumentTypeNode; }
    00299
    00300 private:
    00301     QDomDocumentType(QDomDocumentTypePrivate*);
    00302
    00303     friend class QDomImplementation;
    00304     friend class QDomDocument;
    00305     friend class QDomNode;
    00306 };
    00307
    00308 class Q_XML_EXPORT QDomDocument : public QDomNode
    00309 {
    00310 public:
    00311     QDomDocument();
    00312     explicit QDomDocument(const QString& name);
    00313     explicit QDomDocument(const QDomDocumentType& doctype);
    00314     QDomDocument(const QDomDocument& x);
    00315     QDomDocument& operator= (const QDomDocument&);
    00316     ~QDomDocument();
    00317
    00318     // DOM functions
    00319     QDomElement createElement(const QString& tagName);
    00320     QDomDocumentFragment createDocumentFragment();
    00321     QDomText createTextNode(const QString& data);
    00322     QDomComment createComment(const QString& data);
    00323     QDomCDATASection createCDATASection(const QString& data);
    00324     QDomProcessingInstruction createProcessingInstruction(const QString& target, const QString& data);
    00325     QDomAttr createAttribute(const QString& name);
    00326     QDomEntityReference createEntityReference(const QString& name);
    00327     QDomNodeList elementsByTagName(const QString& tagname) const;
    00328     QDomNode importNode(const QDomNode& importedNode, bool deep);
    00329     QDomElement createElementNS(const QString& nsURI, const QString& qName);
    00330     QDomAttr createAttributeNS(const QString& nsURI, const QString& qName);
    00331     QDomNodeList elementsByTagNameNS(const QString& nsURI, const QString& localName);
    00332     QDomElement elementById(const QString& elementId);
    00333
    00334     // DOM read only attributes
    00335     QDomDocumentType doctype() const;
    00336     QDomImplementation implementation() const;
    00337     QDomElement documentElement() const;
    00338
    00339     // Overridden from QDomNode
    00340     inline QDomNode::NodeType nodeType() const { return DocumentNode; }
    00341
    00342     // Qt extensions
    00343     bool setContent(const QByteArray& text, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
    00344     bool setContent(const QString& text, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
    00345     bool setContent(QIODevice* dev, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
    00346     bool setContent(QXmlInputSource *source, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
    00347     bool setContent(const QByteArray& text, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
    00348     bool setContent(const QString& text, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
    00349     bool setContent(QIODevice* dev, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
    00350     bool setContent(QXmlInputSource *source, QXmlReader *reader, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
    00351
    00352     // Qt extensions
    00353     QString toString(int = 1) const;
    00354     QByteArray toByteArray(int = 1) const;
    00355
    00356 private:
    00357     QDomDocument(QDomDocumentPrivate*);
    00358
    00359     friend class QDomNode;
    00360 };
    00361
    00362 class Q_XML_EXPORT QDomNamedNodeMap
    00363 {
    00364 public:
    00365     QDomNamedNodeMap();
    00366     QDomNamedNodeMap(const QDomNamedNodeMap&);
    00367     QDomNamedNodeMap& operator= (const QDomNamedNodeMap&);
    00368     bool operator== (const QDomNamedNodeMap&) const;
    00369     bool operator!= (const QDomNamedNodeMap&) const;
    00370     ~QDomNamedNodeMap();
    00371
    00372     // DOM functions
    00373     QDomNode namedItem(const QString& name) const;
    00374     QDomNode setNamedItem(const QDomNode& newNode);
    00375     QDomNode removeNamedItem(const QString& name);
    00376     QDomNode item(int index) const;
    00377     QDomNode namedItemNS(const QString& nsURI, const QString& localName) const;
    00378     QDomNode setNamedItemNS(const QDomNode& newNode);
    00379     QDomNode removeNamedItemNS(const QString& nsURI, const QString& localName);
    00380
    00381     // DOM read only attributes
    00382     uint length() const;
    00383     int count() const { return length(); } // Qt API consitancy
    00384     inline int size() const { return length(); } // Qt API consistency
    00385     inline bool isEmpty() const { return length() == 0; } // Qt API consistency
    00386
    00387     // Qt extension
    00388     bool contains(const QString& name) const;
    00389
    00390 private:
    00391     QDomNamedNodeMapPrivate* impl;
    00392     QDomNamedNodeMap(QDomNamedNodeMapPrivate*);
    00393
    00394     friend class QDomNode;
    00395     friend class QDomDocumentType;
    00396     friend class QDomElement;
    00397 };
    00398
    00399 class Q_XML_EXPORT QDomDocumentFragment : public QDomNode
    00400 {
    00401 public:
    00402     QDomDocumentFragment();
    00403     QDomDocumentFragment(const QDomDocumentFragment& x);
    00404     QDomDocumentFragment& operator= (const QDomDocumentFragment&);
    00405
    00406     // Overridden from QDomNode
    00407     inline QDomNode::NodeType nodeType() const { return DocumentFragmentNode; }
    00408
    00409 private:
    00410     QDomDocumentFragment(QDomDocumentFragmentPrivate*);
    00411
    00412     friend class QDomDocument;
    00413     friend class QDomNode;
    00414 };
    00415
    00416 class Q_XML_EXPORT QDomCharacterData : public QDomNode
    00417 {
    00418 public:
    00419     QDomCharacterData();
    00420     QDomCharacterData(const QDomCharacterData& x);
    00421     QDomCharacterData& operator= (const QDomCharacterData&);
    00422
    00423     // DOM functions
    00424     QString substringData(unsigned long offset, unsigned long count);
    00425     void appendData(const QString& arg);
    00426     void insertData(unsigned long offset, const QString& arg);
    00427     void deleteData(unsigned long offset, unsigned long count);
    00428     void replaceData(unsigned long offset, unsigned long count, const QString& arg);
    00429
    00430     // DOM read only attributes
    00431     uint length() const;
    00432
    00433     // DOM attributes
    00434     QString data() const;
    00435     void setData(const QString&);
    00436
    00437     // Overridden from QDomNode
    00438     QDomNode::NodeType nodeType() const;
    00439
    00440 private:
    00441     QDomCharacterData(QDomCharacterDataPrivate*);
    00442
    00443     friend class QDomDocument;
    00444     friend class QDomText;
    00445     friend class QDomComment;
    00446     friend class QDomNode;
    00447 };
    00448
    00449 class Q_XML_EXPORT QDomAttr : public QDomNode
    00450 {
    00451 public:
    00452     QDomAttr();
    00453     QDomAttr(const QDomAttr& x);
    00454     QDomAttr& operator= (const QDomAttr&);
    00455
    00456     // DOM read only attributes
    00457     QString name() const;
    00458     bool specified() const;
    00459     QDomElement ownerElement() const;
    00460
    00461     // DOM attributes
    00462     QString value() const;
    00463     void setValue(const QString&);
    00464
    00465     // Overridden from QDomNode
    00466     inline QDomNode::NodeType nodeType() const { return AttributeNode; }
    00467
    00468 private:
    00469     QDomAttr(QDomAttrPrivate*);
    00470
    00471     friend class QDomDocument;
    00472     friend class QDomElement;
    00473     friend class QDomNode;
    00474 };
    00475
    00476 class Q_XML_EXPORT QDomElement : public QDomNode
    00477 {
    00478 public:
    00479     QDomElement();
    00480     QDomElement(const QDomElement& x);
    00481     QDomElement& operator= (const QDomElement&);
    00482
    00483     // DOM functions
    00484     QString attribute(const QString& name, const QString& defValue = QString() ) const;
    00485     void setAttribute(const QString& name, const QString& value);
    00486     void setAttribute(const QString& name, qlonglong value);
    00487     void setAttribute(const QString& name, qulonglong value);
    00488     inline void setAttribute(const QString& name, int value)
    00489         { setAttribute(name, qlonglong(value)); }
    00490     inline void setAttribute(const QString& name, uint value)
    00491         { setAttribute(name, qulonglong(value)); }
    00492     void setAttribute(const QString& name, float value);
    00493     void setAttribute(const QString& name, double value);
    00494     void removeAttribute(const QString& name);
    00495     QDomAttr attributeNode(const QString& name);
    00496     QDomAttr setAttributeNode(const QDomAttr& newAttr);
    00497     QDomAttr removeAttributeNode(const QDomAttr& oldAttr);
    00498     QDomNodeList elementsByTagName(const QString& tagname) const;
    00499     bool hasAttribute(const QString& name) const;
    00500
    00501     QString attributeNS(const QString nsURI, const QString& localName, const QString& defValue = QString()) const;
    00502     void setAttributeNS(const QString nsURI, const QString& qName, const QString& value);
    00503     inline void setAttributeNS(const QString nsURI, const QString& qName, int value)
    00504         { setAttributeNS(nsURI, qName, qlonglong(value)); }
    00505     inline void setAttributeNS(const QString nsURI, const QString& qName, uint value)
    00506         { setAttributeNS(nsURI, qName, qulonglong(value)); }
    00507     void setAttributeNS(const QString nsURI, const QString& qName, qlonglong value);
    00508     void setAttributeNS(const QString nsURI, const QString& qName, qulonglong value);
    00509     void setAttributeNS(const QString nsURI, const QString& qName, double value);
    00510     void removeAttributeNS(const QString& nsURI, const QString& localName);
    00511     QDomAttr attributeNodeNS(const QString& nsURI, const QString& localName);
    00512     QDomAttr setAttributeNodeNS(const QDomAttr& newAttr);
    00513     QDomNodeList elementsByTagNameNS(const QString& nsURI, const QString& localName) const;
    00514     bool hasAttributeNS(const QString& nsURI, const QString& localName) const;
    00515
    00516     // DOM read only attributes
    00517     QString tagName() const;
    00518     void setTagName(const QString& name); // Qt extension
    00519
    00520     // Overridden from QDomNode
    00521     QDomNamedNodeMap attributes() const;
    00522     inline QDomNode::NodeType nodeType() const { return ElementNode; }
    00523
    00524     QString text() const;
    00525
    00526 private:
    00527     QDomElement(QDomElementPrivate*);
    00528
    00529     friend class QDomDocument;
    00530     friend class QDomNode;
    00531     friend class QDomAttr;
    00532 };
    00533
    00534 class Q_XML_EXPORT QDomText : public QDomCharacterData
    00535 {
    00536 public:
    00537     QDomText();
    00538     QDomText(const QDomText& x);
    00539     QDomText& operator= (const QDomText&);
    00540
    00541     // DOM functions
    00542     QDomText splitText(int offset);
    00543
    00544     // Overridden from QDomCharacterData
    00545     inline QDomNode::NodeType nodeType() const { return TextNode; }
    00546
    00547 private:
    00548     QDomText(QDomTextPrivate*);
    00549
    00550     friend class QDomCDATASection;
    00551     friend class QDomDocument;
    00552     friend class QDomNode;
    00553 };
    00554
    00555 class Q_XML_EXPORT QDomComment : public QDomCharacterData
    00556 {
    00557 public:
    00558     QDomComment();
    00559     QDomComment(const QDomComment& x);
    00560     QDomComment& operator= (const QDomComment&);
    00561
    00562     // Overridden from QDomCharacterData
    00563     inline QDomNode::NodeType nodeType() const { return CommentNode; }
    00564
    00565 private:
    00566     QDomComment(QDomCommentPrivate*);
    00567
    00568     friend class QDomDocument;
    00569     friend class QDomNode;
    00570 };
    00571
    00572 class Q_XML_EXPORT QDomCDATASection : public QDomText
    00573 {
    00574 public:
    00575     QDomCDATASection();
    00576     QDomCDATASection(const QDomCDATASection& x);
    00577     QDomCDATASection& operator= (const QDomCDATASection&);
    00578
    00579     // Overridden from QDomText
    00580     inline QDomNode::NodeType nodeType() const { return CDATASectionNode; }
    00581
    00582 private:
    00583     QDomCDATASection(QDomCDATASectionPrivate*);
    00584
    00585     friend class QDomDocument;
    00586     friend class QDomNode;
    00587 };
    00588
    00589 class Q_XML_EXPORT QDomNotation : public QDomNode
    00590 {
    00591 public:
    00592     QDomNotation();
    00593     QDomNotation(const QDomNotation& x);
    00594     QDomNotation& operator= (const QDomNotation&);
    00595
    00596     // DOM read only attributes
    00597     QString publicId() const;
    00598     QString systemId() const;
    00599
    00600     // Overridden from QDomNode
    00601     inline QDomNode::NodeType nodeType() const { return NotationNode; }
    00602
    00603 private:
    00604     QDomNotation(QDomNotationPrivate*);
    00605
    00606     friend class QDomDocument;
    00607     friend class QDomNode;
    00608 };
    00609
    00610 class Q_XML_EXPORT QDomEntity : public QDomNode
    00611 {
    00612 public:
    00613     QDomEntity();
    00614     QDomEntity(const QDomEntity& x);
    00615     QDomEntity& operator= (const QDomEntity&);
    00616
    00617     // DOM read only attributes
    00618     QString publicId() const;
    00619     QString systemId() const;
    00620     QString notationName() const;
    00621
    00622     // Overridden from QDomNode
    00623     inline QDomNode::NodeType nodeType() const { return EntityNode; }
    00624
    00625 private:
    00626     QDomEntity(QDomEntityPrivate*);
    00627
    00628     friend class QDomNode;
    00629 };
    00630
    00631 class Q_XML_EXPORT QDomEntityReference : public QDomNode
    00632 {
    00633 public:
    00634     QDomEntityReference();
    00635     QDomEntityReference(const QDomEntityReference& x);
    00636     QDomEntityReference& operator= (const QDomEntityReference&);
    00637
    00638     // Overridden from QDomNode
    00639     inline QDomNode::NodeType nodeType() const { return EntityReferenceNode; }
    00640
    00641 private:
    00642     QDomEntityReference(QDomEntityReferencePrivate*);
    00643
    00644     friend class QDomDocument;
    00645     friend class QDomNode;
    00646 };
    00647
    00648 class Q_XML_EXPORT QDomProcessingInstruction : public QDomNode
    00649 {
    00650 public:
    00651     QDomProcessingInstruction();
    00652     QDomProcessingInstruction(const QDomProcessingInstruction& x);
    00653     QDomProcessingInstruction& operator= (const QDomProcessingInstruction&);
    00654
    00655     // DOM read only attributes
    00656     QString target() const;
    00657
    00658     // DOM attributes
    00659     QString data() const;
    00660     void setData(const QString& d);
    00661
    00662     // Overridden from QDomNode
    00663     inline QDomNode::NodeType nodeType() const { return ProcessingInstructionNode; }
    00664
    00665 private:
    00666     QDomProcessingInstruction(QDomProcessingInstructionPrivate*);
    00667
    00668     friend class QDomDocument;
    00669     friend class QDomNode;
    00670 };
    00671
    00672
    00673 Q_XML_EXPORT QTextStream& operator<<(QTextStream&, const QDomNode&);
    00674
    00675 #endif // QT_NO_DOM
    00676
    00677 QT_END_NAMESPACE
    00678
    00679 QT_END_HEADER
    00680
    00681 #endif // QDOM_H