lxml 5.3.2__cp312-cp312-win32.whl → 6.0.0__cp312-cp312-win32.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
lxml/etree.h CHANGED
@@ -1,248 +1,244 @@
1
- /* Generated by Cython 3.0.12 */
2
-
3
- #ifndef __PYX_HAVE__lxml__etree
4
- #define __PYX_HAVE__lxml__etree
5
-
6
- #include "Python.h"
7
- struct LxmlDocument;
8
- struct LxmlElement;
9
- struct LxmlElementTree;
10
- struct LxmlElementTagMatcher;
11
- struct LxmlElementIterator;
12
- struct LxmlElementBase;
13
- struct LxmlElementClassLookup;
14
- struct LxmlFallbackElementClassLookup;
15
-
16
- /* "lxml/etree.pyx":355
17
- *
18
- * # type of a function that steps from node to node
19
- * ctypedef public xmlNode* (*_node_to_node_function)(xmlNode*) # <<<<<<<<<<<<<<
20
- *
21
- *
22
- */
23
- typedef xmlNode *(*_node_to_node_function)(xmlNode *);
24
-
25
- /* "lxml/etree.pyx":371
26
- * @cython.final
27
- * @cython.freelist(8)
28
- * cdef public class _Document [ type LxmlDocumentType, object LxmlDocument ]: # <<<<<<<<<<<<<<
29
- * """Internal base class to reference a libxml document.
30
- *
31
- */
32
- struct LxmlDocument {
33
- PyObject_HEAD
34
- struct __pyx_vtabstruct_4lxml_5etree__Document *__pyx_vtab;
35
- int _ns_counter;
36
- PyObject *_prefix_tail;
37
- xmlDoc *_c_doc;
38
- struct __pyx_obj_4lxml_5etree__BaseParser *_parser;
39
- };
40
-
41
- /* "lxml/etree.pyx":720
42
- *
43
- * @cython.no_gc_clear
44
- * cdef public class _Element [ type LxmlElementType, object LxmlElement ]: # <<<<<<<<<<<<<<
45
- * """Element class.
46
- *
47
- */
48
- struct LxmlElement {
49
- PyObject_HEAD
50
- struct LxmlDocument *_doc;
51
- xmlNode *_c_node;
52
- PyObject *_tag;
53
- };
54
-
55
- /* "lxml/etree.pyx":1895
56
- *
57
- *
58
- * cdef public class _ElementTree [ type LxmlElementTreeType, # <<<<<<<<<<<<<<
59
- * object LxmlElementTree ]:
60
- * cdef _Document _doc
61
- */
62
- struct LxmlElementTree {
63
- PyObject_HEAD
64
- struct __pyx_vtabstruct_4lxml_5etree__ElementTree *__pyx_vtab;
65
- struct LxmlDocument *_doc;
66
- struct LxmlElement *_context_node;
67
- };
68
-
69
- /* "lxml/etree.pyx":2669
70
- *
71
- *
72
- * cdef public class _ElementTagMatcher [ object LxmlElementTagMatcher, # <<<<<<<<<<<<<<
73
- * type LxmlElementTagMatcherType ]:
74
- * """
75
- */
76
- struct LxmlElementTagMatcher {
77
- PyObject_HEAD
78
- struct __pyx_vtabstruct_4lxml_5etree__ElementTagMatcher *__pyx_vtab;
79
- PyObject *_pystrings;
80
- int _node_type;
81
- char *_href;
82
- char *_name;
83
- };
84
-
85
- /* "lxml/etree.pyx":2700
86
- * self._name = NULL
87
- *
88
- * cdef public class _ElementIterator(_ElementTagMatcher) [ # <<<<<<<<<<<<<<
89
- * object LxmlElementIterator, type LxmlElementIteratorType ]:
90
- * """
91
- */
92
- struct LxmlElementIterator {
93
- struct LxmlElementTagMatcher __pyx_base;
94
- struct LxmlElement *_node;
95
- _node_to_node_function _next_element;
96
- };
97
-
98
- /* "src/lxml/classlookup.pxi":6
99
- * # Custom Element classes
100
- *
101
- * cdef public class ElementBase(_Element) [ type LxmlElementBaseType, # <<<<<<<<<<<<<<
102
- * object LxmlElementBase ]:
103
- * """ElementBase(*children, attrib=None, nsmap=None, **_extra)
104
- */
105
- struct LxmlElementBase {
106
- struct LxmlElement __pyx_base;
107
- };
108
-
109
- /* "src/lxml/classlookup.pxi":210
110
- * # Element class lookup
111
- *
112
- * ctypedef public object (*_element_class_lookup_function)(object, _Document, xmlNode*) # <<<<<<<<<<<<<<
113
- *
114
- * # class to store element class lookup functions
115
- */
116
- typedef PyObject *(*_element_class_lookup_function)(PyObject *, struct LxmlDocument *, xmlNode *);
117
-
118
- /* "src/lxml/classlookup.pxi":213
119
- *
120
- * # class to store element class lookup functions
121
- * cdef public class ElementClassLookup [ type LxmlElementClassLookupType, # <<<<<<<<<<<<<<
122
- * object LxmlElementClassLookup ]:
123
- * """ElementClassLookup(self)
124
- */
125
- struct LxmlElementClassLookup {
126
- PyObject_HEAD
127
- _element_class_lookup_function _lookup_function;
128
- };
129
-
130
- /* "src/lxml/classlookup.pxi":221
131
- *
132
- *
133
- * cdef public class FallbackElementClassLookup(ElementClassLookup) \ # <<<<<<<<<<<<<<
134
- * [ type LxmlFallbackElementClassLookupType,
135
- * object LxmlFallbackElementClassLookup ]:
136
- */
137
- struct LxmlFallbackElementClassLookup {
138
- struct LxmlElementClassLookup __pyx_base;
139
- struct __pyx_vtabstruct_4lxml_5etree_FallbackElementClassLookup *__pyx_vtab;
140
- struct LxmlElementClassLookup *fallback;
141
- _element_class_lookup_function _fallback_function;
142
- };
143
-
144
- #ifndef __PYX_HAVE_API__lxml__etree
145
-
146
- #ifdef CYTHON_EXTERN_C
147
- #undef __PYX_EXTERN_C
148
- #define __PYX_EXTERN_C CYTHON_EXTERN_C
149
- #elif defined(__PYX_EXTERN_C)
150
- #ifdef _MSC_VER
151
- #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
152
- #else
153
- #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
154
- #endif
155
- #else
156
- #ifdef __cplusplus
157
- #define __PYX_EXTERN_C extern "C"
158
- #else
159
- #define __PYX_EXTERN_C extern
160
- #endif
161
- #endif
162
-
163
- #ifndef DL_IMPORT
164
- #define DL_IMPORT(_T) _T
165
- #endif
166
-
167
- __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlDocumentType;
168
- __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementType;
169
- __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTreeType;
170
- __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTagMatcherType;
171
- __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementIteratorType;
172
- __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementBaseType;
173
- __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementClassLookupType;
174
- __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlFallbackElementClassLookupType;
175
-
176
- __PYX_EXTERN_C struct LxmlElement *deepcopyNodeToDocument(struct LxmlDocument *, xmlNode *);
177
- __PYX_EXTERN_C struct LxmlElementTree *elementTreeFactory(struct LxmlElement *);
178
- __PYX_EXTERN_C struct LxmlElementTree *newElementTree(struct LxmlElement *, PyObject *);
179
- __PYX_EXTERN_C struct LxmlElementTree *adoptExternalDocument(xmlDoc *, PyObject *, int);
180
- __PYX_EXTERN_C struct LxmlElement *elementFactory(struct LxmlDocument *, xmlNode *);
181
- __PYX_EXTERN_C struct LxmlElement *makeElement(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *);
182
- __PYX_EXTERN_C struct LxmlElement *makeSubElement(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *);
183
- __PYX_EXTERN_C void setElementClassLookupFunction(_element_class_lookup_function, PyObject *);
184
- __PYX_EXTERN_C PyObject *lookupDefaultElementClass(PyObject *, PyObject *, xmlNode *);
185
- __PYX_EXTERN_C PyObject *lookupNamespaceElementClass(PyObject *, PyObject *, xmlNode *);
186
- __PYX_EXTERN_C PyObject *callLookupFallback(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *);
187
- __PYX_EXTERN_C int tagMatches(xmlNode *, const xmlChar *, const xmlChar *);
188
- __PYX_EXTERN_C struct LxmlDocument *documentOrRaise(PyObject *);
189
- __PYX_EXTERN_C struct LxmlElement *rootNodeOrRaise(PyObject *);
190
- __PYX_EXTERN_C int hasText(xmlNode *);
191
- __PYX_EXTERN_C int hasTail(xmlNode *);
192
- __PYX_EXTERN_C PyObject *textOf(xmlNode *);
193
- __PYX_EXTERN_C PyObject *tailOf(xmlNode *);
194
- __PYX_EXTERN_C int setNodeText(xmlNode *, PyObject *);
195
- __PYX_EXTERN_C int setTailText(xmlNode *, PyObject *);
196
- __PYX_EXTERN_C PyObject *attributeValue(xmlNode *, xmlAttr *);
197
- __PYX_EXTERN_C PyObject *attributeValueFromNsName(xmlNode *, const xmlChar *, const xmlChar *);
198
- __PYX_EXTERN_C PyObject *getAttributeValue(struct LxmlElement *, PyObject *, PyObject *);
199
- __PYX_EXTERN_C PyObject *iterattributes(struct LxmlElement *, int);
200
- __PYX_EXTERN_C PyObject *collectAttributes(xmlNode *, int);
201
- __PYX_EXTERN_C int setAttributeValue(struct LxmlElement *, PyObject *, PyObject *);
202
- __PYX_EXTERN_C int delAttribute(struct LxmlElement *, PyObject *);
203
- __PYX_EXTERN_C int delAttributeFromNsName(xmlNode *, const xmlChar *, const xmlChar *);
204
- __PYX_EXTERN_C int hasChild(xmlNode *);
205
- __PYX_EXTERN_C xmlNode *findChild(xmlNode *, Py_ssize_t);
206
- __PYX_EXTERN_C xmlNode *findChildForwards(xmlNode *, Py_ssize_t);
207
- __PYX_EXTERN_C xmlNode *findChildBackwards(xmlNode *, Py_ssize_t);
208
- __PYX_EXTERN_C xmlNode *nextElement(xmlNode *);
209
- __PYX_EXTERN_C xmlNode *previousElement(xmlNode *);
210
- __PYX_EXTERN_C void appendChild(struct LxmlElement *, struct LxmlElement *);
211
- __PYX_EXTERN_C int appendChildToElement(struct LxmlElement *, struct LxmlElement *);
212
- __PYX_EXTERN_C PyObject *pyunicode(const xmlChar *);
213
- __PYX_EXTERN_C PyObject *utf8(PyObject *);
214
- __PYX_EXTERN_C PyObject *getNsTag(PyObject *);
215
- __PYX_EXTERN_C PyObject *getNsTagWithEmptyNs(PyObject *);
216
- __PYX_EXTERN_C PyObject *namespacedName(xmlNode *);
217
- __PYX_EXTERN_C PyObject *namespacedNameFromNsName(const xmlChar *, const xmlChar *);
218
- __PYX_EXTERN_C void iteratorStoreNext(struct LxmlElementIterator *, struct LxmlElement *);
219
- __PYX_EXTERN_C void initTagMatch(struct LxmlElementTagMatcher *, PyObject *);
220
- __PYX_EXTERN_C xmlNs *findOrBuildNodeNsPrefix(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *);
221
-
222
- #endif /* !__PYX_HAVE_API__lxml__etree */
223
-
224
- /* WARNING: the interface of the module init function changed in CPython 3.5. */
225
- /* It now returns a PyModuleDef instance instead of a PyModule instance. */
226
-
227
- #if PY_MAJOR_VERSION < 3
228
- PyMODINIT_FUNC initetree(void);
229
- #else
230
- /* WARNING: Use PyImport_AppendInittab("etree", PyInit_etree) instead of calling PyInit_etree directly from Python 3.5 */
231
- PyMODINIT_FUNC PyInit_etree(void);
232
-
233
- #if PY_VERSION_HEX >= 0x03050000 && (defined(__GNUC__) || defined(__clang__) || defined(_MSC_VER) || (defined(__cplusplus) && __cplusplus >= 201402L))
234
- #if defined(__cplusplus) && __cplusplus >= 201402L
235
- [[deprecated("Use PyImport_AppendInittab(\"etree\", PyInit_etree) instead of calling PyInit_etree directly.")]] inline
236
- #elif defined(__GNUC__) || defined(__clang__)
237
- __attribute__ ((__deprecated__("Use PyImport_AppendInittab(\"etree\", PyInit_etree) instead of calling PyInit_etree directly."), __unused__)) __inline__
238
- #elif defined(_MSC_VER)
239
- __declspec(deprecated("Use PyImport_AppendInittab(\"etree\", PyInit_etree) instead of calling PyInit_etree directly.")) __inline
240
- #endif
241
- static PyObject* __PYX_WARN_IF_PyInit_etree_INIT_CALLED(PyObject* res) {
242
- return res;
243
- }
244
- #define PyInit_etree() __PYX_WARN_IF_PyInit_etree_INIT_CALLED(PyInit_etree())
245
- #endif
246
- #endif
247
-
248
- #endif /* !__PYX_HAVE__lxml__etree */
1
+ /* Generated by Cython 3.1.2 */
2
+
3
+ #ifndef __PYX_HAVE__lxml__etree
4
+ #define __PYX_HAVE__lxml__etree
5
+
6
+ #include "Python.h"
7
+ struct LxmlDocument;
8
+ struct LxmlElement;
9
+ struct LxmlElementTree;
10
+ struct LxmlElementTagMatcher;
11
+ struct LxmlElementIterator;
12
+ struct LxmlElementBase;
13
+ struct LxmlElementClassLookup;
14
+ struct LxmlFallbackElementClassLookup;
15
+
16
+ /* "lxml/etree.pyx":451
17
+ *
18
+ * # type of a function that steps from node to node
19
+ * ctypedef public xmlNode* (*_node_to_node_function)(xmlNode*) # <<<<<<<<<<<<<<
20
+ *
21
+ *
22
+ */
23
+ typedef xmlNode *(*_node_to_node_function)(xmlNode *);
24
+
25
+ /* "lxml/etree.pyx":465
26
+ * # Public Python API
27
+ *
28
+ * @cython.final # <<<<<<<<<<<<<<
29
+ * @cython.freelist(8)
30
+ * cdef public class _Document [ type LxmlDocumentType, object LxmlDocument ]:
31
+ */
32
+ struct LxmlDocument {
33
+ PyObject_HEAD
34
+ struct __pyx_vtabstruct_4lxml_5etree__Document *__pyx_vtab;
35
+ int _ns_counter;
36
+ PyObject *_prefix_tail;
37
+ xmlDoc *_c_doc;
38
+ struct __pyx_obj_4lxml_5etree__BaseParser *_parser;
39
+ };
40
+
41
+ /* "lxml/etree.pyx":817
42
+ *
43
+ *
44
+ * @cython.no_gc_clear # <<<<<<<<<<<<<<
45
+ * cdef public class _Element [ type LxmlElementType, object LxmlElement ]:
46
+ * """Element class.
47
+ */
48
+ struct LxmlElement {
49
+ PyObject_HEAD
50
+ struct LxmlDocument *_doc;
51
+ xmlNode *_c_node;
52
+ PyObject *_tag;
53
+ };
54
+
55
+ /* "lxml/etree.pyx":1991
56
+ *
57
+ *
58
+ * cdef public class _ElementTree [ type LxmlElementTreeType, # <<<<<<<<<<<<<<
59
+ * object LxmlElementTree ]:
60
+ * cdef _Document _doc
61
+ */
62
+ struct LxmlElementTree {
63
+ PyObject_HEAD
64
+ struct __pyx_vtabstruct_4lxml_5etree__ElementTree *__pyx_vtab;
65
+ struct LxmlDocument *_doc;
66
+ struct LxmlElement *_context_node;
67
+ };
68
+
69
+ /* "lxml/etree.pyx":2765
70
+ *
71
+ *
72
+ * cdef public class _ElementTagMatcher [ object LxmlElementTagMatcher, # <<<<<<<<<<<<<<
73
+ * type LxmlElementTagMatcherType ]:
74
+ * """
75
+ */
76
+ struct LxmlElementTagMatcher {
77
+ PyObject_HEAD
78
+ struct __pyx_vtabstruct_4lxml_5etree__ElementTagMatcher *__pyx_vtab;
79
+ PyObject *_pystrings;
80
+ int _node_type;
81
+ char *_href;
82
+ char *_name;
83
+ };
84
+
85
+ /* "lxml/etree.pyx":2796
86
+ * self._name = NULL
87
+ *
88
+ * cdef public class _ElementIterator(_ElementTagMatcher) [ # <<<<<<<<<<<<<<
89
+ * object LxmlElementIterator, type LxmlElementIteratorType ]:
90
+ * """
91
+ */
92
+ struct LxmlElementIterator {
93
+ struct LxmlElementTagMatcher __pyx_base;
94
+ struct LxmlElement *_node;
95
+ _node_to_node_function _next_element;
96
+ };
97
+
98
+ /* "src/lxml/classlookup.pxi":6
99
+ * # Custom Element classes
100
+ *
101
+ * cdef public class ElementBase(_Element) [ type LxmlElementBaseType, # <<<<<<<<<<<<<<
102
+ * object LxmlElementBase ]:
103
+ * """ElementBase(*children, attrib=None, nsmap=None, **_extra)
104
+ */
105
+ struct LxmlElementBase {
106
+ struct LxmlElement __pyx_base;
107
+ };
108
+
109
+ /* "src/lxml/classlookup.pxi":210
110
+ * # Element class lookup
111
+ *
112
+ * ctypedef public object (*_element_class_lookup_function)(object, _Document, xmlNode*) # <<<<<<<<<<<<<<
113
+ *
114
+ * # class to store element class lookup functions
115
+ */
116
+ typedef PyObject *(*_element_class_lookup_function)(PyObject *, struct LxmlDocument *, xmlNode *);
117
+
118
+ /* "src/lxml/classlookup.pxi":213
119
+ *
120
+ * # class to store element class lookup functions
121
+ * cdef public class ElementClassLookup [ type LxmlElementClassLookupType, # <<<<<<<<<<<<<<
122
+ * object LxmlElementClassLookup ]:
123
+ * """ElementClassLookup(self)
124
+ */
125
+ struct LxmlElementClassLookup {
126
+ PyObject_HEAD
127
+ _element_class_lookup_function _lookup_function;
128
+ };
129
+
130
+ /* "src/lxml/classlookup.pxi":221
131
+ *
132
+ *
133
+ * cdef public class FallbackElementClassLookup(ElementClassLookup) \ # <<<<<<<<<<<<<<
134
+ * [ type LxmlFallbackElementClassLookupType,
135
+ * object LxmlFallbackElementClassLookup ]:
136
+ */
137
+ struct LxmlFallbackElementClassLookup {
138
+ struct LxmlElementClassLookup __pyx_base;
139
+ struct __pyx_vtabstruct_4lxml_5etree_FallbackElementClassLookup *__pyx_vtab;
140
+ struct LxmlElementClassLookup *fallback;
141
+ _element_class_lookup_function _fallback_function;
142
+ };
143
+
144
+ #ifndef __PYX_HAVE_API__lxml__etree
145
+
146
+ #ifdef CYTHON_EXTERN_C
147
+ #undef __PYX_EXTERN_C
148
+ #define __PYX_EXTERN_C CYTHON_EXTERN_C
149
+ #elif defined(__PYX_EXTERN_C)
150
+ #ifdef _MSC_VER
151
+ #pragma message ("Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.")
152
+ #else
153
+ #warning Please do not define the '__PYX_EXTERN_C' macro externally. Use 'CYTHON_EXTERN_C' instead.
154
+ #endif
155
+ #else
156
+ #ifdef __cplusplus
157
+ #define __PYX_EXTERN_C extern "C"
158
+ #else
159
+ #define __PYX_EXTERN_C extern
160
+ #endif
161
+ #endif
162
+
163
+ #ifndef DL_IMPORT
164
+ #define DL_IMPORT(_T) _T
165
+ #endif
166
+
167
+ __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlDocumentType;
168
+ __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementType;
169
+ __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTreeType;
170
+ __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementTagMatcherType;
171
+ __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementIteratorType;
172
+ __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementBaseType;
173
+ __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlElementClassLookupType;
174
+ __PYX_EXTERN_C DL_IMPORT(PyTypeObject) LxmlFallbackElementClassLookupType;
175
+
176
+ __PYX_EXTERN_C struct LxmlElement *deepcopyNodeToDocument(struct LxmlDocument *, xmlNode *);
177
+ __PYX_EXTERN_C struct LxmlElementTree *elementTreeFactory(struct LxmlElement *);
178
+ __PYX_EXTERN_C struct LxmlElementTree *newElementTree(struct LxmlElement *, PyObject *);
179
+ __PYX_EXTERN_C struct LxmlElementTree *adoptExternalDocument(xmlDoc *, PyObject *, int);
180
+ __PYX_EXTERN_C struct LxmlElement *elementFactory(struct LxmlDocument *, xmlNode *);
181
+ __PYX_EXTERN_C struct LxmlElement *makeElement(PyObject *, struct LxmlDocument *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *);
182
+ __PYX_EXTERN_C struct LxmlElement *makeSubElement(struct LxmlElement *, PyObject *, PyObject *, PyObject *, PyObject *, PyObject *);
183
+ __PYX_EXTERN_C void setElementClassLookupFunction(_element_class_lookup_function, PyObject *);
184
+ __PYX_EXTERN_C PyObject *lookupDefaultElementClass(PyObject *, PyObject *, xmlNode *);
185
+ __PYX_EXTERN_C PyObject *lookupNamespaceElementClass(PyObject *, PyObject *, xmlNode *);
186
+ __PYX_EXTERN_C PyObject *callLookupFallback(struct LxmlFallbackElementClassLookup *, struct LxmlDocument *, xmlNode *);
187
+ __PYX_EXTERN_C int tagMatches(xmlNode *, const xmlChar *, const xmlChar *);
188
+ __PYX_EXTERN_C struct LxmlDocument *documentOrRaise(PyObject *);
189
+ __PYX_EXTERN_C struct LxmlElement *rootNodeOrRaise(PyObject *);
190
+ __PYX_EXTERN_C int hasText(xmlNode *);
191
+ __PYX_EXTERN_C int hasTail(xmlNode *);
192
+ __PYX_EXTERN_C PyObject *textOf(xmlNode *);
193
+ __PYX_EXTERN_C PyObject *tailOf(xmlNode *);
194
+ __PYX_EXTERN_C int setNodeText(xmlNode *, PyObject *);
195
+ __PYX_EXTERN_C int setTailText(xmlNode *, PyObject *);
196
+ __PYX_EXTERN_C PyObject *attributeValue(xmlNode *, xmlAttr *);
197
+ __PYX_EXTERN_C PyObject *attributeValueFromNsName(xmlNode *, const xmlChar *, const xmlChar *);
198
+ __PYX_EXTERN_C PyObject *getAttributeValue(struct LxmlElement *, PyObject *, PyObject *);
199
+ __PYX_EXTERN_C PyObject *iterattributes(struct LxmlElement *, int);
200
+ __PYX_EXTERN_C PyObject *collectAttributes(xmlNode *, int);
201
+ __PYX_EXTERN_C int setAttributeValue(struct LxmlElement *, PyObject *, PyObject *);
202
+ __PYX_EXTERN_C int delAttribute(struct LxmlElement *, PyObject *);
203
+ __PYX_EXTERN_C int delAttributeFromNsName(xmlNode *, const xmlChar *, const xmlChar *);
204
+ __PYX_EXTERN_C int hasChild(xmlNode *);
205
+ __PYX_EXTERN_C xmlNode *findChild(xmlNode *, Py_ssize_t);
206
+ __PYX_EXTERN_C xmlNode *findChildForwards(xmlNode *, Py_ssize_t);
207
+ __PYX_EXTERN_C xmlNode *findChildBackwards(xmlNode *, Py_ssize_t);
208
+ __PYX_EXTERN_C xmlNode *nextElement(xmlNode *);
209
+ __PYX_EXTERN_C xmlNode *previousElement(xmlNode *);
210
+ __PYX_EXTERN_C void appendChild(struct LxmlElement *, struct LxmlElement *);
211
+ __PYX_EXTERN_C int appendChildToElement(struct LxmlElement *, struct LxmlElement *);
212
+ __PYX_EXTERN_C PyObject *pyunicode(const xmlChar *);
213
+ __PYX_EXTERN_C PyObject *utf8(PyObject *);
214
+ __PYX_EXTERN_C PyObject *getNsTag(PyObject *);
215
+ __PYX_EXTERN_C PyObject *getNsTagWithEmptyNs(PyObject *);
216
+ __PYX_EXTERN_C PyObject *namespacedName(xmlNode *);
217
+ __PYX_EXTERN_C PyObject *namespacedNameFromNsName(const xmlChar *, const xmlChar *);
218
+ __PYX_EXTERN_C void iteratorStoreNext(struct LxmlElementIterator *, struct LxmlElement *);
219
+ __PYX_EXTERN_C void initTagMatch(struct LxmlElementTagMatcher *, PyObject *);
220
+ __PYX_EXTERN_C xmlNs *findOrBuildNodeNsPrefix(struct LxmlDocument *, xmlNode *, const xmlChar *, const xmlChar *);
221
+
222
+ #endif /* !__PYX_HAVE_API__lxml__etree */
223
+
224
+ /* WARNING: the interface of the module init function changed in CPython 3.5. */
225
+ /* It now returns a PyModuleDef instance instead of a PyModule instance. */
226
+
227
+ /* WARNING: Use PyImport_AppendInittab("etree", PyInit_etree) instead of calling PyInit_etree directly from Python 3.5 */
228
+ PyMODINIT_FUNC PyInit_etree(void);
229
+
230
+ #if PY_VERSION_HEX >= 0x03050000 && (defined(__GNUC__) || defined(__clang__) || defined(_MSC_VER) || (defined(__cplusplus) && __cplusplus >= 201402L))
231
+ #if defined(__cplusplus) && __cplusplus >= 201402L
232
+ [[deprecated("Use PyImport_AppendInittab(\"etree\", PyInit_etree) instead of calling PyInit_etree directly.")]] inline
233
+ #elif defined(__GNUC__) || defined(__clang__)
234
+ __attribute__ ((__deprecated__("Use PyImport_AppendInittab(\"etree\", PyInit_etree) instead of calling PyInit_etree directly."), __unused__)) __inline__
235
+ #elif defined(_MSC_VER)
236
+ __declspec(deprecated("Use PyImport_AppendInittab(\"etree\", PyInit_etree) instead of calling PyInit_etree directly.")) __inline
237
+ #endif
238
+ static PyObject* __PYX_WARN_IF_PyInit_etree_INIT_CALLED(PyObject* res) {
239
+ return res;
240
+ }
241
+ #define PyInit_etree() __PYX_WARN_IF_PyInit_etree_INIT_CALLED(PyInit_etree())
242
+ #endif
243
+
244
+ #endif /* !__PYX_HAVE__lxml__etree */