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