pocxxeci 0.30.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pocxxeci might be problematic. Click here for more details.

Files changed (160) hide show
  1. package/LICENSE +19 -0
  2. package/Makefile +18 -0
  3. package/README.md +52 -0
  4. package/binding.gyp +81 -0
  5. package/index.d.ts +273 -0
  6. package/index.js +45 -0
  7. package/lib/bindings.js +1 -0
  8. package/lib/document.js +122 -0
  9. package/lib/element.js +82 -0
  10. package/lib/sax_parser.js +38 -0
  11. package/package.json +70 -0
  12. package/src/html_document.cc +7 -0
  13. package/src/html_document.h +18 -0
  14. package/src/libxmljs.cc +252 -0
  15. package/src/libxmljs.h +53 -0
  16. package/src/xml_attribute.cc +173 -0
  17. package/src/xml_attribute.h +40 -0
  18. package/src/xml_comment.cc +117 -0
  19. package/src/xml_comment.h +30 -0
  20. package/src/xml_document.cc +810 -0
  21. package/src/xml_document.h +67 -0
  22. package/src/xml_element.cc +565 -0
  23. package/src/xml_element.h +61 -0
  24. package/src/xml_namespace.cc +158 -0
  25. package/src/xml_namespace.h +39 -0
  26. package/src/xml_node.cc +761 -0
  27. package/src/xml_node.h +73 -0
  28. package/src/xml_pi.cc +161 -0
  29. package/src/xml_pi.h +34 -0
  30. package/src/xml_sax_parser.cc +424 -0
  31. package/src/xml_sax_parser.h +73 -0
  32. package/src/xml_syntax_error.cc +66 -0
  33. package/src/xml_syntax_error.h +25 -0
  34. package/src/xml_text.cc +320 -0
  35. package/src/xml_text.h +48 -0
  36. package/src/xml_textwriter.cc +315 -0
  37. package/src/xml_textwriter.h +62 -0
  38. package/src/xml_xpath_context.cc +70 -0
  39. package/src/xml_xpath_context.h +23 -0
  40. package/vendor/libxml/Copyright +23 -0
  41. package/vendor/libxml/DOCBparser.c +305 -0
  42. package/vendor/libxml/HTMLparser.c +7287 -0
  43. package/vendor/libxml/HTMLtree.c +1200 -0
  44. package/vendor/libxml/Makefile +2983 -0
  45. package/vendor/libxml/SAX.c +180 -0
  46. package/vendor/libxml/SAX2.c +3036 -0
  47. package/vendor/libxml/buf.c +1351 -0
  48. package/vendor/libxml/buf.h +72 -0
  49. package/vendor/libxml/c14n.c +2234 -0
  50. package/vendor/libxml/catalog.c +3828 -0
  51. package/vendor/libxml/chvalid.c +336 -0
  52. package/vendor/libxml/config.h +294 -0
  53. package/vendor/libxml/config.h.gch +0 -0
  54. package/vendor/libxml/debugXML.c +3423 -0
  55. package/vendor/libxml/dict.c +1298 -0
  56. package/vendor/libxml/elfgcchack.h +17818 -0
  57. package/vendor/libxml/enc.h +32 -0
  58. package/vendor/libxml/encoding.c +3975 -0
  59. package/vendor/libxml/entities.c +1163 -0
  60. package/vendor/libxml/error.c +998 -0
  61. package/vendor/libxml/globals.c +1126 -0
  62. package/vendor/libxml/hash.c +1146 -0
  63. package/vendor/libxml/include/libxml/DOCBparser.h +96 -0
  64. package/vendor/libxml/include/libxml/HTMLparser.h +306 -0
  65. package/vendor/libxml/include/libxml/HTMLtree.h +147 -0
  66. package/vendor/libxml/include/libxml/Makefile +725 -0
  67. package/vendor/libxml/include/libxml/Makefile.am +54 -0
  68. package/vendor/libxml/include/libxml/Makefile.in +725 -0
  69. package/vendor/libxml/include/libxml/SAX.h +173 -0
  70. package/vendor/libxml/include/libxml/SAX2.h +178 -0
  71. package/vendor/libxml/include/libxml/c14n.h +128 -0
  72. package/vendor/libxml/include/libxml/catalog.h +182 -0
  73. package/vendor/libxml/include/libxml/chvalid.h +230 -0
  74. package/vendor/libxml/include/libxml/debugXML.h +217 -0
  75. package/vendor/libxml/include/libxml/dict.h +79 -0
  76. package/vendor/libxml/include/libxml/encoding.h +245 -0
  77. package/vendor/libxml/include/libxml/entities.h +151 -0
  78. package/vendor/libxml/include/libxml/globals.h +508 -0
  79. package/vendor/libxml/include/libxml/hash.h +236 -0
  80. package/vendor/libxml/include/libxml/list.h +137 -0
  81. package/vendor/libxml/include/libxml/nanoftp.h +163 -0
  82. package/vendor/libxml/include/libxml/nanohttp.h +81 -0
  83. package/vendor/libxml/include/libxml/parser.h +1243 -0
  84. package/vendor/libxml/include/libxml/parserInternals.h +644 -0
  85. package/vendor/libxml/include/libxml/pattern.h +100 -0
  86. package/vendor/libxml/include/libxml/relaxng.h +217 -0
  87. package/vendor/libxml/include/libxml/schemasInternals.h +958 -0
  88. package/vendor/libxml/include/libxml/schematron.h +142 -0
  89. package/vendor/libxml/include/libxml/threads.h +89 -0
  90. package/vendor/libxml/include/libxml/tree.h +1311 -0
  91. package/vendor/libxml/include/libxml/uri.h +94 -0
  92. package/vendor/libxml/include/libxml/valid.h +458 -0
  93. package/vendor/libxml/include/libxml/xinclude.h +129 -0
  94. package/vendor/libxml/include/libxml/xlink.h +189 -0
  95. package/vendor/libxml/include/libxml/xmlIO.h +368 -0
  96. package/vendor/libxml/include/libxml/xmlautomata.h +146 -0
  97. package/vendor/libxml/include/libxml/xmlerror.h +945 -0
  98. package/vendor/libxml/include/libxml/xmlexports.h +77 -0
  99. package/vendor/libxml/include/libxml/xmlmemory.h +224 -0
  100. package/vendor/libxml/include/libxml/xmlmodule.h +57 -0
  101. package/vendor/libxml/include/libxml/xmlreader.h +428 -0
  102. package/vendor/libxml/include/libxml/xmlregexp.h +222 -0
  103. package/vendor/libxml/include/libxml/xmlsave.h +88 -0
  104. package/vendor/libxml/include/libxml/xmlschemas.h +246 -0
  105. package/vendor/libxml/include/libxml/xmlschemastypes.h +151 -0
  106. package/vendor/libxml/include/libxml/xmlstring.h +140 -0
  107. package/vendor/libxml/include/libxml/xmlunicode.h +202 -0
  108. package/vendor/libxml/include/libxml/xmlversion.h +484 -0
  109. package/vendor/libxml/include/libxml/xmlwin32version.h +239 -0
  110. package/vendor/libxml/include/libxml/xmlwriter.h +488 -0
  111. package/vendor/libxml/include/libxml/xpath.h +564 -0
  112. package/vendor/libxml/include/libxml/xpathInternals.h +632 -0
  113. package/vendor/libxml/include/libxml/xpointer.h +114 -0
  114. package/vendor/libxml/include/win32config.h +122 -0
  115. package/vendor/libxml/include/wsockcompat.h +54 -0
  116. package/vendor/libxml/legacy.c +1343 -0
  117. package/vendor/libxml/libxml.h +134 -0
  118. package/vendor/libxml/list.c +779 -0
  119. package/vendor/libxml/nanoftp.c +2118 -0
  120. package/vendor/libxml/nanohttp.c +1899 -0
  121. package/vendor/libxml/parser.c +15553 -0
  122. package/vendor/libxml/parserInternals.c +2164 -0
  123. package/vendor/libxml/pattern.c +2621 -0
  124. package/vendor/libxml/relaxng.c +11101 -0
  125. package/vendor/libxml/rngparser.c +1595 -0
  126. package/vendor/libxml/runsuite.c +1157 -0
  127. package/vendor/libxml/save.h +36 -0
  128. package/vendor/libxml/schematron.c +1787 -0
  129. package/vendor/libxml/threads.c +1049 -0
  130. package/vendor/libxml/timsort.h +601 -0
  131. package/vendor/libxml/tree.c +10183 -0
  132. package/vendor/libxml/trio.c +6895 -0
  133. package/vendor/libxml/trio.h +230 -0
  134. package/vendor/libxml/triodef.h +228 -0
  135. package/vendor/libxml/trionan.c +914 -0
  136. package/vendor/libxml/trionan.h +84 -0
  137. package/vendor/libxml/triop.h +150 -0
  138. package/vendor/libxml/triostr.c +2112 -0
  139. package/vendor/libxml/triostr.h +144 -0
  140. package/vendor/libxml/uri.c +2561 -0
  141. package/vendor/libxml/valid.c +7138 -0
  142. package/vendor/libxml/xinclude.c +2657 -0
  143. package/vendor/libxml/xlink.c +183 -0
  144. package/vendor/libxml/xmlIO.c +4135 -0
  145. package/vendor/libxml/xmlcatalog.c +624 -0
  146. package/vendor/libxml/xmllint.c +3796 -0
  147. package/vendor/libxml/xmlmemory.c +1163 -0
  148. package/vendor/libxml/xmlmodule.c +468 -0
  149. package/vendor/libxml/xmlreader.c +6033 -0
  150. package/vendor/libxml/xmlregexp.c +8271 -0
  151. package/vendor/libxml/xmlsave.c +2735 -0
  152. package/vendor/libxml/xmlschemas.c +29173 -0
  153. package/vendor/libxml/xmlschemastypes.c +6276 -0
  154. package/vendor/libxml/xmlstring.c +1050 -0
  155. package/vendor/libxml/xmlunicode.c +3179 -0
  156. package/vendor/libxml/xmlwriter.c +4738 -0
  157. package/vendor/libxml/xpath.c +14734 -0
  158. package/vendor/libxml/xpointer.c +2969 -0
  159. package/vendor/libxml/xzlib.c +815 -0
  160. package/vendor/libxml/xzlib.h +19 -0
@@ -0,0 +1,428 @@
1
+ /*
2
+ * Summary: the XMLReader implementation
3
+ * Description: API of the XML streaming API based on C# interfaces.
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Daniel Veillard
8
+ */
9
+
10
+ #ifndef __XML_XMLREADER_H__
11
+ #define __XML_XMLREADER_H__
12
+
13
+ #include <libxml/xmlversion.h>
14
+ #include <libxml/tree.h>
15
+ #include <libxml/xmlIO.h>
16
+ #ifdef LIBXML_SCHEMAS_ENABLED
17
+ #include <libxml/relaxng.h>
18
+ #include <libxml/xmlschemas.h>
19
+ #endif
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ /**
26
+ * xmlParserSeverities:
27
+ *
28
+ * How severe an error callback is when the per-reader error callback API
29
+ * is used.
30
+ */
31
+ typedef enum {
32
+ XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
33
+ XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
34
+ XML_PARSER_SEVERITY_WARNING = 3,
35
+ XML_PARSER_SEVERITY_ERROR = 4
36
+ } xmlParserSeverities;
37
+
38
+ #ifdef LIBXML_READER_ENABLED
39
+
40
+ /**
41
+ * xmlTextReaderMode:
42
+ *
43
+ * Internal state values for the reader.
44
+ */
45
+ typedef enum {
46
+ XML_TEXTREADER_MODE_INITIAL = 0,
47
+ XML_TEXTREADER_MODE_INTERACTIVE = 1,
48
+ XML_TEXTREADER_MODE_ERROR = 2,
49
+ XML_TEXTREADER_MODE_EOF =3,
50
+ XML_TEXTREADER_MODE_CLOSED = 4,
51
+ XML_TEXTREADER_MODE_READING = 5
52
+ } xmlTextReaderMode;
53
+
54
+ /**
55
+ * xmlParserProperties:
56
+ *
57
+ * Some common options to use with xmlTextReaderSetParserProp, but it
58
+ * is better to use xmlParserOption and the xmlReaderNewxxx and
59
+ * xmlReaderForxxx APIs now.
60
+ */
61
+ typedef enum {
62
+ XML_PARSER_LOADDTD = 1,
63
+ XML_PARSER_DEFAULTATTRS = 2,
64
+ XML_PARSER_VALIDATE = 3,
65
+ XML_PARSER_SUBST_ENTITIES = 4
66
+ } xmlParserProperties;
67
+
68
+ /**
69
+ * xmlReaderTypes:
70
+ *
71
+ * Predefined constants for the different types of nodes.
72
+ */
73
+ typedef enum {
74
+ XML_READER_TYPE_NONE = 0,
75
+ XML_READER_TYPE_ELEMENT = 1,
76
+ XML_READER_TYPE_ATTRIBUTE = 2,
77
+ XML_READER_TYPE_TEXT = 3,
78
+ XML_READER_TYPE_CDATA = 4,
79
+ XML_READER_TYPE_ENTITY_REFERENCE = 5,
80
+ XML_READER_TYPE_ENTITY = 6,
81
+ XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
82
+ XML_READER_TYPE_COMMENT = 8,
83
+ XML_READER_TYPE_DOCUMENT = 9,
84
+ XML_READER_TYPE_DOCUMENT_TYPE = 10,
85
+ XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
86
+ XML_READER_TYPE_NOTATION = 12,
87
+ XML_READER_TYPE_WHITESPACE = 13,
88
+ XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
89
+ XML_READER_TYPE_END_ELEMENT = 15,
90
+ XML_READER_TYPE_END_ENTITY = 16,
91
+ XML_READER_TYPE_XML_DECLARATION = 17
92
+ } xmlReaderTypes;
93
+
94
+ /**
95
+ * xmlTextReader:
96
+ *
97
+ * Structure for an xmlReader context.
98
+ */
99
+ typedef struct _xmlTextReader xmlTextReader;
100
+
101
+ /**
102
+ * xmlTextReaderPtr:
103
+ *
104
+ * Pointer to an xmlReader context.
105
+ */
106
+ typedef xmlTextReader *xmlTextReaderPtr;
107
+
108
+ /*
109
+ * Constructors & Destructor
110
+ */
111
+ XMLPUBFUN xmlTextReaderPtr XMLCALL
112
+ xmlNewTextReader (xmlParserInputBufferPtr input,
113
+ const char *URI);
114
+ XMLPUBFUN xmlTextReaderPtr XMLCALL
115
+ xmlNewTextReaderFilename(const char *URI);
116
+
117
+ XMLPUBFUN void XMLCALL
118
+ xmlFreeTextReader (xmlTextReaderPtr reader);
119
+
120
+ XMLPUBFUN int XMLCALL
121
+ xmlTextReaderSetup(xmlTextReaderPtr reader,
122
+ xmlParserInputBufferPtr input, const char *URL,
123
+ const char *encoding, int options);
124
+
125
+ /*
126
+ * Iterators
127
+ */
128
+ XMLPUBFUN int XMLCALL
129
+ xmlTextReaderRead (xmlTextReaderPtr reader);
130
+
131
+ #ifdef LIBXML_WRITER_ENABLED
132
+ XMLPUBFUN xmlChar * XMLCALL
133
+ xmlTextReaderReadInnerXml(xmlTextReaderPtr reader);
134
+
135
+ XMLPUBFUN xmlChar * XMLCALL
136
+ xmlTextReaderReadOuterXml(xmlTextReaderPtr reader);
137
+ #endif
138
+
139
+ XMLPUBFUN xmlChar * XMLCALL
140
+ xmlTextReaderReadString (xmlTextReaderPtr reader);
141
+ XMLPUBFUN int XMLCALL
142
+ xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader);
143
+
144
+ /*
145
+ * Attributes of the node
146
+ */
147
+ XMLPUBFUN int XMLCALL
148
+ xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
149
+ XMLPUBFUN int XMLCALL
150
+ xmlTextReaderDepth (xmlTextReaderPtr reader);
151
+ XMLPUBFUN int XMLCALL
152
+ xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
153
+ XMLPUBFUN int XMLCALL
154
+ xmlTextReaderHasValue(xmlTextReaderPtr reader);
155
+ XMLPUBFUN int XMLCALL
156
+ xmlTextReaderIsDefault (xmlTextReaderPtr reader);
157
+ XMLPUBFUN int XMLCALL
158
+ xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
159
+ XMLPUBFUN int XMLCALL
160
+ xmlTextReaderNodeType (xmlTextReaderPtr reader);
161
+ XMLPUBFUN int XMLCALL
162
+ xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
163
+ XMLPUBFUN int XMLCALL
164
+ xmlTextReaderReadState (xmlTextReaderPtr reader);
165
+ XMLPUBFUN int XMLCALL
166
+ xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
167
+
168
+ XMLPUBFUN const xmlChar * XMLCALL
169
+ xmlTextReaderConstBaseUri (xmlTextReaderPtr reader);
170
+ XMLPUBFUN const xmlChar * XMLCALL
171
+ xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
172
+ XMLPUBFUN const xmlChar * XMLCALL
173
+ xmlTextReaderConstName (xmlTextReaderPtr reader);
174
+ XMLPUBFUN const xmlChar * XMLCALL
175
+ xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
176
+ XMLPUBFUN const xmlChar * XMLCALL
177
+ xmlTextReaderConstPrefix (xmlTextReaderPtr reader);
178
+ XMLPUBFUN const xmlChar * XMLCALL
179
+ xmlTextReaderConstXmlLang (xmlTextReaderPtr reader);
180
+ XMLPUBFUN const xmlChar * XMLCALL
181
+ xmlTextReaderConstString (xmlTextReaderPtr reader,
182
+ const xmlChar *str);
183
+ XMLPUBFUN const xmlChar * XMLCALL
184
+ xmlTextReaderConstValue (xmlTextReaderPtr reader);
185
+
186
+ /*
187
+ * use the Const version of the routine for
188
+ * better performance and simpler code
189
+ */
190
+ XMLPUBFUN xmlChar * XMLCALL
191
+ xmlTextReaderBaseUri (xmlTextReaderPtr reader);
192
+ XMLPUBFUN xmlChar * XMLCALL
193
+ xmlTextReaderLocalName (xmlTextReaderPtr reader);
194
+ XMLPUBFUN xmlChar * XMLCALL
195
+ xmlTextReaderName (xmlTextReaderPtr reader);
196
+ XMLPUBFUN xmlChar * XMLCALL
197
+ xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
198
+ XMLPUBFUN xmlChar * XMLCALL
199
+ xmlTextReaderPrefix (xmlTextReaderPtr reader);
200
+ XMLPUBFUN xmlChar * XMLCALL
201
+ xmlTextReaderXmlLang (xmlTextReaderPtr reader);
202
+ XMLPUBFUN xmlChar * XMLCALL
203
+ xmlTextReaderValue (xmlTextReaderPtr reader);
204
+
205
+ /*
206
+ * Methods of the XmlTextReader
207
+ */
208
+ XMLPUBFUN int XMLCALL
209
+ xmlTextReaderClose (xmlTextReaderPtr reader);
210
+ XMLPUBFUN xmlChar * XMLCALL
211
+ xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
212
+ int no);
213
+ XMLPUBFUN xmlChar * XMLCALL
214
+ xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
215
+ const xmlChar *name);
216
+ XMLPUBFUN xmlChar * XMLCALL
217
+ xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
218
+ const xmlChar *localName,
219
+ const xmlChar *namespaceURI);
220
+ XMLPUBFUN xmlParserInputBufferPtr XMLCALL
221
+ xmlTextReaderGetRemainder (xmlTextReaderPtr reader);
222
+ XMLPUBFUN xmlChar * XMLCALL
223
+ xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
224
+ const xmlChar *prefix);
225
+ XMLPUBFUN int XMLCALL
226
+ xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
227
+ int no);
228
+ XMLPUBFUN int XMLCALL
229
+ xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
230
+ const xmlChar *name);
231
+ XMLPUBFUN int XMLCALL
232
+ xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
233
+ const xmlChar *localName,
234
+ const xmlChar *namespaceURI);
235
+ XMLPUBFUN int XMLCALL
236
+ xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
237
+ XMLPUBFUN int XMLCALL
238
+ xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
239
+ XMLPUBFUN int XMLCALL
240
+ xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
241
+ XMLPUBFUN int XMLCALL
242
+ xmlTextReaderNormalization (xmlTextReaderPtr reader);
243
+ XMLPUBFUN const xmlChar * XMLCALL
244
+ xmlTextReaderConstEncoding (xmlTextReaderPtr reader);
245
+
246
+ /*
247
+ * Extensions
248
+ */
249
+ XMLPUBFUN int XMLCALL
250
+ xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
251
+ int prop,
252
+ int value);
253
+ XMLPUBFUN int XMLCALL
254
+ xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
255
+ int prop);
256
+ XMLPUBFUN xmlNodePtr XMLCALL
257
+ xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
258
+
259
+ XMLPUBFUN int XMLCALL
260
+ xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
261
+
262
+ XMLPUBFUN int XMLCALL
263
+ xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
264
+
265
+ XMLPUBFUN xmlNodePtr XMLCALL
266
+ xmlTextReaderPreserve (xmlTextReaderPtr reader);
267
+ #ifdef LIBXML_PATTERN_ENABLED
268
+ XMLPUBFUN int XMLCALL
269
+ xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
270
+ const xmlChar *pattern,
271
+ const xmlChar **namespaces);
272
+ #endif /* LIBXML_PATTERN_ENABLED */
273
+ XMLPUBFUN xmlDocPtr XMLCALL
274
+ xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
275
+ XMLPUBFUN xmlNodePtr XMLCALL
276
+ xmlTextReaderExpand (xmlTextReaderPtr reader);
277
+ XMLPUBFUN int XMLCALL
278
+ xmlTextReaderNext (xmlTextReaderPtr reader);
279
+ XMLPUBFUN int XMLCALL
280
+ xmlTextReaderNextSibling (xmlTextReaderPtr reader);
281
+ XMLPUBFUN int XMLCALL
282
+ xmlTextReaderIsValid (xmlTextReaderPtr reader);
283
+ #ifdef LIBXML_SCHEMAS_ENABLED
284
+ XMLPUBFUN int XMLCALL
285
+ xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
286
+ const char *rng);
287
+ XMLPUBFUN int XMLCALL
288
+ xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,
289
+ xmlRelaxNGValidCtxtPtr ctxt,
290
+ int options);
291
+
292
+ XMLPUBFUN int XMLCALL
293
+ xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
294
+ xmlRelaxNGPtr schema);
295
+ XMLPUBFUN int XMLCALL
296
+ xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
297
+ const char *xsd);
298
+ XMLPUBFUN int XMLCALL
299
+ xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
300
+ xmlSchemaValidCtxtPtr ctxt,
301
+ int options);
302
+ XMLPUBFUN int XMLCALL
303
+ xmlTextReaderSetSchema (xmlTextReaderPtr reader,
304
+ xmlSchemaPtr schema);
305
+ #endif
306
+ XMLPUBFUN const xmlChar * XMLCALL
307
+ xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
308
+ XMLPUBFUN int XMLCALL
309
+ xmlTextReaderStandalone (xmlTextReaderPtr reader);
310
+
311
+
312
+ /*
313
+ * Index lookup
314
+ */
315
+ XMLPUBFUN long XMLCALL
316
+ xmlTextReaderByteConsumed (xmlTextReaderPtr reader);
317
+
318
+ /*
319
+ * New more complete APIs for simpler creation and reuse of readers
320
+ */
321
+ XMLPUBFUN xmlTextReaderPtr XMLCALL
322
+ xmlReaderWalker (xmlDocPtr doc);
323
+ XMLPUBFUN xmlTextReaderPtr XMLCALL
324
+ xmlReaderForDoc (const xmlChar * cur,
325
+ const char *URL,
326
+ const char *encoding,
327
+ int options);
328
+ XMLPUBFUN xmlTextReaderPtr XMLCALL
329
+ xmlReaderForFile (const char *filename,
330
+ const char *encoding,
331
+ int options);
332
+ XMLPUBFUN xmlTextReaderPtr XMLCALL
333
+ xmlReaderForMemory (const char *buffer,
334
+ int size,
335
+ const char *URL,
336
+ const char *encoding,
337
+ int options);
338
+ XMLPUBFUN xmlTextReaderPtr XMLCALL
339
+ xmlReaderForFd (int fd,
340
+ const char *URL,
341
+ const char *encoding,
342
+ int options);
343
+ XMLPUBFUN xmlTextReaderPtr XMLCALL
344
+ xmlReaderForIO (xmlInputReadCallback ioread,
345
+ xmlInputCloseCallback ioclose,
346
+ void *ioctx,
347
+ const char *URL,
348
+ const char *encoding,
349
+ int options);
350
+
351
+ XMLPUBFUN int XMLCALL
352
+ xmlReaderNewWalker (xmlTextReaderPtr reader,
353
+ xmlDocPtr doc);
354
+ XMLPUBFUN int XMLCALL
355
+ xmlReaderNewDoc (xmlTextReaderPtr reader,
356
+ const xmlChar * cur,
357
+ const char *URL,
358
+ const char *encoding,
359
+ int options);
360
+ XMLPUBFUN int XMLCALL
361
+ xmlReaderNewFile (xmlTextReaderPtr reader,
362
+ const char *filename,
363
+ const char *encoding,
364
+ int options);
365
+ XMLPUBFUN int XMLCALL
366
+ xmlReaderNewMemory (xmlTextReaderPtr reader,
367
+ const char *buffer,
368
+ int size,
369
+ const char *URL,
370
+ const char *encoding,
371
+ int options);
372
+ XMLPUBFUN int XMLCALL
373
+ xmlReaderNewFd (xmlTextReaderPtr reader,
374
+ int fd,
375
+ const char *URL,
376
+ const char *encoding,
377
+ int options);
378
+ XMLPUBFUN int XMLCALL
379
+ xmlReaderNewIO (xmlTextReaderPtr reader,
380
+ xmlInputReadCallback ioread,
381
+ xmlInputCloseCallback ioclose,
382
+ void *ioctx,
383
+ const char *URL,
384
+ const char *encoding,
385
+ int options);
386
+ /*
387
+ * Error handling extensions
388
+ */
389
+ typedef void * xmlTextReaderLocatorPtr;
390
+
391
+ /**
392
+ * xmlTextReaderErrorFunc:
393
+ * @arg: the user argument
394
+ * @msg: the message
395
+ * @severity: the severity of the error
396
+ * @locator: a locator indicating where the error occurred
397
+ *
398
+ * Signature of an error callback from a reader parser
399
+ */
400
+ typedef void (XMLCALL *xmlTextReaderErrorFunc)(void *arg,
401
+ const char *msg,
402
+ xmlParserSeverities severity,
403
+ xmlTextReaderLocatorPtr locator);
404
+ XMLPUBFUN int XMLCALL
405
+ xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
406
+ XMLPUBFUN xmlChar * XMLCALL
407
+ xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
408
+ XMLPUBFUN void XMLCALL
409
+ xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
410
+ xmlTextReaderErrorFunc f,
411
+ void *arg);
412
+ XMLPUBFUN void XMLCALL
413
+ xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
414
+ xmlStructuredErrorFunc f,
415
+ void *arg);
416
+ XMLPUBFUN void XMLCALL
417
+ xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
418
+ xmlTextReaderErrorFunc *f,
419
+ void **arg);
420
+
421
+ #endif /* LIBXML_READER_ENABLED */
422
+
423
+ #ifdef __cplusplus
424
+ }
425
+ #endif
426
+
427
+ #endif /* __XML_XMLREADER_H__ */
428
+
@@ -0,0 +1,222 @@
1
+ /*
2
+ * Summary: regular expressions handling
3
+ * Description: basic API for libxml regular expressions handling used
4
+ * for XML Schemas and validation.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_REGEXP_H__
12
+ #define __XML_REGEXP_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+
16
+ #ifdef LIBXML_REGEXP_ENABLED
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /**
23
+ * xmlRegexpPtr:
24
+ *
25
+ * A libxml regular expression, they can actually be far more complex
26
+ * thank the POSIX regex expressions.
27
+ */
28
+ typedef struct _xmlRegexp xmlRegexp;
29
+ typedef xmlRegexp *xmlRegexpPtr;
30
+
31
+ /**
32
+ * xmlRegExecCtxtPtr:
33
+ *
34
+ * A libxml progressive regular expression evaluation context
35
+ */
36
+ typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
37
+ typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
38
+
39
+ #ifdef __cplusplus
40
+ }
41
+ #endif
42
+ #include <libxml/tree.h>
43
+ #include <libxml/dict.h>
44
+ #ifdef __cplusplus
45
+ extern "C" {
46
+ #endif
47
+
48
+ /*
49
+ * The POSIX like API
50
+ */
51
+ XMLPUBFUN xmlRegexpPtr XMLCALL
52
+ xmlRegexpCompile (const xmlChar *regexp);
53
+ XMLPUBFUN void XMLCALL xmlRegFreeRegexp(xmlRegexpPtr regexp);
54
+ XMLPUBFUN int XMLCALL
55
+ xmlRegexpExec (xmlRegexpPtr comp,
56
+ const xmlChar *value);
57
+ XMLPUBFUN void XMLCALL
58
+ xmlRegexpPrint (FILE *output,
59
+ xmlRegexpPtr regexp);
60
+ XMLPUBFUN int XMLCALL
61
+ xmlRegexpIsDeterminist(xmlRegexpPtr comp);
62
+
63
+ /**
64
+ * xmlRegExecCallbacks:
65
+ * @exec: the regular expression context
66
+ * @token: the current token string
67
+ * @transdata: transition data
68
+ * @inputdata: input data
69
+ *
70
+ * Callback function when doing a transition in the automata
71
+ */
72
+ typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
73
+ const xmlChar *token,
74
+ void *transdata,
75
+ void *inputdata);
76
+
77
+ /*
78
+ * The progressive API
79
+ */
80
+ XMLPUBFUN xmlRegExecCtxtPtr XMLCALL
81
+ xmlRegNewExecCtxt (xmlRegexpPtr comp,
82
+ xmlRegExecCallbacks callback,
83
+ void *data);
84
+ XMLPUBFUN void XMLCALL
85
+ xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
86
+ XMLPUBFUN int XMLCALL
87
+ xmlRegExecPushString(xmlRegExecCtxtPtr exec,
88
+ const xmlChar *value,
89
+ void *data);
90
+ XMLPUBFUN int XMLCALL
91
+ xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
92
+ const xmlChar *value,
93
+ const xmlChar *value2,
94
+ void *data);
95
+
96
+ XMLPUBFUN int XMLCALL
97
+ xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
98
+ int *nbval,
99
+ int *nbneg,
100
+ xmlChar **values,
101
+ int *terminal);
102
+ XMLPUBFUN int XMLCALL
103
+ xmlRegExecErrInfo (xmlRegExecCtxtPtr exec,
104
+ const xmlChar **string,
105
+ int *nbval,
106
+ int *nbneg,
107
+ xmlChar **values,
108
+ int *terminal);
109
+ #ifdef LIBXML_EXPR_ENABLED
110
+ /*
111
+ * Formal regular expression handling
112
+ * Its goal is to do some formal work on content models
113
+ */
114
+
115
+ /* expressions are used within a context */
116
+ typedef struct _xmlExpCtxt xmlExpCtxt;
117
+ typedef xmlExpCtxt *xmlExpCtxtPtr;
118
+
119
+ XMLPUBFUN void XMLCALL
120
+ xmlExpFreeCtxt (xmlExpCtxtPtr ctxt);
121
+ XMLPUBFUN xmlExpCtxtPtr XMLCALL
122
+ xmlExpNewCtxt (int maxNodes,
123
+ xmlDictPtr dict);
124
+
125
+ XMLPUBFUN int XMLCALL
126
+ xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);
127
+ XMLPUBFUN int XMLCALL
128
+ xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);
129
+
130
+ /* Expressions are trees but the tree is opaque */
131
+ typedef struct _xmlExpNode xmlExpNode;
132
+ typedef xmlExpNode *xmlExpNodePtr;
133
+
134
+ typedef enum {
135
+ XML_EXP_EMPTY = 0,
136
+ XML_EXP_FORBID = 1,
137
+ XML_EXP_ATOM = 2,
138
+ XML_EXP_SEQ = 3,
139
+ XML_EXP_OR = 4,
140
+ XML_EXP_COUNT = 5
141
+ } xmlExpNodeType;
142
+
143
+ /*
144
+ * 2 core expressions shared by all for the empty language set
145
+ * and for the set with just the empty token
146
+ */
147
+ XMLPUBVAR xmlExpNodePtr forbiddenExp;
148
+ XMLPUBVAR xmlExpNodePtr emptyExp;
149
+
150
+ /*
151
+ * Expressions are reference counted internally
152
+ */
153
+ XMLPUBFUN void XMLCALL
154
+ xmlExpFree (xmlExpCtxtPtr ctxt,
155
+ xmlExpNodePtr expr);
156
+ XMLPUBFUN void XMLCALL
157
+ xmlExpRef (xmlExpNodePtr expr);
158
+
159
+ /*
160
+ * constructors can be either manual or from a string
161
+ */
162
+ XMLPUBFUN xmlExpNodePtr XMLCALL
163
+ xmlExpParse (xmlExpCtxtPtr ctxt,
164
+ const char *expr);
165
+ XMLPUBFUN xmlExpNodePtr XMLCALL
166
+ xmlExpNewAtom (xmlExpCtxtPtr ctxt,
167
+ const xmlChar *name,
168
+ int len);
169
+ XMLPUBFUN xmlExpNodePtr XMLCALL
170
+ xmlExpNewOr (xmlExpCtxtPtr ctxt,
171
+ xmlExpNodePtr left,
172
+ xmlExpNodePtr right);
173
+ XMLPUBFUN xmlExpNodePtr XMLCALL
174
+ xmlExpNewSeq (xmlExpCtxtPtr ctxt,
175
+ xmlExpNodePtr left,
176
+ xmlExpNodePtr right);
177
+ XMLPUBFUN xmlExpNodePtr XMLCALL
178
+ xmlExpNewRange (xmlExpCtxtPtr ctxt,
179
+ xmlExpNodePtr subset,
180
+ int min,
181
+ int max);
182
+ /*
183
+ * The really interesting APIs
184
+ */
185
+ XMLPUBFUN int XMLCALL
186
+ xmlExpIsNillable(xmlExpNodePtr expr);
187
+ XMLPUBFUN int XMLCALL
188
+ xmlExpMaxToken (xmlExpNodePtr expr);
189
+ XMLPUBFUN int XMLCALL
190
+ xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
191
+ xmlExpNodePtr expr,
192
+ const xmlChar**langList,
193
+ int len);
194
+ XMLPUBFUN int XMLCALL
195
+ xmlExpGetStart (xmlExpCtxtPtr ctxt,
196
+ xmlExpNodePtr expr,
197
+ const xmlChar**tokList,
198
+ int len);
199
+ XMLPUBFUN xmlExpNodePtr XMLCALL
200
+ xmlExpStringDerive(xmlExpCtxtPtr ctxt,
201
+ xmlExpNodePtr expr,
202
+ const xmlChar *str,
203
+ int len);
204
+ XMLPUBFUN xmlExpNodePtr XMLCALL
205
+ xmlExpExpDerive (xmlExpCtxtPtr ctxt,
206
+ xmlExpNodePtr expr,
207
+ xmlExpNodePtr sub);
208
+ XMLPUBFUN int XMLCALL
209
+ xmlExpSubsume (xmlExpCtxtPtr ctxt,
210
+ xmlExpNodePtr expr,
211
+ xmlExpNodePtr sub);
212
+ XMLPUBFUN void XMLCALL
213
+ xmlExpDump (xmlBufferPtr buf,
214
+ xmlExpNodePtr expr);
215
+ #endif /* LIBXML_EXPR_ENABLED */
216
+ #ifdef __cplusplus
217
+ }
218
+ #endif
219
+
220
+ #endif /* LIBXML_REGEXP_ENABLED */
221
+
222
+ #endif /*__XML_REGEXP_H__ */