~ubuntu-branches/ubuntu/wily/qtbase-opensource-src/wily

« back to all changes in this revision

Viewing changes to src/xml/dom/qdom.h

  • Committer: Package Import Robot
  • Author(s): Timo Jyrinki
  • Date: 2013-02-05 12:46:17 UTC
  • Revision ID: package-import@ubuntu.com-20130205124617-c8jouts182j002fx
Tags: upstream-5.0.1+dfsg
ImportĀ upstreamĀ versionĀ 5.0.1+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
 
4
** Contact: http://www.qt-project.org/legal
 
5
**
 
6
** This file is part of the QtXml module of the Qt Toolkit.
 
7
**
 
8
** $QT_BEGIN_LICENSE:LGPL$
 
9
** Commercial License Usage
 
10
** Licensees holding valid commercial Qt licenses may use this file in
 
11
** accordance with the commercial license agreement provided with the
 
12
** Software or, alternatively, in accordance with the terms contained in
 
13
** a written agreement between you and Digia.  For licensing terms and
 
14
** conditions see http://qt.digia.com/licensing.  For further information
 
15
** use the contact form at http://qt.digia.com/contact-us.
 
16
**
 
17
** GNU Lesser General Public License Usage
 
18
** Alternatively, this file may be used under the terms of the GNU Lesser
 
19
** General Public License version 2.1 as published by the Free Software
 
20
** Foundation and appearing in the file LICENSE.LGPL included in the
 
21
** packaging of this file.  Please review the following information to
 
22
** ensure the GNU Lesser General Public License version 2.1 requirements
 
23
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
24
**
 
25
** In addition, as a special exception, Digia gives you certain additional
 
26
** rights.  These rights are described in the Digia Qt LGPL Exception
 
27
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 
28
**
 
29
** GNU General Public License Usage
 
30
** Alternatively, this file may be used under the terms of the GNU
 
31
** General Public License version 3.0 as published by the Free Software
 
32
** Foundation and appearing in the file LICENSE.GPL included in the
 
33
** packaging of this file.  Please review the following information to
 
34
** ensure the GNU General Public License version 3.0 requirements will be
 
35
** met: http://www.gnu.org/copyleft/gpl.html.
 
36
**
 
37
**
 
38
** $QT_END_LICENSE$
 
39
**
 
40
****************************************************************************/
 
41
 
 
42
#ifndef QDOM_H
 
43
#define QDOM_H
 
44
 
 
45
#include <QtXml/qtxmlglobal.h>
 
46
#include <QtCore/qstring.h>
 
47
 
 
48
QT_BEGIN_HEADER
 
49
 
 
50
QT_BEGIN_NAMESPACE
 
51
 
 
52
 
 
53
#ifndef QT_NO_DOM
 
54
 
 
55
class QIODevice;
 
56
class QTextStream;
 
57
 
 
58
class QXmlInputSource;
 
59
class QXmlReader;
 
60
 
 
61
class QDomDocumentPrivate;
 
62
class QDomDocumentTypePrivate;
 
63
class QDomDocumentFragmentPrivate;
 
64
class QDomNodePrivate;
 
65
class QDomNodeListPrivate;
 
66
class QDomImplementationPrivate;
 
67
class QDomElementPrivate;
 
68
class QDomNotationPrivate;
 
69
class QDomEntityPrivate;
 
70
class QDomEntityReferencePrivate;
 
71
class QDomProcessingInstructionPrivate;
 
72
class QDomAttrPrivate;
 
73
class QDomCharacterDataPrivate;
 
74
class QDomTextPrivate;
 
75
class QDomCommentPrivate;
 
76
class QDomCDATASectionPrivate;
 
77
class QDomNamedNodeMapPrivate;
 
78
class QDomImplementationPrivate;
 
79
 
 
80
class QDomNodeList;
 
81
class QDomElement;
 
82
class QDomText;
 
83
class QDomComment;
 
84
class QDomCDATASection;
 
85
class QDomProcessingInstruction;
 
86
class QDomAttr;
 
87
class QDomEntityReference;
 
88
class QDomDocument;
 
89
class QDomNamedNodeMap;
 
90
class QDomDocument;
 
91
class QDomDocumentFragment;
 
92
class QDomDocumentType;
 
93
class QDomImplementation;
 
94
class QDomNode;
 
95
class QDomEntity;
 
96
class QDomNotation;
 
97
class QDomCharacterData;
 
98
 
 
99
class Q_XML_EXPORT QDomImplementation
 
100
{
 
101
public:
 
102
    QDomImplementation();
 
103
    QDomImplementation(const QDomImplementation&);
 
104
    ~QDomImplementation();
 
105
    QDomImplementation& operator= (const QDomImplementation&);
 
106
    bool operator== (const QDomImplementation&) const;
 
107
    bool operator!= (const QDomImplementation&) const;
 
108
 
 
109
    // functions
 
110
    bool hasFeature(const QString& feature, const QString& version) const;
 
111
    QDomDocumentType createDocumentType(const QString& qName, const QString& publicId, const QString& systemId);
 
112
    QDomDocument createDocument(const QString& nsURI, const QString& qName, const QDomDocumentType& doctype);
 
113
 
 
114
    enum InvalidDataPolicy { AcceptInvalidChars = 0, DropInvalidChars, ReturnNullNode };
 
115
    static InvalidDataPolicy invalidDataPolicy();
 
116
    static void setInvalidDataPolicy(InvalidDataPolicy policy);
 
117
 
 
118
    // Qt extension
 
119
    bool isNull();
 
120
 
 
121
private:
 
122
    QDomImplementationPrivate* impl;
 
123
    QDomImplementation(QDomImplementationPrivate*);
 
124
 
 
125
    friend class QDomDocument;
 
126
};
 
127
 
 
128
class Q_XML_EXPORT QDomNode
 
129
{
 
130
public:
 
131
    enum NodeType {
 
132
        ElementNode               = 1,
 
133
        AttributeNode             = 2,
 
134
        TextNode                  = 3,
 
135
        CDATASectionNode          = 4,
 
136
        EntityReferenceNode       = 5,
 
137
        EntityNode                = 6,
 
138
        ProcessingInstructionNode = 7,
 
139
        CommentNode               = 8,
 
140
        DocumentNode              = 9,
 
141
        DocumentTypeNode          = 10,
 
142
        DocumentFragmentNode      = 11,
 
143
        NotationNode              = 12,
 
144
        BaseNode                  = 21,// this is not in the standard
 
145
        CharacterDataNode         = 22 // this is not in the standard
 
146
    };
 
147
 
 
148
    enum EncodingPolicy
 
149
    {
 
150
        EncodingFromDocument      = 1,
 
151
        EncodingFromTextStream    = 2
 
152
    };
 
153
 
 
154
    QDomNode();
 
155
    QDomNode(const QDomNode&);
 
156
    QDomNode& operator= (const QDomNode&);
 
157
    bool operator== (const QDomNode&) const;
 
158
    bool operator!= (const QDomNode&) const;
 
159
    ~QDomNode();
 
160
 
 
161
    // DOM functions
 
162
    QDomNode insertBefore(const QDomNode& newChild, const QDomNode& refChild);
 
163
    QDomNode insertAfter(const QDomNode& newChild, const QDomNode& refChild);
 
164
    QDomNode replaceChild(const QDomNode& newChild, const QDomNode& oldChild);
 
165
    QDomNode removeChild(const QDomNode& oldChild);
 
166
    QDomNode appendChild(const QDomNode& newChild);
 
167
    bool hasChildNodes() const;
 
168
    QDomNode cloneNode(bool deep = true) const;
 
169
    void normalize();
 
170
    bool isSupported(const QString& feature, const QString& version) const;
 
171
 
 
172
    // DOM read-only attributes
 
173
    QString nodeName() const;
 
174
    NodeType nodeType() const;
 
175
    QDomNode parentNode() const;
 
176
    QDomNodeList childNodes() const;
 
177
    QDomNode firstChild() const;
 
178
    QDomNode lastChild() const;
 
179
    QDomNode previousSibling() const;
 
180
    QDomNode nextSibling() const;
 
181
    QDomNamedNodeMap attributes() const;
 
182
    QDomDocument ownerDocument() const;
 
183
    QString namespaceURI() const;
 
184
    QString localName() const;
 
185
    bool hasAttributes() const;
 
186
 
 
187
    // DOM attributes
 
188
    QString nodeValue() const;
 
189
    void setNodeValue(const QString&);
 
190
    QString prefix() const;
 
191
    void setPrefix(const QString& pre);
 
192
 
 
193
    // Qt extensions
 
194
    bool isAttr() const;
 
195
    bool isCDATASection() const;
 
196
    bool isDocumentFragment() const;
 
197
    bool isDocument() const;
 
198
    bool isDocumentType() const;
 
199
    bool isElement() const;
 
200
    bool isEntityReference() const;
 
201
    bool isText() const;
 
202
    bool isEntity() const;
 
203
    bool isNotation() const;
 
204
    bool isProcessingInstruction() const;
 
205
    bool isCharacterData() const;
 
206
    bool isComment() const;
 
207
 
 
208
    /**
 
209
     * Shortcut to avoid dealing with QDomNodeList
 
210
     * all the time.
 
211
     */
 
212
    QDomNode namedItem(const QString& name) const;
 
213
 
 
214
    bool isNull() const;
 
215
    void clear();
 
216
 
 
217
    QDomAttr toAttr() const;
 
218
    QDomCDATASection toCDATASection() const;
 
219
    QDomDocumentFragment toDocumentFragment() const;
 
220
    QDomDocument toDocument() const;
 
221
    QDomDocumentType toDocumentType() const;
 
222
    QDomElement toElement() const;
 
223
    QDomEntityReference toEntityReference() const;
 
224
    QDomText toText() const;
 
225
    QDomEntity toEntity() const;
 
226
    QDomNotation toNotation() const;
 
227
    QDomProcessingInstruction toProcessingInstruction() const;
 
228
    QDomCharacterData toCharacterData() const;
 
229
    QDomComment toComment() const;
 
230
 
 
231
    void save(QTextStream&, int, EncodingPolicy=QDomNode::EncodingFromDocument) const;
 
232
 
 
233
    QDomElement firstChildElement(const QString &tagName = QString()) const;
 
234
    QDomElement lastChildElement(const QString &tagName = QString()) const;
 
235
    QDomElement previousSiblingElement(const QString &tagName = QString()) const;
 
236
    QDomElement nextSiblingElement(const QString &taName = QString()) const;
 
237
 
 
238
    int lineNumber() const;
 
239
    int columnNumber() const;
 
240
 
 
241
protected:
 
242
    QDomNodePrivate* impl;
 
243
    QDomNode(QDomNodePrivate*);
 
244
 
 
245
private:
 
246
    friend class QDomDocument;
 
247
    friend class QDomDocumentType;
 
248
    friend class QDomNodeList;
 
249
    friend class QDomNamedNodeMap;
 
250
};
 
251
 
 
252
class Q_XML_EXPORT QDomNodeList
 
253
{
 
254
public:
 
255
    QDomNodeList();
 
256
    QDomNodeList(const QDomNodeList&);
 
257
    QDomNodeList& operator= (const QDomNodeList&);
 
258
    bool operator== (const QDomNodeList&) const;
 
259
    bool operator!= (const QDomNodeList&) const;
 
260
    ~QDomNodeList();
 
261
 
 
262
    // DOM functions
 
263
    QDomNode item(int index) const;
 
264
    inline QDomNode at(int index) const { return item(index); } // Qt API consistency
 
265
 
 
266
    // DOM read only attributes
 
267
    int length() const;
 
268
    inline int count() const { return length(); } // Qt API consitancy
 
269
    inline int size() const { return length(); } // Qt API consistency
 
270
    inline bool isEmpty() const { return length() == 0; } // Qt API consistency
 
271
 
 
272
private:
 
273
    QDomNodeListPrivate* impl;
 
274
    QDomNodeList(QDomNodeListPrivate*);
 
275
 
 
276
    friend class QDomNode;
 
277
    friend class QDomElement;
 
278
    friend class QDomDocument;
 
279
};
 
280
 
 
281
class Q_XML_EXPORT QDomDocumentType : public QDomNode
 
282
{
 
283
public:
 
284
    QDomDocumentType();
 
285
    QDomDocumentType(const QDomDocumentType& x);
 
286
    QDomDocumentType& operator= (const QDomDocumentType&);
 
287
 
 
288
    // DOM read only attributes
 
289
    QString name() const;
 
290
    QDomNamedNodeMap entities() const;
 
291
    QDomNamedNodeMap notations() const;
 
292
    QString publicId() const;
 
293
    QString systemId() const;
 
294
    QString internalSubset() const;
 
295
 
 
296
    // Overridden from QDomNode
 
297
    inline QDomNode::NodeType nodeType() const { return DocumentTypeNode; }
 
298
 
 
299
private:
 
300
    QDomDocumentType(QDomDocumentTypePrivate*);
 
301
 
 
302
    friend class QDomImplementation;
 
303
    friend class QDomDocument;
 
304
    friend class QDomNode;
 
305
};
 
306
 
 
307
class Q_XML_EXPORT QDomDocument : public QDomNode
 
308
{
 
309
public:
 
310
    QDomDocument();
 
311
    explicit QDomDocument(const QString& name);
 
312
    explicit QDomDocument(const QDomDocumentType& doctype);
 
313
    QDomDocument(const QDomDocument& x);
 
314
    QDomDocument& operator= (const QDomDocument&);
 
315
    ~QDomDocument();
 
316
 
 
317
    // DOM functions
 
318
    QDomElement createElement(const QString& tagName);
 
319
    QDomDocumentFragment createDocumentFragment();
 
320
    QDomText createTextNode(const QString& data);
 
321
    QDomComment createComment(const QString& data);
 
322
    QDomCDATASection createCDATASection(const QString& data);
 
323
    QDomProcessingInstruction createProcessingInstruction(const QString& target, const QString& data);
 
324
    QDomAttr createAttribute(const QString& name);
 
325
    QDomEntityReference createEntityReference(const QString& name);
 
326
    QDomNodeList elementsByTagName(const QString& tagname) const;
 
327
    QDomNode importNode(const QDomNode& importedNode, bool deep);
 
328
    QDomElement createElementNS(const QString& nsURI, const QString& qName);
 
329
    QDomAttr createAttributeNS(const QString& nsURI, const QString& qName);
 
330
    QDomNodeList elementsByTagNameNS(const QString& nsURI, const QString& localName);
 
331
    QDomElement elementById(const QString& elementId);
 
332
 
 
333
    // DOM read only attributes
 
334
    QDomDocumentType doctype() const;
 
335
    QDomImplementation implementation() const;
 
336
    QDomElement documentElement() const;
 
337
 
 
338
    // Overridden from QDomNode
 
339
    inline QDomNode::NodeType nodeType() const { return DocumentNode; }
 
340
 
 
341
    // Qt extensions
 
342
    bool setContent(const QByteArray& text, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
 
343
    bool setContent(const QString& text, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
 
344
    bool setContent(QIODevice* dev, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
 
345
    bool setContent(QXmlInputSource *source, bool namespaceProcessing, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
 
346
    bool setContent(const QByteArray& text, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
 
347
    bool setContent(const QString& text, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
 
348
    bool setContent(QIODevice* dev, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
 
349
    bool setContent(QXmlInputSource *source, QXmlReader *reader, QString *errorMsg=0, int *errorLine=0, int *errorColumn=0 );
 
350
 
 
351
    // Qt extensions
 
352
    QString toString(int = 1) const;
 
353
    QByteArray toByteArray(int = 1) const;
 
354
 
 
355
private:
 
356
    QDomDocument(QDomDocumentPrivate*);
 
357
 
 
358
    friend class QDomNode;
 
359
};
 
360
 
 
361
class Q_XML_EXPORT QDomNamedNodeMap
 
362
{
 
363
public:
 
364
    QDomNamedNodeMap();
 
365
    QDomNamedNodeMap(const QDomNamedNodeMap&);
 
366
    QDomNamedNodeMap& operator= (const QDomNamedNodeMap&);
 
367
    bool operator== (const QDomNamedNodeMap&) const;
 
368
    bool operator!= (const QDomNamedNodeMap&) const;
 
369
    ~QDomNamedNodeMap();
 
370
 
 
371
    // DOM functions
 
372
    QDomNode namedItem(const QString& name) const;
 
373
    QDomNode setNamedItem(const QDomNode& newNode);
 
374
    QDomNode removeNamedItem(const QString& name);
 
375
    QDomNode item(int index) const;
 
376
    QDomNode namedItemNS(const QString& nsURI, const QString& localName) const;
 
377
    QDomNode setNamedItemNS(const QDomNode& newNode);
 
378
    QDomNode removeNamedItemNS(const QString& nsURI, const QString& localName);
 
379
 
 
380
    // DOM read only attributes
 
381
    int length() const;
 
382
    int count() const { return length(); } // Qt API consitancy
 
383
    inline int size() const { return length(); } // Qt API consistency
 
384
    inline bool isEmpty() const { return length() == 0; } // Qt API consistency
 
385
 
 
386
    // Qt extension
 
387
    bool contains(const QString& name) const;
 
388
 
 
389
private:
 
390
    QDomNamedNodeMapPrivate* impl;
 
391
    QDomNamedNodeMap(QDomNamedNodeMapPrivate*);
 
392
 
 
393
    friend class QDomNode;
 
394
    friend class QDomDocumentType;
 
395
    friend class QDomElement;
 
396
};
 
397
 
 
398
class Q_XML_EXPORT QDomDocumentFragment : public QDomNode
 
399
{
 
400
public:
 
401
    QDomDocumentFragment();
 
402
    QDomDocumentFragment(const QDomDocumentFragment& x);
 
403
    QDomDocumentFragment& operator= (const QDomDocumentFragment&);
 
404
 
 
405
    // Overridden from QDomNode
 
406
    inline QDomNode::NodeType nodeType() const { return DocumentFragmentNode; }
 
407
 
 
408
private:
 
409
    QDomDocumentFragment(QDomDocumentFragmentPrivate*);
 
410
 
 
411
    friend class QDomDocument;
 
412
    friend class QDomNode;
 
413
};
 
414
 
 
415
class Q_XML_EXPORT QDomCharacterData : public QDomNode
 
416
{
 
417
public:
 
418
    QDomCharacterData();
 
419
    QDomCharacterData(const QDomCharacterData& x);
 
420
    QDomCharacterData& operator= (const QDomCharacterData&);
 
421
 
 
422
    // DOM functions
 
423
    QString substringData(unsigned long offset, unsigned long count);
 
424
    void appendData(const QString& arg);
 
425
    void insertData(unsigned long offset, const QString& arg);
 
426
    void deleteData(unsigned long offset, unsigned long count);
 
427
    void replaceData(unsigned long offset, unsigned long count, const QString& arg);
 
428
 
 
429
    // DOM read only attributes
 
430
    int length() const;
 
431
 
 
432
    // DOM attributes
 
433
    QString data() const;
 
434
    void setData(const QString&);
 
435
 
 
436
    // Overridden from QDomNode
 
437
    QDomNode::NodeType nodeType() const;
 
438
 
 
439
private:
 
440
    QDomCharacterData(QDomCharacterDataPrivate*);
 
441
 
 
442
    friend class QDomDocument;
 
443
    friend class QDomText;
 
444
    friend class QDomComment;
 
445
    friend class QDomNode;
 
446
};
 
447
 
 
448
class Q_XML_EXPORT QDomAttr : public QDomNode
 
449
{
 
450
public:
 
451
    QDomAttr();
 
452
    QDomAttr(const QDomAttr& x);
 
453
    QDomAttr& operator= (const QDomAttr&);
 
454
 
 
455
    // DOM read only attributes
 
456
    QString name() const;
 
457
    bool specified() const;
 
458
    QDomElement ownerElement() const;
 
459
 
 
460
    // DOM attributes
 
461
    QString value() const;
 
462
    void setValue(const QString&);
 
463
 
 
464
    // Overridden from QDomNode
 
465
    inline QDomNode::NodeType nodeType() const { return AttributeNode; }
 
466
 
 
467
private:
 
468
    QDomAttr(QDomAttrPrivate*);
 
469
 
 
470
    friend class QDomDocument;
 
471
    friend class QDomElement;
 
472
    friend class QDomNode;
 
473
};
 
474
 
 
475
class Q_XML_EXPORT QDomElement : public QDomNode
 
476
{
 
477
public:
 
478
    QDomElement();
 
479
    QDomElement(const QDomElement& x);
 
480
    QDomElement& operator= (const QDomElement&);
 
481
 
 
482
    // DOM functions
 
483
    QString attribute(const QString& name, const QString& defValue = QString() ) const;
 
484
    void setAttribute(const QString& name, const QString& value);
 
485
    void setAttribute(const QString& name, qlonglong value);
 
486
    void setAttribute(const QString& name, qulonglong value);
 
487
    inline void setAttribute(const QString& name, int value)
 
488
        { setAttribute(name, qlonglong(value)); }
 
489
    inline void setAttribute(const QString& name, uint value)
 
490
        { setAttribute(name, qulonglong(value)); }
 
491
    void setAttribute(const QString& name, float value);
 
492
    void setAttribute(const QString& name, double value);
 
493
    void removeAttribute(const QString& name);
 
494
    QDomAttr attributeNode(const QString& name);
 
495
    QDomAttr setAttributeNode(const QDomAttr& newAttr);
 
496
    QDomAttr removeAttributeNode(const QDomAttr& oldAttr);
 
497
    QDomNodeList elementsByTagName(const QString& tagname) const;
 
498
    bool hasAttribute(const QString& name) const;
 
499
 
 
500
    QString attributeNS(const QString nsURI, const QString& localName, const QString& defValue = QString()) const;
 
501
    void setAttributeNS(const QString nsURI, const QString& qName, const QString& value);
 
502
    inline void setAttributeNS(const QString nsURI, const QString& qName, int value)
 
503
        { setAttributeNS(nsURI, qName, qlonglong(value)); }
 
504
    inline void setAttributeNS(const QString nsURI, const QString& qName, uint value)
 
505
        { setAttributeNS(nsURI, qName, qulonglong(value)); }
 
506
    void setAttributeNS(const QString nsURI, const QString& qName, qlonglong value);
 
507
    void setAttributeNS(const QString nsURI, const QString& qName, qulonglong value);
 
508
    void setAttributeNS(const QString nsURI, const QString& qName, double value);
 
509
    void removeAttributeNS(const QString& nsURI, const QString& localName);
 
510
    QDomAttr attributeNodeNS(const QString& nsURI, const QString& localName);
 
511
    QDomAttr setAttributeNodeNS(const QDomAttr& newAttr);
 
512
    QDomNodeList elementsByTagNameNS(const QString& nsURI, const QString& localName) const;
 
513
    bool hasAttributeNS(const QString& nsURI, const QString& localName) const;
 
514
 
 
515
    // DOM read only attributes
 
516
    QString tagName() const;
 
517
    void setTagName(const QString& name); // Qt extension
 
518
 
 
519
    // Overridden from QDomNode
 
520
    QDomNamedNodeMap attributes() const;
 
521
    inline QDomNode::NodeType nodeType() const { return ElementNode; }
 
522
 
 
523
    QString text() const;
 
524
 
 
525
private:
 
526
    QDomElement(QDomElementPrivate*);
 
527
 
 
528
    friend class QDomDocument;
 
529
    friend class QDomNode;
 
530
    friend class QDomAttr;
 
531
};
 
532
 
 
533
class Q_XML_EXPORT QDomText : public QDomCharacterData
 
534
{
 
535
public:
 
536
    QDomText();
 
537
    QDomText(const QDomText& x);
 
538
    QDomText& operator= (const QDomText&);
 
539
 
 
540
    // DOM functions
 
541
    QDomText splitText(int offset);
 
542
 
 
543
    // Overridden from QDomCharacterData
 
544
    inline QDomNode::NodeType nodeType() const { return TextNode; }
 
545
 
 
546
private:
 
547
    QDomText(QDomTextPrivate*);
 
548
 
 
549
    friend class QDomCDATASection;
 
550
    friend class QDomDocument;
 
551
    friend class QDomNode;
 
552
};
 
553
 
 
554
class Q_XML_EXPORT QDomComment : public QDomCharacterData
 
555
{
 
556
public:
 
557
    QDomComment();
 
558
    QDomComment(const QDomComment& x);
 
559
    QDomComment& operator= (const QDomComment&);
 
560
 
 
561
    // Overridden from QDomCharacterData
 
562
    inline QDomNode::NodeType nodeType() const { return CommentNode; }
 
563
 
 
564
private:
 
565
    QDomComment(QDomCommentPrivate*);
 
566
 
 
567
    friend class QDomDocument;
 
568
    friend class QDomNode;
 
569
};
 
570
 
 
571
class Q_XML_EXPORT QDomCDATASection : public QDomText
 
572
{
 
573
public:
 
574
    QDomCDATASection();
 
575
    QDomCDATASection(const QDomCDATASection& x);
 
576
    QDomCDATASection& operator= (const QDomCDATASection&);
 
577
 
 
578
    // Overridden from QDomText
 
579
    inline QDomNode::NodeType nodeType() const { return CDATASectionNode; }
 
580
 
 
581
private:
 
582
    QDomCDATASection(QDomCDATASectionPrivate*);
 
583
 
 
584
    friend class QDomDocument;
 
585
    friend class QDomNode;
 
586
};
 
587
 
 
588
class Q_XML_EXPORT QDomNotation : public QDomNode
 
589
{
 
590
public:
 
591
    QDomNotation();
 
592
    QDomNotation(const QDomNotation& x);
 
593
    QDomNotation& operator= (const QDomNotation&);
 
594
 
 
595
    // DOM read only attributes
 
596
    QString publicId() const;
 
597
    QString systemId() const;
 
598
 
 
599
    // Overridden from QDomNode
 
600
    inline QDomNode::NodeType nodeType() const { return NotationNode; }
 
601
 
 
602
private:
 
603
    QDomNotation(QDomNotationPrivate*);
 
604
 
 
605
    friend class QDomDocument;
 
606
    friend class QDomNode;
 
607
};
 
608
 
 
609
class Q_XML_EXPORT QDomEntity : public QDomNode
 
610
{
 
611
public:
 
612
    QDomEntity();
 
613
    QDomEntity(const QDomEntity& x);
 
614
    QDomEntity& operator= (const QDomEntity&);
 
615
 
 
616
    // DOM read only attributes
 
617
    QString publicId() const;
 
618
    QString systemId() const;
 
619
    QString notationName() const;
 
620
 
 
621
    // Overridden from QDomNode
 
622
    inline QDomNode::NodeType nodeType() const { return EntityNode; }
 
623
 
 
624
private:
 
625
    QDomEntity(QDomEntityPrivate*);
 
626
 
 
627
    friend class QDomNode;
 
628
};
 
629
 
 
630
class Q_XML_EXPORT QDomEntityReference : public QDomNode
 
631
{
 
632
public:
 
633
    QDomEntityReference();
 
634
    QDomEntityReference(const QDomEntityReference& x);
 
635
    QDomEntityReference& operator= (const QDomEntityReference&);
 
636
 
 
637
    // Overridden from QDomNode
 
638
    inline QDomNode::NodeType nodeType() const { return EntityReferenceNode; }
 
639
 
 
640
private:
 
641
    QDomEntityReference(QDomEntityReferencePrivate*);
 
642
 
 
643
    friend class QDomDocument;
 
644
    friend class QDomNode;
 
645
};
 
646
 
 
647
class Q_XML_EXPORT QDomProcessingInstruction : public QDomNode
 
648
{
 
649
public:
 
650
    QDomProcessingInstruction();
 
651
    QDomProcessingInstruction(const QDomProcessingInstruction& x);
 
652
    QDomProcessingInstruction& operator= (const QDomProcessingInstruction&);
 
653
 
 
654
    // DOM read only attributes
 
655
    QString target() const;
 
656
 
 
657
    // DOM attributes
 
658
    QString data() const;
 
659
    void setData(const QString& d);
 
660
 
 
661
    // Overridden from QDomNode
 
662
    inline QDomNode::NodeType nodeType() const { return ProcessingInstructionNode; }
 
663
 
 
664
private:
 
665
    QDomProcessingInstruction(QDomProcessingInstructionPrivate*);
 
666
 
 
667
    friend class QDomDocument;
 
668
    friend class QDomNode;
 
669
};
 
670
 
 
671
 
 
672
Q_XML_EXPORT QTextStream& operator<<(QTextStream&, const QDomNode&);
 
673
 
 
674
#endif // QT_NO_DOM
 
675
 
 
676
QT_END_NAMESPACE
 
677
 
 
678
QT_END_HEADER
 
679
 
 
680
#endif // QDOM_H