qdom.h
上传用户:detong
上传日期:2022-06-22
资源大小:20675k
文件大小:21k
源码类别:

系统编程

开发平台:

Unix_Linux

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