nokogiri 1.18.0-aarch64-linux-gnu

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

Potentially problematic release.


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

Files changed (203) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +39 -0
  3. data/LICENSE-DEPENDENCIES.md +2224 -0
  4. data/LICENSE.md +9 -0
  5. data/README.md +293 -0
  6. data/bin/nokogiri +131 -0
  7. data/dependencies.yml +42 -0
  8. data/ext/nokogiri/depend +38 -0
  9. data/ext/nokogiri/extconf.rb +1173 -0
  10. data/ext/nokogiri/gumbo.c +610 -0
  11. data/ext/nokogiri/html4_document.c +171 -0
  12. data/ext/nokogiri/html4_element_description.c +299 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser.c +40 -0
  15. data/ext/nokogiri/html4_sax_parser_context.c +98 -0
  16. data/ext/nokogiri/html4_sax_push_parser.c +96 -0
  17. data/ext/nokogiri/include/libexslt/exslt.h +108 -0
  18. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  19. data/ext/nokogiri/include/libexslt/exsltexports.h +63 -0
  20. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +336 -0
  21. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX.h +202 -0
  23. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +171 -0
  24. data/ext/nokogiri/include/libxml2/libxml/c14n.h +115 -0
  25. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  26. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  27. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  28. data/ext/nokogiri/include/libxml2/libxml/dict.h +82 -0
  29. data/ext/nokogiri/include/libxml2/libxml/encoding.h +244 -0
  30. data/ext/nokogiri/include/libxml2/libxml/entities.h +166 -0
  31. data/ext/nokogiri/include/libxml2/libxml/globals.h +41 -0
  32. data/ext/nokogiri/include/libxml2/libxml/hash.h +251 -0
  33. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +186 -0
  35. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +98 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parser.h +1390 -0
  37. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +671 -0
  38. data/ext/nokogiri/include/libxml2/libxml/pattern.h +106 -0
  39. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +219 -0
  40. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +959 -0
  41. data/ext/nokogiri/include/libxml2/libxml/schematron.h +143 -0
  42. data/ext/nokogiri/include/libxml2/libxml/threads.h +87 -0
  43. data/ext/nokogiri/include/libxml2/libxml/tree.h +1382 -0
  44. data/ext/nokogiri/include/libxml2/libxml/uri.h +106 -0
  45. data/ext/nokogiri/include/libxml2/libxml/valid.h +477 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +136 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +438 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +962 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +146 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +188 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +436 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +215 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +102 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +249 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +152 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +366 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +347 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +489 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpath.h +579 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +633 -0
  65. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +138 -0
  66. data/ext/nokogiri/include/libxslt/attributes.h +39 -0
  67. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  68. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  69. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  70. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  71. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  72. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  73. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  74. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  75. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  76. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  77. data/ext/nokogiri/include/libxslt/security.h +104 -0
  78. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  79. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  80. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  81. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  82. data/ext/nokogiri/include/libxslt/xsltInternals.h +1995 -0
  83. data/ext/nokogiri/include/libxslt/xsltconfig.h +146 -0
  84. data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
  85. data/ext/nokogiri/include/libxslt/xsltlocale.h +44 -0
  86. data/ext/nokogiri/include/libxslt/xsltutils.h +343 -0
  87. data/ext/nokogiri/libxml2_polyfill.c +114 -0
  88. data/ext/nokogiri/nokogiri.c +294 -0
  89. data/ext/nokogiri/nokogiri.h +238 -0
  90. data/ext/nokogiri/test_global_handlers.c +40 -0
  91. data/ext/nokogiri/xml_attr.c +103 -0
  92. data/ext/nokogiri/xml_attribute_decl.c +70 -0
  93. data/ext/nokogiri/xml_cdata.c +62 -0
  94. data/ext/nokogiri/xml_comment.c +57 -0
  95. data/ext/nokogiri/xml_document.c +784 -0
  96. data/ext/nokogiri/xml_document_fragment.c +29 -0
  97. data/ext/nokogiri/xml_dtd.c +208 -0
  98. data/ext/nokogiri/xml_element_content.c +131 -0
  99. data/ext/nokogiri/xml_element_decl.c +69 -0
  100. data/ext/nokogiri/xml_encoding_handler.c +112 -0
  101. data/ext/nokogiri/xml_entity_decl.c +112 -0
  102. data/ext/nokogiri/xml_entity_reference.c +50 -0
  103. data/ext/nokogiri/xml_namespace.c +181 -0
  104. data/ext/nokogiri/xml_node.c +2459 -0
  105. data/ext/nokogiri/xml_node_set.c +518 -0
  106. data/ext/nokogiri/xml_processing_instruction.c +54 -0
  107. data/ext/nokogiri/xml_reader.c +777 -0
  108. data/ext/nokogiri/xml_relax_ng.c +149 -0
  109. data/ext/nokogiri/xml_sax_parser.c +403 -0
  110. data/ext/nokogiri/xml_sax_parser_context.c +390 -0
  111. data/ext/nokogiri/xml_sax_push_parser.c +206 -0
  112. data/ext/nokogiri/xml_schema.c +226 -0
  113. data/ext/nokogiri/xml_syntax_error.c +93 -0
  114. data/ext/nokogiri/xml_text.c +59 -0
  115. data/ext/nokogiri/xml_xpath_context.c +486 -0
  116. data/ext/nokogiri/xslt_stylesheet.c +421 -0
  117. data/gumbo-parser/CHANGES.md +63 -0
  118. data/gumbo-parser/Makefile +129 -0
  119. data/gumbo-parser/THANKS +27 -0
  120. data/lib/nokogiri/3.1/nokogiri.so +0 -0
  121. data/lib/nokogiri/3.2/nokogiri.so +0 -0
  122. data/lib/nokogiri/3.3/nokogiri.so +0 -0
  123. data/lib/nokogiri/3.4/nokogiri.so +0 -0
  124. data/lib/nokogiri/class_resolver.rb +67 -0
  125. data/lib/nokogiri/css/node.rb +58 -0
  126. data/lib/nokogiri/css/parser.rb +772 -0
  127. data/lib/nokogiri/css/parser.y +277 -0
  128. data/lib/nokogiri/css/parser_extras.rb +36 -0
  129. data/lib/nokogiri/css/selector_cache.rb +38 -0
  130. data/lib/nokogiri/css/syntax_error.rb +9 -0
  131. data/lib/nokogiri/css/tokenizer.rb +155 -0
  132. data/lib/nokogiri/css/tokenizer.rex +57 -0
  133. data/lib/nokogiri/css/xpath_visitor.rb +375 -0
  134. data/lib/nokogiri/css.rb +132 -0
  135. data/lib/nokogiri/decorators/slop.rb +42 -0
  136. data/lib/nokogiri/encoding_handler.rb +57 -0
  137. data/lib/nokogiri/extension.rb +32 -0
  138. data/lib/nokogiri/gumbo.rb +15 -0
  139. data/lib/nokogiri/html.rb +48 -0
  140. data/lib/nokogiri/html4/builder.rb +37 -0
  141. data/lib/nokogiri/html4/document.rb +235 -0
  142. data/lib/nokogiri/html4/document_fragment.rb +166 -0
  143. data/lib/nokogiri/html4/element_description.rb +25 -0
  144. data/lib/nokogiri/html4/element_description_defaults.rb +2040 -0
  145. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  146. data/lib/nokogiri/html4/entity_lookup.rb +15 -0
  147. data/lib/nokogiri/html4/sax/parser.rb +48 -0
  148. data/lib/nokogiri/html4/sax/parser_context.rb +15 -0
  149. data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
  150. data/lib/nokogiri/html4.rb +42 -0
  151. data/lib/nokogiri/html5/builder.rb +40 -0
  152. data/lib/nokogiri/html5/document.rb +199 -0
  153. data/lib/nokogiri/html5/document_fragment.rb +200 -0
  154. data/lib/nokogiri/html5/node.rb +103 -0
  155. data/lib/nokogiri/html5.rb +368 -0
  156. data/lib/nokogiri/jruby/dependencies.rb +3 -0
  157. data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
  158. data/lib/nokogiri/syntax_error.rb +6 -0
  159. data/lib/nokogiri/version/constant.rb +6 -0
  160. data/lib/nokogiri/version/info.rb +224 -0
  161. data/lib/nokogiri/version.rb +4 -0
  162. data/lib/nokogiri/xml/attr.rb +66 -0
  163. data/lib/nokogiri/xml/attribute_decl.rb +22 -0
  164. data/lib/nokogiri/xml/builder.rb +494 -0
  165. data/lib/nokogiri/xml/cdata.rb +13 -0
  166. data/lib/nokogiri/xml/character_data.rb +9 -0
  167. data/lib/nokogiri/xml/document.rb +514 -0
  168. data/lib/nokogiri/xml/document_fragment.rb +276 -0
  169. data/lib/nokogiri/xml/dtd.rb +34 -0
  170. data/lib/nokogiri/xml/element_content.rb +46 -0
  171. data/lib/nokogiri/xml/element_decl.rb +17 -0
  172. data/lib/nokogiri/xml/entity_decl.rb +23 -0
  173. data/lib/nokogiri/xml/entity_reference.rb +20 -0
  174. data/lib/nokogiri/xml/namespace.rb +57 -0
  175. data/lib/nokogiri/xml/node/save_options.rb +76 -0
  176. data/lib/nokogiri/xml/node.rb +1650 -0
  177. data/lib/nokogiri/xml/node_set.rb +449 -0
  178. data/lib/nokogiri/xml/notation.rb +19 -0
  179. data/lib/nokogiri/xml/parse_options.rb +213 -0
  180. data/lib/nokogiri/xml/pp/character_data.rb +21 -0
  181. data/lib/nokogiri/xml/pp/node.rb +73 -0
  182. data/lib/nokogiri/xml/pp.rb +4 -0
  183. data/lib/nokogiri/xml/processing_instruction.rb +11 -0
  184. data/lib/nokogiri/xml/reader.rb +139 -0
  185. data/lib/nokogiri/xml/relax_ng.rb +75 -0
  186. data/lib/nokogiri/xml/sax/document.rb +258 -0
  187. data/lib/nokogiri/xml/sax/parser.rb +199 -0
  188. data/lib/nokogiri/xml/sax/parser_context.rb +129 -0
  189. data/lib/nokogiri/xml/sax/push_parser.rb +64 -0
  190. data/lib/nokogiri/xml/sax.rb +54 -0
  191. data/lib/nokogiri/xml/schema.rb +140 -0
  192. data/lib/nokogiri/xml/searchable.rb +274 -0
  193. data/lib/nokogiri/xml/syntax_error.rb +94 -0
  194. data/lib/nokogiri/xml/text.rb +11 -0
  195. data/lib/nokogiri/xml/xpath/syntax_error.rb +13 -0
  196. data/lib/nokogiri/xml/xpath.rb +21 -0
  197. data/lib/nokogiri/xml/xpath_context.rb +27 -0
  198. data/lib/nokogiri/xml.rb +65 -0
  199. data/lib/nokogiri/xslt/stylesheet.rb +49 -0
  200. data/lib/nokogiri/xslt.rb +129 -0
  201. data/lib/nokogiri.rb +128 -0
  202. data/lib/xsd/xmlparser/nokogiri.rb +105 -0
  203. metadata +321 -0
@@ -0,0 +1,436 @@
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/xmlerror.h>
16
+ #include <libxml/xmlIO.h>
17
+ #ifdef LIBXML_SCHEMAS_ENABLED
18
+ #include <libxml/relaxng.h>
19
+ #include <libxml/xmlschemas.h>
20
+ #endif
21
+ /* for compatibility */
22
+ #include <libxml/parser.h>
23
+
24
+ #ifdef __cplusplus
25
+ extern "C" {
26
+ #endif
27
+
28
+ /**
29
+ * xmlParserSeverities:
30
+ *
31
+ * How severe an error callback is when the per-reader error callback API
32
+ * is used.
33
+ */
34
+ typedef enum {
35
+ XML_PARSER_SEVERITY_VALIDITY_WARNING = 1,
36
+ XML_PARSER_SEVERITY_VALIDITY_ERROR = 2,
37
+ XML_PARSER_SEVERITY_WARNING = 3,
38
+ XML_PARSER_SEVERITY_ERROR = 4
39
+ } xmlParserSeverities;
40
+
41
+ #ifdef LIBXML_READER_ENABLED
42
+
43
+ /**
44
+ * xmlTextReaderMode:
45
+ *
46
+ * Internal state values for the reader.
47
+ */
48
+ typedef enum {
49
+ XML_TEXTREADER_MODE_INITIAL = 0,
50
+ XML_TEXTREADER_MODE_INTERACTIVE = 1,
51
+ XML_TEXTREADER_MODE_ERROR = 2,
52
+ XML_TEXTREADER_MODE_EOF =3,
53
+ XML_TEXTREADER_MODE_CLOSED = 4,
54
+ XML_TEXTREADER_MODE_READING = 5
55
+ } xmlTextReaderMode;
56
+
57
+ /**
58
+ * xmlParserProperties:
59
+ *
60
+ * Some common options to use with xmlTextReaderSetParserProp, but it
61
+ * is better to use xmlParserOption and the xmlReaderNewxxx and
62
+ * xmlReaderForxxx APIs now.
63
+ */
64
+ typedef enum {
65
+ XML_PARSER_LOADDTD = 1,
66
+ XML_PARSER_DEFAULTATTRS = 2,
67
+ XML_PARSER_VALIDATE = 3,
68
+ XML_PARSER_SUBST_ENTITIES = 4
69
+ } xmlParserProperties;
70
+
71
+ /**
72
+ * xmlReaderTypes:
73
+ *
74
+ * Predefined constants for the different types of nodes.
75
+ */
76
+ typedef enum {
77
+ XML_READER_TYPE_NONE = 0,
78
+ XML_READER_TYPE_ELEMENT = 1,
79
+ XML_READER_TYPE_ATTRIBUTE = 2,
80
+ XML_READER_TYPE_TEXT = 3,
81
+ XML_READER_TYPE_CDATA = 4,
82
+ XML_READER_TYPE_ENTITY_REFERENCE = 5,
83
+ XML_READER_TYPE_ENTITY = 6,
84
+ XML_READER_TYPE_PROCESSING_INSTRUCTION = 7,
85
+ XML_READER_TYPE_COMMENT = 8,
86
+ XML_READER_TYPE_DOCUMENT = 9,
87
+ XML_READER_TYPE_DOCUMENT_TYPE = 10,
88
+ XML_READER_TYPE_DOCUMENT_FRAGMENT = 11,
89
+ XML_READER_TYPE_NOTATION = 12,
90
+ XML_READER_TYPE_WHITESPACE = 13,
91
+ XML_READER_TYPE_SIGNIFICANT_WHITESPACE = 14,
92
+ XML_READER_TYPE_END_ELEMENT = 15,
93
+ XML_READER_TYPE_END_ENTITY = 16,
94
+ XML_READER_TYPE_XML_DECLARATION = 17
95
+ } xmlReaderTypes;
96
+
97
+ /**
98
+ * xmlTextReader:
99
+ *
100
+ * Structure for an xmlReader context.
101
+ */
102
+ typedef struct _xmlTextReader xmlTextReader;
103
+
104
+ /**
105
+ * xmlTextReaderPtr:
106
+ *
107
+ * Pointer to an xmlReader context.
108
+ */
109
+ typedef xmlTextReader *xmlTextReaderPtr;
110
+
111
+ /*
112
+ * Constructors & Destructor
113
+ */
114
+ XMLPUBFUN xmlTextReaderPtr
115
+ xmlNewTextReader (xmlParserInputBufferPtr input,
116
+ const char *URI);
117
+ XMLPUBFUN xmlTextReaderPtr
118
+ xmlNewTextReaderFilename(const char *URI);
119
+
120
+ XMLPUBFUN void
121
+ xmlFreeTextReader (xmlTextReaderPtr reader);
122
+
123
+ XMLPUBFUN int
124
+ xmlTextReaderSetup(xmlTextReaderPtr reader,
125
+ xmlParserInputBufferPtr input, const char *URL,
126
+ const char *encoding, int options);
127
+ XMLPUBFUN void
128
+ xmlTextReaderSetMaxAmplification(xmlTextReaderPtr reader,
129
+ unsigned maxAmpl);
130
+ XMLPUBFUN const xmlError *
131
+ xmlTextReaderGetLastError(xmlTextReaderPtr reader);
132
+
133
+ /*
134
+ * Iterators
135
+ */
136
+ XMLPUBFUN int
137
+ xmlTextReaderRead (xmlTextReaderPtr reader);
138
+
139
+ #ifdef LIBXML_WRITER_ENABLED
140
+ XMLPUBFUN xmlChar *
141
+ xmlTextReaderReadInnerXml(xmlTextReaderPtr reader);
142
+
143
+ XMLPUBFUN xmlChar *
144
+ xmlTextReaderReadOuterXml(xmlTextReaderPtr reader);
145
+ #endif
146
+
147
+ XMLPUBFUN xmlChar *
148
+ xmlTextReaderReadString (xmlTextReaderPtr reader);
149
+ XMLPUBFUN int
150
+ xmlTextReaderReadAttributeValue(xmlTextReaderPtr reader);
151
+
152
+ /*
153
+ * Attributes of the node
154
+ */
155
+ XMLPUBFUN int
156
+ xmlTextReaderAttributeCount(xmlTextReaderPtr reader);
157
+ XMLPUBFUN int
158
+ xmlTextReaderDepth (xmlTextReaderPtr reader);
159
+ XMLPUBFUN int
160
+ xmlTextReaderHasAttributes(xmlTextReaderPtr reader);
161
+ XMLPUBFUN int
162
+ xmlTextReaderHasValue(xmlTextReaderPtr reader);
163
+ XMLPUBFUN int
164
+ xmlTextReaderIsDefault (xmlTextReaderPtr reader);
165
+ XMLPUBFUN int
166
+ xmlTextReaderIsEmptyElement(xmlTextReaderPtr reader);
167
+ XMLPUBFUN int
168
+ xmlTextReaderNodeType (xmlTextReaderPtr reader);
169
+ XMLPUBFUN int
170
+ xmlTextReaderQuoteChar (xmlTextReaderPtr reader);
171
+ XMLPUBFUN int
172
+ xmlTextReaderReadState (xmlTextReaderPtr reader);
173
+ XMLPUBFUN int
174
+ xmlTextReaderIsNamespaceDecl(xmlTextReaderPtr reader);
175
+
176
+ XMLPUBFUN const xmlChar *
177
+ xmlTextReaderConstBaseUri (xmlTextReaderPtr reader);
178
+ XMLPUBFUN const xmlChar *
179
+ xmlTextReaderConstLocalName (xmlTextReaderPtr reader);
180
+ XMLPUBFUN const xmlChar *
181
+ xmlTextReaderConstName (xmlTextReaderPtr reader);
182
+ XMLPUBFUN const xmlChar *
183
+ xmlTextReaderConstNamespaceUri(xmlTextReaderPtr reader);
184
+ XMLPUBFUN const xmlChar *
185
+ xmlTextReaderConstPrefix (xmlTextReaderPtr reader);
186
+ XMLPUBFUN const xmlChar *
187
+ xmlTextReaderConstXmlLang (xmlTextReaderPtr reader);
188
+ XMLPUBFUN const xmlChar *
189
+ xmlTextReaderConstString (xmlTextReaderPtr reader,
190
+ const xmlChar *str);
191
+ XMLPUBFUN const xmlChar *
192
+ xmlTextReaderConstValue (xmlTextReaderPtr reader);
193
+
194
+ /*
195
+ * use the Const version of the routine for
196
+ * better performance and simpler code
197
+ */
198
+ XMLPUBFUN xmlChar *
199
+ xmlTextReaderBaseUri (xmlTextReaderPtr reader);
200
+ XMLPUBFUN xmlChar *
201
+ xmlTextReaderLocalName (xmlTextReaderPtr reader);
202
+ XMLPUBFUN xmlChar *
203
+ xmlTextReaderName (xmlTextReaderPtr reader);
204
+ XMLPUBFUN xmlChar *
205
+ xmlTextReaderNamespaceUri(xmlTextReaderPtr reader);
206
+ XMLPUBFUN xmlChar *
207
+ xmlTextReaderPrefix (xmlTextReaderPtr reader);
208
+ XMLPUBFUN xmlChar *
209
+ xmlTextReaderXmlLang (xmlTextReaderPtr reader);
210
+ XMLPUBFUN xmlChar *
211
+ xmlTextReaderValue (xmlTextReaderPtr reader);
212
+
213
+ /*
214
+ * Methods of the XmlTextReader
215
+ */
216
+ XMLPUBFUN int
217
+ xmlTextReaderClose (xmlTextReaderPtr reader);
218
+ XMLPUBFUN xmlChar *
219
+ xmlTextReaderGetAttributeNo (xmlTextReaderPtr reader,
220
+ int no);
221
+ XMLPUBFUN xmlChar *
222
+ xmlTextReaderGetAttribute (xmlTextReaderPtr reader,
223
+ const xmlChar *name);
224
+ XMLPUBFUN xmlChar *
225
+ xmlTextReaderGetAttributeNs (xmlTextReaderPtr reader,
226
+ const xmlChar *localName,
227
+ const xmlChar *namespaceURI);
228
+ XMLPUBFUN xmlParserInputBufferPtr
229
+ xmlTextReaderGetRemainder (xmlTextReaderPtr reader);
230
+ XMLPUBFUN xmlChar *
231
+ xmlTextReaderLookupNamespace(xmlTextReaderPtr reader,
232
+ const xmlChar *prefix);
233
+ XMLPUBFUN int
234
+ xmlTextReaderMoveToAttributeNo(xmlTextReaderPtr reader,
235
+ int no);
236
+ XMLPUBFUN int
237
+ xmlTextReaderMoveToAttribute(xmlTextReaderPtr reader,
238
+ const xmlChar *name);
239
+ XMLPUBFUN int
240
+ xmlTextReaderMoveToAttributeNs(xmlTextReaderPtr reader,
241
+ const xmlChar *localName,
242
+ const xmlChar *namespaceURI);
243
+ XMLPUBFUN int
244
+ xmlTextReaderMoveToFirstAttribute(xmlTextReaderPtr reader);
245
+ XMLPUBFUN int
246
+ xmlTextReaderMoveToNextAttribute(xmlTextReaderPtr reader);
247
+ XMLPUBFUN int
248
+ xmlTextReaderMoveToElement (xmlTextReaderPtr reader);
249
+ XMLPUBFUN int
250
+ xmlTextReaderNormalization (xmlTextReaderPtr reader);
251
+ XMLPUBFUN const xmlChar *
252
+ xmlTextReaderConstEncoding (xmlTextReaderPtr reader);
253
+
254
+ /*
255
+ * Extensions
256
+ */
257
+ XMLPUBFUN int
258
+ xmlTextReaderSetParserProp (xmlTextReaderPtr reader,
259
+ int prop,
260
+ int value);
261
+ XMLPUBFUN int
262
+ xmlTextReaderGetParserProp (xmlTextReaderPtr reader,
263
+ int prop);
264
+ XMLPUBFUN xmlNodePtr
265
+ xmlTextReaderCurrentNode (xmlTextReaderPtr reader);
266
+
267
+ XMLPUBFUN int
268
+ xmlTextReaderGetParserLineNumber(xmlTextReaderPtr reader);
269
+
270
+ XMLPUBFUN int
271
+ xmlTextReaderGetParserColumnNumber(xmlTextReaderPtr reader);
272
+
273
+ XMLPUBFUN xmlNodePtr
274
+ xmlTextReaderPreserve (xmlTextReaderPtr reader);
275
+ #ifdef LIBXML_PATTERN_ENABLED
276
+ XMLPUBFUN int
277
+ xmlTextReaderPreservePattern(xmlTextReaderPtr reader,
278
+ const xmlChar *pattern,
279
+ const xmlChar **namespaces);
280
+ #endif /* LIBXML_PATTERN_ENABLED */
281
+ XMLPUBFUN xmlDocPtr
282
+ xmlTextReaderCurrentDoc (xmlTextReaderPtr reader);
283
+ XMLPUBFUN xmlNodePtr
284
+ xmlTextReaderExpand (xmlTextReaderPtr reader);
285
+ XMLPUBFUN int
286
+ xmlTextReaderNext (xmlTextReaderPtr reader);
287
+ XMLPUBFUN int
288
+ xmlTextReaderNextSibling (xmlTextReaderPtr reader);
289
+ XMLPUBFUN int
290
+ xmlTextReaderIsValid (xmlTextReaderPtr reader);
291
+ #ifdef LIBXML_SCHEMAS_ENABLED
292
+ XMLPUBFUN int
293
+ xmlTextReaderRelaxNGValidate(xmlTextReaderPtr reader,
294
+ const char *rng);
295
+ XMLPUBFUN int
296
+ xmlTextReaderRelaxNGValidateCtxt(xmlTextReaderPtr reader,
297
+ xmlRelaxNGValidCtxtPtr ctxt,
298
+ int options);
299
+
300
+ XMLPUBFUN int
301
+ xmlTextReaderRelaxNGSetSchema(xmlTextReaderPtr reader,
302
+ xmlRelaxNGPtr schema);
303
+ XMLPUBFUN int
304
+ xmlTextReaderSchemaValidate (xmlTextReaderPtr reader,
305
+ const char *xsd);
306
+ XMLPUBFUN int
307
+ xmlTextReaderSchemaValidateCtxt(xmlTextReaderPtr reader,
308
+ xmlSchemaValidCtxtPtr ctxt,
309
+ int options);
310
+ XMLPUBFUN int
311
+ xmlTextReaderSetSchema (xmlTextReaderPtr reader,
312
+ xmlSchemaPtr schema);
313
+ #endif
314
+ XMLPUBFUN const xmlChar *
315
+ xmlTextReaderConstXmlVersion(xmlTextReaderPtr reader);
316
+ XMLPUBFUN int
317
+ xmlTextReaderStandalone (xmlTextReaderPtr reader);
318
+
319
+
320
+ /*
321
+ * Index lookup
322
+ */
323
+ XMLPUBFUN long
324
+ xmlTextReaderByteConsumed (xmlTextReaderPtr reader);
325
+
326
+ /*
327
+ * New more complete APIs for simpler creation and reuse of readers
328
+ */
329
+ XMLPUBFUN xmlTextReaderPtr
330
+ xmlReaderWalker (xmlDocPtr doc);
331
+ XMLPUBFUN xmlTextReaderPtr
332
+ xmlReaderForDoc (const xmlChar * cur,
333
+ const char *URL,
334
+ const char *encoding,
335
+ int options);
336
+ XMLPUBFUN xmlTextReaderPtr
337
+ xmlReaderForFile (const char *filename,
338
+ const char *encoding,
339
+ int options);
340
+ XMLPUBFUN xmlTextReaderPtr
341
+ xmlReaderForMemory (const char *buffer,
342
+ int size,
343
+ const char *URL,
344
+ const char *encoding,
345
+ int options);
346
+ XMLPUBFUN xmlTextReaderPtr
347
+ xmlReaderForFd (int fd,
348
+ const char *URL,
349
+ const char *encoding,
350
+ int options);
351
+ XMLPUBFUN xmlTextReaderPtr
352
+ xmlReaderForIO (xmlInputReadCallback ioread,
353
+ xmlInputCloseCallback ioclose,
354
+ void *ioctx,
355
+ const char *URL,
356
+ const char *encoding,
357
+ int options);
358
+
359
+ XMLPUBFUN int
360
+ xmlReaderNewWalker (xmlTextReaderPtr reader,
361
+ xmlDocPtr doc);
362
+ XMLPUBFUN int
363
+ xmlReaderNewDoc (xmlTextReaderPtr reader,
364
+ const xmlChar * cur,
365
+ const char *URL,
366
+ const char *encoding,
367
+ int options);
368
+ XMLPUBFUN int
369
+ xmlReaderNewFile (xmlTextReaderPtr reader,
370
+ const char *filename,
371
+ const char *encoding,
372
+ int options);
373
+ XMLPUBFUN int
374
+ xmlReaderNewMemory (xmlTextReaderPtr reader,
375
+ const char *buffer,
376
+ int size,
377
+ const char *URL,
378
+ const char *encoding,
379
+ int options);
380
+ XMLPUBFUN int
381
+ xmlReaderNewFd (xmlTextReaderPtr reader,
382
+ int fd,
383
+ const char *URL,
384
+ const char *encoding,
385
+ int options);
386
+ XMLPUBFUN int
387
+ xmlReaderNewIO (xmlTextReaderPtr reader,
388
+ xmlInputReadCallback ioread,
389
+ xmlInputCloseCallback ioclose,
390
+ void *ioctx,
391
+ const char *URL,
392
+ const char *encoding,
393
+ int options);
394
+ /*
395
+ * Error handling extensions
396
+ */
397
+ typedef void * xmlTextReaderLocatorPtr;
398
+
399
+ /**
400
+ * xmlTextReaderErrorFunc:
401
+ * @arg: the user argument
402
+ * @msg: the message
403
+ * @severity: the severity of the error
404
+ * @locator: a locator indicating where the error occurred
405
+ *
406
+ * Signature of an error callback from a reader parser
407
+ */
408
+ typedef void (*xmlTextReaderErrorFunc)(void *arg,
409
+ const char *msg,
410
+ xmlParserSeverities severity,
411
+ xmlTextReaderLocatorPtr locator);
412
+ XMLPUBFUN int
413
+ xmlTextReaderLocatorLineNumber(xmlTextReaderLocatorPtr locator);
414
+ XMLPUBFUN xmlChar *
415
+ xmlTextReaderLocatorBaseURI (xmlTextReaderLocatorPtr locator);
416
+ XMLPUBFUN void
417
+ xmlTextReaderSetErrorHandler(xmlTextReaderPtr reader,
418
+ xmlTextReaderErrorFunc f,
419
+ void *arg);
420
+ XMLPUBFUN void
421
+ xmlTextReaderSetStructuredErrorHandler(xmlTextReaderPtr reader,
422
+ xmlStructuredErrorFunc f,
423
+ void *arg);
424
+ XMLPUBFUN void
425
+ xmlTextReaderGetErrorHandler(xmlTextReaderPtr reader,
426
+ xmlTextReaderErrorFunc *f,
427
+ void **arg);
428
+
429
+ #endif /* LIBXML_READER_ENABLED */
430
+
431
+ #ifdef __cplusplus
432
+ }
433
+ #endif
434
+
435
+ #endif /* __XML_XMLREADER_H__ */
436
+
@@ -0,0 +1,215 @@
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 <stdio.h>
15
+ #include <libxml/xmlversion.h>
16
+ #include <libxml/xmlstring.h>
17
+
18
+ #ifdef LIBXML_REGEXP_ENABLED
19
+
20
+ #ifdef __cplusplus
21
+ extern "C" {
22
+ #endif
23
+
24
+ /**
25
+ * xmlRegexpPtr:
26
+ *
27
+ * A libxml regular expression, they can actually be far more complex
28
+ * thank the POSIX regex expressions.
29
+ */
30
+ typedef struct _xmlRegexp xmlRegexp;
31
+ typedef xmlRegexp *xmlRegexpPtr;
32
+
33
+ /**
34
+ * xmlRegExecCtxtPtr:
35
+ *
36
+ * A libxml progressive regular expression evaluation context
37
+ */
38
+ typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
39
+ typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
40
+
41
+ /*
42
+ * The POSIX like API
43
+ */
44
+ XMLPUBFUN xmlRegexpPtr
45
+ xmlRegexpCompile (const xmlChar *regexp);
46
+ XMLPUBFUN void xmlRegFreeRegexp(xmlRegexpPtr regexp);
47
+ XMLPUBFUN int
48
+ xmlRegexpExec (xmlRegexpPtr comp,
49
+ const xmlChar *value);
50
+ XMLPUBFUN void
51
+ xmlRegexpPrint (FILE *output,
52
+ xmlRegexpPtr regexp);
53
+ XMLPUBFUN int
54
+ xmlRegexpIsDeterminist(xmlRegexpPtr comp);
55
+
56
+ /**
57
+ * xmlRegExecCallbacks:
58
+ * @exec: the regular expression context
59
+ * @token: the current token string
60
+ * @transdata: transition data
61
+ * @inputdata: input data
62
+ *
63
+ * Callback function when doing a transition in the automata
64
+ */
65
+ typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
66
+ const xmlChar *token,
67
+ void *transdata,
68
+ void *inputdata);
69
+
70
+ /*
71
+ * The progressive API
72
+ */
73
+ XMLPUBFUN xmlRegExecCtxtPtr
74
+ xmlRegNewExecCtxt (xmlRegexpPtr comp,
75
+ xmlRegExecCallbacks callback,
76
+ void *data);
77
+ XMLPUBFUN void
78
+ xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
79
+ XMLPUBFUN int
80
+ xmlRegExecPushString(xmlRegExecCtxtPtr exec,
81
+ const xmlChar *value,
82
+ void *data);
83
+ XMLPUBFUN int
84
+ xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
85
+ const xmlChar *value,
86
+ const xmlChar *value2,
87
+ void *data);
88
+
89
+ XMLPUBFUN int
90
+ xmlRegExecNextValues(xmlRegExecCtxtPtr exec,
91
+ int *nbval,
92
+ int *nbneg,
93
+ xmlChar **values,
94
+ int *terminal);
95
+ XMLPUBFUN int
96
+ xmlRegExecErrInfo (xmlRegExecCtxtPtr exec,
97
+ const xmlChar **string,
98
+ int *nbval,
99
+ int *nbneg,
100
+ xmlChar **values,
101
+ int *terminal);
102
+ #ifdef LIBXML_EXPR_ENABLED
103
+ /*
104
+ * Formal regular expression handling
105
+ * Its goal is to do some formal work on content models
106
+ */
107
+
108
+ /* expressions are used within a context */
109
+ typedef struct _xmlExpCtxt xmlExpCtxt;
110
+ typedef xmlExpCtxt *xmlExpCtxtPtr;
111
+
112
+ XMLPUBFUN void
113
+ xmlExpFreeCtxt (xmlExpCtxtPtr ctxt);
114
+ XMLPUBFUN xmlExpCtxtPtr
115
+ xmlExpNewCtxt (int maxNodes,
116
+ xmlDictPtr dict);
117
+
118
+ XMLPUBFUN int
119
+ xmlExpCtxtNbNodes(xmlExpCtxtPtr ctxt);
120
+ XMLPUBFUN int
121
+ xmlExpCtxtNbCons(xmlExpCtxtPtr ctxt);
122
+
123
+ /* Expressions are trees but the tree is opaque */
124
+ typedef struct _xmlExpNode xmlExpNode;
125
+ typedef xmlExpNode *xmlExpNodePtr;
126
+
127
+ typedef enum {
128
+ XML_EXP_EMPTY = 0,
129
+ XML_EXP_FORBID = 1,
130
+ XML_EXP_ATOM = 2,
131
+ XML_EXP_SEQ = 3,
132
+ XML_EXP_OR = 4,
133
+ XML_EXP_COUNT = 5
134
+ } xmlExpNodeType;
135
+
136
+ /*
137
+ * 2 core expressions shared by all for the empty language set
138
+ * and for the set with just the empty token
139
+ */
140
+ XMLPUBVAR xmlExpNodePtr forbiddenExp;
141
+ XMLPUBVAR xmlExpNodePtr emptyExp;
142
+
143
+ /*
144
+ * Expressions are reference counted internally
145
+ */
146
+ XMLPUBFUN void
147
+ xmlExpFree (xmlExpCtxtPtr ctxt,
148
+ xmlExpNodePtr expr);
149
+ XMLPUBFUN void
150
+ xmlExpRef (xmlExpNodePtr expr);
151
+
152
+ /*
153
+ * constructors can be either manual or from a string
154
+ */
155
+ XMLPUBFUN xmlExpNodePtr
156
+ xmlExpParse (xmlExpCtxtPtr ctxt,
157
+ const char *expr);
158
+ XMLPUBFUN xmlExpNodePtr
159
+ xmlExpNewAtom (xmlExpCtxtPtr ctxt,
160
+ const xmlChar *name,
161
+ int len);
162
+ XMLPUBFUN xmlExpNodePtr
163
+ xmlExpNewOr (xmlExpCtxtPtr ctxt,
164
+ xmlExpNodePtr left,
165
+ xmlExpNodePtr right);
166
+ XMLPUBFUN xmlExpNodePtr
167
+ xmlExpNewSeq (xmlExpCtxtPtr ctxt,
168
+ xmlExpNodePtr left,
169
+ xmlExpNodePtr right);
170
+ XMLPUBFUN xmlExpNodePtr
171
+ xmlExpNewRange (xmlExpCtxtPtr ctxt,
172
+ xmlExpNodePtr subset,
173
+ int min,
174
+ int max);
175
+ /*
176
+ * The really interesting APIs
177
+ */
178
+ XMLPUBFUN int
179
+ xmlExpIsNillable(xmlExpNodePtr expr);
180
+ XMLPUBFUN int
181
+ xmlExpMaxToken (xmlExpNodePtr expr);
182
+ XMLPUBFUN int
183
+ xmlExpGetLanguage(xmlExpCtxtPtr ctxt,
184
+ xmlExpNodePtr expr,
185
+ const xmlChar**langList,
186
+ int len);
187
+ XMLPUBFUN int
188
+ xmlExpGetStart (xmlExpCtxtPtr ctxt,
189
+ xmlExpNodePtr expr,
190
+ const xmlChar**tokList,
191
+ int len);
192
+ XMLPUBFUN xmlExpNodePtr
193
+ xmlExpStringDerive(xmlExpCtxtPtr ctxt,
194
+ xmlExpNodePtr expr,
195
+ const xmlChar *str,
196
+ int len);
197
+ XMLPUBFUN xmlExpNodePtr
198
+ xmlExpExpDerive (xmlExpCtxtPtr ctxt,
199
+ xmlExpNodePtr expr,
200
+ xmlExpNodePtr sub);
201
+ XMLPUBFUN int
202
+ xmlExpSubsume (xmlExpCtxtPtr ctxt,
203
+ xmlExpNodePtr expr,
204
+ xmlExpNodePtr sub);
205
+ XMLPUBFUN void
206
+ xmlExpDump (xmlBufferPtr buf,
207
+ xmlExpNodePtr expr);
208
+ #endif /* LIBXML_EXPR_ENABLED */
209
+ #ifdef __cplusplus
210
+ }
211
+ #endif
212
+
213
+ #endif /* LIBXML_REGEXP_ENABLED */
214
+
215
+ #endif /*__XML_REGEXP_H__ */