qdom.sip 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538
  1. // qdom.sip generated by MetaSIP
  2. //
  3. // This file is part of the QtXml Python extension module.
  4. //
  5. // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
  6. //
  7. // This file is part of PyQt6.
  8. //
  9. // This file may be used under the terms of the GNU General Public License
  10. // version 3.0 as published by the Free Software Foundation and appearing in
  11. // the file LICENSE included in the packaging of this file. Please review the
  12. // following information to ensure the GNU General Public License version 3.0
  13. // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
  14. //
  15. // If you do not wish to use this file under the terms of the GPL version 3.0
  16. // then you may purchase a commercial license. For more information contact
  17. // info@riverbankcomputing.com.
  18. //
  19. // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  20. // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  21. class QDomImplementation
  22. {
  23. %TypeHeaderCode
  24. #include <qdom.h>
  25. %End
  26. public:
  27. QDomImplementation();
  28. QDomImplementation(const QDomImplementation &);
  29. ~QDomImplementation();
  30. bool operator==(const QDomImplementation &) const;
  31. bool operator!=(const QDomImplementation &) const;
  32. bool hasFeature(const QString &feature, const QString &version) const;
  33. QDomDocumentType createDocumentType(const QString &qName, const QString &publicId, const QString &systemId);
  34. QDomDocument createDocument(const QString &nsURI, const QString &qName, const QDomDocumentType &doctype);
  35. enum InvalidDataPolicy
  36. {
  37. AcceptInvalidChars,
  38. DropInvalidChars,
  39. ReturnNullNode,
  40. };
  41. static QDomImplementation::InvalidDataPolicy invalidDataPolicy();
  42. static void setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy policy);
  43. bool isNull();
  44. };
  45. class QDomNode
  46. {
  47. %TypeHeaderCode
  48. #include <qdom.h>
  49. %End
  50. public:
  51. enum NodeType
  52. {
  53. ElementNode,
  54. AttributeNode,
  55. TextNode,
  56. CDATASectionNode,
  57. EntityReferenceNode,
  58. EntityNode,
  59. ProcessingInstructionNode,
  60. CommentNode,
  61. DocumentNode,
  62. DocumentTypeNode,
  63. DocumentFragmentNode,
  64. NotationNode,
  65. BaseNode,
  66. CharacterDataNode,
  67. };
  68. enum EncodingPolicy
  69. {
  70. EncodingFromDocument,
  71. EncodingFromTextStream,
  72. };
  73. QDomNode();
  74. QDomNode(const QDomNode &);
  75. ~QDomNode();
  76. bool operator==(const QDomNode &) const;
  77. bool operator!=(const QDomNode &) const;
  78. QDomNode insertBefore(const QDomNode &newChild, const QDomNode &refChild);
  79. QDomNode insertAfter(const QDomNode &newChild, const QDomNode &refChild);
  80. QDomNode replaceChild(const QDomNode &newChild, const QDomNode &oldChild);
  81. QDomNode removeChild(const QDomNode &oldChild);
  82. QDomNode appendChild(const QDomNode &newChild);
  83. bool hasChildNodes() const;
  84. QDomNode cloneNode(bool deep = true) const;
  85. void normalize();
  86. bool isSupported(const QString &feature, const QString &version) const;
  87. QString nodeName() const;
  88. QDomNode::NodeType nodeType() const;
  89. QDomNode parentNode() const;
  90. QDomNodeList childNodes() const;
  91. QDomNode firstChild() const;
  92. QDomNode lastChild() const;
  93. QDomNode previousSibling() const;
  94. QDomNode nextSibling() const;
  95. QDomNamedNodeMap attributes() const;
  96. QDomDocument ownerDocument() const;
  97. QString namespaceURI() const;
  98. QString localName() const;
  99. bool hasAttributes() const;
  100. QString nodeValue() const;
  101. void setNodeValue(const QString &);
  102. QString prefix() const;
  103. void setPrefix(const QString &pre);
  104. bool isAttr() const;
  105. bool isCDATASection() const;
  106. bool isDocumentFragment() const;
  107. bool isDocument() const;
  108. bool isDocumentType() const;
  109. bool isElement() const;
  110. bool isEntityReference() const;
  111. bool isText() const;
  112. bool isEntity() const;
  113. bool isNotation() const;
  114. bool isProcessingInstruction() const;
  115. bool isCharacterData() const;
  116. bool isComment() const;
  117. QDomNode namedItem(const QString &name) const;
  118. bool isNull() const;
  119. void clear();
  120. QDomAttr toAttr() const;
  121. QDomCDATASection toCDATASection() const;
  122. QDomDocumentFragment toDocumentFragment() const;
  123. QDomDocument toDocument() const;
  124. QDomDocumentType toDocumentType() const;
  125. QDomElement toElement() const;
  126. QDomEntityReference toEntityReference() const;
  127. QDomText toText() const;
  128. QDomEntity toEntity() const;
  129. QDomNotation toNotation() const;
  130. QDomProcessingInstruction toProcessingInstruction() const;
  131. QDomCharacterData toCharacterData() const;
  132. QDomComment toComment() const;
  133. void save(QTextStream &, int, QDomNode::EncodingPolicy = QDomNode::EncodingFromDocument) const /ReleaseGIL/;
  134. QDomElement firstChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const;
  135. QDomElement lastChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const;
  136. QDomElement previousSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const;
  137. QDomElement nextSiblingElement(const QString &taName = QString(), const QString &namespaceURI = QString()) const;
  138. int lineNumber() const;
  139. int columnNumber() const;
  140. };
  141. class QDomNodeList
  142. {
  143. %TypeHeaderCode
  144. #include <qdom.h>
  145. %End
  146. public:
  147. QDomNodeList();
  148. QDomNodeList(const QDomNodeList &);
  149. ~QDomNodeList();
  150. %If (- Qt_6_9_0)
  151. bool operator==(const QDomNodeList &) const;
  152. %End
  153. %If (- Qt_6_9_0)
  154. bool operator!=(const QDomNodeList &) const;
  155. %End
  156. QDomNode item(int index) const;
  157. QDomNode at(int index) const;
  158. int length() const;
  159. int count() const /__len__/;
  160. int size() const;
  161. bool isEmpty() const;
  162. };
  163. class QDomDocumentType : public QDomNode
  164. {
  165. %TypeHeaderCode
  166. #include <qdom.h>
  167. %End
  168. public:
  169. QDomDocumentType();
  170. QDomDocumentType(const QDomDocumentType &x);
  171. QString name() const;
  172. QDomNamedNodeMap entities() const;
  173. QDomNamedNodeMap notations() const;
  174. QString publicId() const;
  175. QString systemId() const;
  176. QString internalSubset() const;
  177. QDomNode::NodeType nodeType() const;
  178. };
  179. class QDomDocument : public QDomNode
  180. {
  181. %TypeHeaderCode
  182. #include <qdom.h>
  183. %End
  184. public:
  185. QDomDocument();
  186. explicit QDomDocument(const QString &name);
  187. explicit QDomDocument(const QDomDocumentType &doctype);
  188. QDomDocument(const QDomDocument &x);
  189. ~QDomDocument();
  190. QDomElement createElement(const QString &tagName);
  191. QDomDocumentFragment createDocumentFragment();
  192. QDomText createTextNode(const QString &data);
  193. QDomComment createComment(const QString &data);
  194. QDomCDATASection createCDATASection(const QString &data);
  195. QDomProcessingInstruction createProcessingInstruction(const QString &target, const QString &data);
  196. QDomAttr createAttribute(const QString &name);
  197. QDomEntityReference createEntityReference(const QString &name);
  198. QDomNodeList elementsByTagName(const QString &tagname) const;
  199. QDomNode importNode(const QDomNode &importedNode, bool deep);
  200. QDomElement createElementNS(const QString &nsURI, const QString &qName);
  201. QDomAttr createAttributeNS(const QString &nsURI, const QString &qName);
  202. QDomNodeList elementsByTagNameNS(const QString &nsURI, const QString &localName);
  203. QDomElement elementById(const QString &elementId);
  204. QDomDocumentType doctype() const;
  205. QDomImplementation implementation() const;
  206. QDomElement documentElement() const;
  207. QDomNode::NodeType nodeType() const;
  208. %If (Qt_6_5_0 -)
  209. enum class ParseOption
  210. {
  211. Default,
  212. UseNamespaceProcessing,
  213. PreserveSpacingOnlyNodes,
  214. };
  215. %End
  216. %If (Qt_6_5_0 -)
  217. typedef QFlags<QDomDocument::ParseOption> ParseOptions;
  218. %End
  219. %If (Qt_6_5_0 -)
  220. SIP_PYOBJECT setContent(QXmlStreamReader *reader, QDomDocument::ParseOptions options = QDomDocument::ParseOption::Default) /ReleaseGIL,TypeHint="Tuple [bool, str, int, int]"/;
  221. %MethodCode
  222. QDomDocument::ParseResult pr;
  223. Py_BEGIN_ALLOW_THREADS
  224. pr = sipCpp->setContent(a0, *a1);
  225. Py_END_ALLOW_THREADS
  226. return sipBuildResult(NULL, "(bNnn)",
  227. (int)bool(pr),
  228. new QString(pr.errorMessage), sipType_QString, NULL,
  229. (long long)pr.errorLine,
  230. (long long)pr.errorColumn);
  231. %End
  232. %End
  233. %If (Qt_6_5_0 -)
  234. SIP_PYOBJECT setContent(QIODevice *device, QDomDocument::ParseOptions options = QDomDocument::ParseOption::Default) /ReleaseGIL,TypeHint="Tuple [bool, str, int, int]"/;
  235. %MethodCode
  236. QDomDocument::ParseResult pr;
  237. Py_BEGIN_ALLOW_THREADS
  238. pr = sipCpp->setContent(a0, *a1);
  239. Py_END_ALLOW_THREADS
  240. return sipBuildResult(NULL, "(bNnn)",
  241. (int)bool(pr),
  242. new QString(pr.errorMessage), sipType_QString, NULL,
  243. (long long)pr.errorLine,
  244. (long long)pr.errorColumn);
  245. %End
  246. %End
  247. %If (Qt_6_5_0 -)
  248. SIP_PYOBJECT setContent(QAnyStringView data, QDomDocument::ParseOptions options = QDomDocument::ParseOption::Default) /TypeHint="Tuple [bool, str, int, int]"/;
  249. %MethodCode
  250. QDomDocument::ParseResult pr;
  251. pr = sipCpp->setContent(*a0, *a1);
  252. return sipBuildResult(NULL, "(bNnn)",
  253. (int)bool(pr),
  254. new QString(pr.errorMessage), sipType_QString, NULL,
  255. (long long)pr.errorLine,
  256. (long long)pr.errorColumn);
  257. %End
  258. %End
  259. bool setContent(const QByteArray &text, bool namespaceProcessing, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
  260. bool setContent(const QString &text, bool namespaceProcessing, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
  261. bool setContent(QIODevice *dev, bool namespaceProcessing, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0) /ReleaseGIL/;
  262. %If (- Qt_6_5_0)
  263. bool setContent(const QByteArray &text, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
  264. %End
  265. %If (- Qt_6_5_0)
  266. bool setContent(const QString &text, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
  267. %End
  268. %If (- Qt_6_5_0)
  269. bool setContent(QIODevice *dev, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0) /ReleaseGIL/;
  270. %End
  271. bool setContent(QXmlStreamReader *reader, bool namespaceProcessing, QString *errorMsg /Out/ = 0, int *errorLine = 0, int *errorColumn = 0);
  272. QString toString(int indent = 1) const;
  273. QByteArray toByteArray(int indent = 1) const;
  274. };
  275. class QDomNamedNodeMap
  276. {
  277. %TypeHeaderCode
  278. #include <qdom.h>
  279. %End
  280. public:
  281. QDomNamedNodeMap();
  282. QDomNamedNodeMap(const QDomNamedNodeMap &);
  283. ~QDomNamedNodeMap();
  284. bool operator==(const QDomNamedNodeMap &) const;
  285. bool operator!=(const QDomNamedNodeMap &) const;
  286. QDomNode namedItem(const QString &name) const;
  287. QDomNode setNamedItem(const QDomNode &newNode);
  288. QDomNode removeNamedItem(const QString &name);
  289. QDomNode item(int index) const;
  290. QDomNode namedItemNS(const QString &nsURI, const QString &localName) const;
  291. QDomNode setNamedItemNS(const QDomNode &newNode);
  292. QDomNode removeNamedItemNS(const QString &nsURI, const QString &localName);
  293. int length() const;
  294. int count() const /__len__/;
  295. int size() const;
  296. bool isEmpty() const;
  297. bool contains(const QString &name) const;
  298. };
  299. class QDomDocumentFragment : public QDomNode
  300. {
  301. %TypeHeaderCode
  302. #include <qdom.h>
  303. %End
  304. public:
  305. QDomDocumentFragment();
  306. QDomDocumentFragment(const QDomDocumentFragment &x);
  307. QDomNode::NodeType nodeType() const;
  308. };
  309. class QDomCharacterData : public QDomNode
  310. {
  311. %TypeHeaderCode
  312. #include <qdom.h>
  313. %End
  314. public:
  315. QDomCharacterData();
  316. QDomCharacterData(const QDomCharacterData &x);
  317. QString substringData(unsigned long offset, unsigned long count);
  318. void appendData(const QString &arg);
  319. void insertData(unsigned long offset, const QString &arg);
  320. void deleteData(unsigned long offset, unsigned long count);
  321. void replaceData(unsigned long offset, unsigned long count, const QString &arg);
  322. int length() const;
  323. QString data() const;
  324. void setData(const QString &);
  325. QDomNode::NodeType nodeType() const;
  326. };
  327. class QDomAttr : public QDomNode
  328. {
  329. %TypeHeaderCode
  330. #include <qdom.h>
  331. %End
  332. public:
  333. QDomAttr();
  334. QDomAttr(const QDomAttr &x);
  335. QString name() const;
  336. bool specified() const;
  337. QDomElement ownerElement() const;
  338. QString value() const;
  339. void setValue(const QString &);
  340. QDomNode::NodeType nodeType() const;
  341. };
  342. class QDomElement : public QDomNode
  343. {
  344. %TypeHeaderCode
  345. #include <qdom.h>
  346. %End
  347. public:
  348. QDomElement();
  349. QDomElement(const QDomElement &x);
  350. QString attribute(const QString &name, const QString &defaultValue = QString()) const;
  351. void setAttribute(const QString &name, const QString &value);
  352. void setAttribute(const QString &name, qlonglong value);
  353. void setAttribute(const QString &name, qulonglong value);
  354. void setAttribute(const QString &name, double value /Constrained/);
  355. void setAttribute(const QString &name, int value);
  356. void removeAttribute(const QString &name);
  357. QDomAttr attributeNode(const QString &name);
  358. QDomAttr setAttributeNode(const QDomAttr &newAttr);
  359. QDomAttr removeAttributeNode(const QDomAttr &oldAttr);
  360. QDomNodeList elementsByTagName(const QString &tagname) const;
  361. bool hasAttribute(const QString &name) const;
  362. QString attributeNS(const QString &nsURI, const QString &localName, const QString &defaultValue = QString()) const;
  363. void setAttributeNS(const QString &nsURI, const QString &qName, const QString &value);
  364. void setAttributeNS(const QString &nsURI, const QString &qName, double value /Constrained/);
  365. void setAttributeNS(const QString &nsURI, const QString &qName, SIP_PYOBJECT value /TypeHint="int"/);
  366. %MethodCode
  367. qlonglong val = sipLong_AsLongLong(a2);
  368. if (!PyErr_Occurred())
  369. {
  370. sipCpp->setAttributeNS(*a0, *a1, val);
  371. }
  372. else
  373. {
  374. // If it is positive then it might fit an unsigned long long.
  375. qulonglong uval = sipLong_AsUnsignedLongLong(a2);
  376. if (!PyErr_Occurred())
  377. {
  378. sipCpp->setAttributeNS(*a0, *a1, uval);
  379. }
  380. else
  381. {
  382. sipError = (PyErr_ExceptionMatches(PyExc_OverflowError)
  383. ? sipErrorFail : sipErrorContinue);
  384. }
  385. }
  386. %End
  387. void removeAttributeNS(const QString &nsURI, const QString &localName);
  388. QDomAttr attributeNodeNS(const QString &nsURI, const QString &localName);
  389. QDomAttr setAttributeNodeNS(const QDomAttr &newAttr);
  390. QDomNodeList elementsByTagNameNS(const QString &nsURI, const QString &localName) const;
  391. bool hasAttributeNS(const QString &nsURI, const QString &localName) const;
  392. QString tagName() const;
  393. void setTagName(const QString &name);
  394. QDomNamedNodeMap attributes() const;
  395. QDomNode::NodeType nodeType() const;
  396. QString text() const;
  397. };
  398. class QDomText : public QDomCharacterData
  399. {
  400. %TypeHeaderCode
  401. #include <qdom.h>
  402. %End
  403. public:
  404. QDomText();
  405. QDomText(const QDomText &x);
  406. QDomText splitText(int offset);
  407. QDomNode::NodeType nodeType() const;
  408. };
  409. class QDomComment : public QDomCharacterData
  410. {
  411. %TypeHeaderCode
  412. #include <qdom.h>
  413. %End
  414. public:
  415. QDomComment();
  416. QDomComment(const QDomComment &x);
  417. QDomNode::NodeType nodeType() const;
  418. };
  419. class QDomCDATASection : public QDomText
  420. {
  421. %TypeHeaderCode
  422. #include <qdom.h>
  423. %End
  424. public:
  425. QDomCDATASection();
  426. QDomCDATASection(const QDomCDATASection &x);
  427. QDomNode::NodeType nodeType() const;
  428. };
  429. class QDomNotation : public QDomNode
  430. {
  431. %TypeHeaderCode
  432. #include <qdom.h>
  433. %End
  434. public:
  435. QDomNotation();
  436. QDomNotation(const QDomNotation &x);
  437. QString publicId() const;
  438. QString systemId() const;
  439. QDomNode::NodeType nodeType() const;
  440. };
  441. class QDomEntity : public QDomNode
  442. {
  443. %TypeHeaderCode
  444. #include <qdom.h>
  445. %End
  446. public:
  447. QDomEntity();
  448. QDomEntity(const QDomEntity &x);
  449. QString publicId() const;
  450. QString systemId() const;
  451. QString notationName() const;
  452. QDomNode::NodeType nodeType() const;
  453. };
  454. class QDomEntityReference : public QDomNode
  455. {
  456. %TypeHeaderCode
  457. #include <qdom.h>
  458. %End
  459. public:
  460. QDomEntityReference();
  461. QDomEntityReference(const QDomEntityReference &x);
  462. QDomNode::NodeType nodeType() const;
  463. };
  464. class QDomProcessingInstruction : public QDomNode
  465. {
  466. %TypeHeaderCode
  467. #include <qdom.h>
  468. %End
  469. public:
  470. QDomProcessingInstruction();
  471. QDomProcessingInstruction(const QDomProcessingInstruction &x);
  472. QString target() const;
  473. QString data() const;
  474. void setData(const QString &d);
  475. QDomNode::NodeType nodeType() const;
  476. };
  477. QTextStream &operator<<(QTextStream &, const QDomNode &) /ReleaseGIL/;
  478. %If (Qt_6_9_0 -)
  479. bool operator!=(const QDomNodeList &lhs, const QDomNodeList &rhs);
  480. %End
  481. %If (Qt_6_9_0 -)
  482. bool operator==(const QDomNodeList &lhs, const QDomNodeList &rhs);
  483. %End