nokogiri 1.18.0.rc1-x86_64-linux-musl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (203) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +38 -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 +502 -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 +297 -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 +49 -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 +324 -0
@@ -0,0 +1,671 @@
1
+ /*
2
+ * Summary: internals routines and limits exported by the parser.
3
+ * Description: this module exports a number of internal parsing routines
4
+ * they are not really all intended for applications but
5
+ * can prove useful doing low level processing.
6
+ *
7
+ * Copy: See Copyright for the status of this software.
8
+ *
9
+ * Author: Daniel Veillard
10
+ */
11
+
12
+ #ifndef __XML_PARSER_INTERNALS_H__
13
+ #define __XML_PARSER_INTERNALS_H__
14
+
15
+ #include <libxml/xmlversion.h>
16
+ #include <libxml/parser.h>
17
+ #include <libxml/HTMLparser.h>
18
+ #include <libxml/chvalid.h>
19
+ #include <libxml/SAX2.h>
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ /**
26
+ * xmlParserMaxDepth:
27
+ *
28
+ * DEPRECATED: has no effect
29
+ *
30
+ * arbitrary depth limit for the XML documents that we allow to
31
+ * process. This is not a limitation of the parser but a safety
32
+ * boundary feature, use XML_PARSE_HUGE option to override it.
33
+ */
34
+ XML_DEPRECATED
35
+ XMLPUBVAR const unsigned int xmlParserMaxDepth;
36
+
37
+ /**
38
+ * XML_MAX_TEXT_LENGTH:
39
+ *
40
+ * Maximum size allowed for a single text node when building a tree.
41
+ * This is not a limitation of the parser but a safety boundary feature,
42
+ * use XML_PARSE_HUGE option to override it.
43
+ * Introduced in 2.9.0
44
+ */
45
+ #define XML_MAX_TEXT_LENGTH 10000000
46
+
47
+ /**
48
+ * XML_MAX_HUGE_LENGTH:
49
+ *
50
+ * Maximum size allowed when XML_PARSE_HUGE is set.
51
+ */
52
+ #define XML_MAX_HUGE_LENGTH 1000000000
53
+
54
+ /**
55
+ * XML_MAX_NAME_LENGTH:
56
+ *
57
+ * Maximum size allowed for a markup identifier.
58
+ * This is not a limitation of the parser but a safety boundary feature,
59
+ * use XML_PARSE_HUGE option to override it.
60
+ * Note that with the use of parsing dictionaries overriding the limit
61
+ * may result in more runtime memory usage in face of "unfriendly' content
62
+ * Introduced in 2.9.0
63
+ */
64
+ #define XML_MAX_NAME_LENGTH 50000
65
+
66
+ /**
67
+ * XML_MAX_DICTIONARY_LIMIT:
68
+ *
69
+ * Maximum size allowed by the parser for a dictionary by default
70
+ * This is not a limitation of the parser but a safety boundary feature,
71
+ * use XML_PARSE_HUGE option to override it.
72
+ * Introduced in 2.9.0
73
+ */
74
+ #define XML_MAX_DICTIONARY_LIMIT 10000000
75
+
76
+ /**
77
+ * XML_MAX_LOOKUP_LIMIT:
78
+ *
79
+ * Maximum size allowed by the parser for ahead lookup
80
+ * This is an upper boundary enforced by the parser to avoid bad
81
+ * behaviour on "unfriendly' content
82
+ * Introduced in 2.9.0
83
+ */
84
+ #define XML_MAX_LOOKUP_LIMIT 10000000
85
+
86
+ /**
87
+ * XML_MAX_NAMELEN:
88
+ *
89
+ * Identifiers can be longer, but this will be more costly
90
+ * at runtime.
91
+ */
92
+ #define XML_MAX_NAMELEN 100
93
+
94
+ /**
95
+ * INPUT_CHUNK:
96
+ *
97
+ * The parser tries to always have that amount of input ready.
98
+ * One of the point is providing context when reporting errors.
99
+ */
100
+ #define INPUT_CHUNK 250
101
+
102
+ /************************************************************************
103
+ * *
104
+ * UNICODE version of the macros. *
105
+ * *
106
+ ************************************************************************/
107
+ /**
108
+ * IS_BYTE_CHAR:
109
+ * @c: an byte value (int)
110
+ *
111
+ * Macro to check the following production in the XML spec:
112
+ *
113
+ * [2] Char ::= #x9 | #xA | #xD | [#x20...]
114
+ * any byte character in the accepted range
115
+ */
116
+ #define IS_BYTE_CHAR(c) xmlIsChar_ch(c)
117
+
118
+ /**
119
+ * IS_CHAR:
120
+ * @c: an UNICODE value (int)
121
+ *
122
+ * Macro to check the following production in the XML spec:
123
+ *
124
+ * [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD]
125
+ * | [#x10000-#x10FFFF]
126
+ * any Unicode character, excluding the surrogate blocks, FFFE, and FFFF.
127
+ */
128
+ #define IS_CHAR(c) xmlIsCharQ(c)
129
+
130
+ /**
131
+ * IS_CHAR_CH:
132
+ * @c: an xmlChar (usually an unsigned char)
133
+ *
134
+ * Behaves like IS_CHAR on single-byte value
135
+ */
136
+ #define IS_CHAR_CH(c) xmlIsChar_ch(c)
137
+
138
+ /**
139
+ * IS_BLANK:
140
+ * @c: an UNICODE value (int)
141
+ *
142
+ * Macro to check the following production in the XML spec:
143
+ *
144
+ * [3] S ::= (#x20 | #x9 | #xD | #xA)+
145
+ */
146
+ #define IS_BLANK(c) xmlIsBlankQ(c)
147
+
148
+ /**
149
+ * IS_BLANK_CH:
150
+ * @c: an xmlChar value (normally unsigned char)
151
+ *
152
+ * Behaviour same as IS_BLANK
153
+ */
154
+ #define IS_BLANK_CH(c) xmlIsBlank_ch(c)
155
+
156
+ /**
157
+ * IS_BASECHAR:
158
+ * @c: an UNICODE value (int)
159
+ *
160
+ * Macro to check the following production in the XML spec:
161
+ *
162
+ * [85] BaseChar ::= ... long list see REC ...
163
+ */
164
+ #define IS_BASECHAR(c) xmlIsBaseCharQ(c)
165
+
166
+ /**
167
+ * IS_DIGIT:
168
+ * @c: an UNICODE value (int)
169
+ *
170
+ * Macro to check the following production in the XML spec:
171
+ *
172
+ * [88] Digit ::= ... long list see REC ...
173
+ */
174
+ #define IS_DIGIT(c) xmlIsDigitQ(c)
175
+
176
+ /**
177
+ * IS_DIGIT_CH:
178
+ * @c: an xmlChar value (usually an unsigned char)
179
+ *
180
+ * Behaves like IS_DIGIT but with a single byte argument
181
+ */
182
+ #define IS_DIGIT_CH(c) xmlIsDigit_ch(c)
183
+
184
+ /**
185
+ * IS_COMBINING:
186
+ * @c: an UNICODE value (int)
187
+ *
188
+ * Macro to check the following production in the XML spec:
189
+ *
190
+ * [87] CombiningChar ::= ... long list see REC ...
191
+ */
192
+ #define IS_COMBINING(c) xmlIsCombiningQ(c)
193
+
194
+ /**
195
+ * IS_COMBINING_CH:
196
+ * @c: an xmlChar (usually an unsigned char)
197
+ *
198
+ * Always false (all combining chars > 0xff)
199
+ */
200
+ #define IS_COMBINING_CH(c) 0
201
+
202
+ /**
203
+ * IS_EXTENDER:
204
+ * @c: an UNICODE value (int)
205
+ *
206
+ * Macro to check the following production in the XML spec:
207
+ *
208
+ *
209
+ * [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | #x0387 | #x0640 |
210
+ * #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] |
211
+ * [#x309D-#x309E] | [#x30FC-#x30FE]
212
+ */
213
+ #define IS_EXTENDER(c) xmlIsExtenderQ(c)
214
+
215
+ /**
216
+ * IS_EXTENDER_CH:
217
+ * @c: an xmlChar value (usually an unsigned char)
218
+ *
219
+ * Behaves like IS_EXTENDER but with a single-byte argument
220
+ */
221
+ #define IS_EXTENDER_CH(c) xmlIsExtender_ch(c)
222
+
223
+ /**
224
+ * IS_IDEOGRAPHIC:
225
+ * @c: an UNICODE value (int)
226
+ *
227
+ * Macro to check the following production in the XML spec:
228
+ *
229
+ *
230
+ * [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | [#x3021-#x3029]
231
+ */
232
+ #define IS_IDEOGRAPHIC(c) xmlIsIdeographicQ(c)
233
+
234
+ /**
235
+ * IS_LETTER:
236
+ * @c: an UNICODE value (int)
237
+ *
238
+ * Macro to check the following production in the XML spec:
239
+ *
240
+ *
241
+ * [84] Letter ::= BaseChar | Ideographic
242
+ */
243
+ #define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))
244
+
245
+ /**
246
+ * IS_LETTER_CH:
247
+ * @c: an xmlChar value (normally unsigned char)
248
+ *
249
+ * Macro behaves like IS_LETTER, but only check base chars
250
+ *
251
+ */
252
+ #define IS_LETTER_CH(c) xmlIsBaseChar_ch(c)
253
+
254
+ /**
255
+ * IS_ASCII_LETTER:
256
+ * @c: an xmlChar value
257
+ *
258
+ * Macro to check [a-zA-Z]
259
+ *
260
+ */
261
+ #define IS_ASCII_LETTER(c) (((0x41 <= (c)) && ((c) <= 0x5a)) || \
262
+ ((0x61 <= (c)) && ((c) <= 0x7a)))
263
+
264
+ /**
265
+ * IS_ASCII_DIGIT:
266
+ * @c: an xmlChar value
267
+ *
268
+ * Macro to check [0-9]
269
+ *
270
+ */
271
+ #define IS_ASCII_DIGIT(c) ((0x30 <= (c)) && ((c) <= 0x39))
272
+
273
+ /**
274
+ * IS_PUBIDCHAR:
275
+ * @c: an UNICODE value (int)
276
+ *
277
+ * Macro to check the following production in the XML spec:
278
+ *
279
+ *
280
+ * [13] PubidChar ::= #x20 | #xD | #xA | [a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]
281
+ */
282
+ #define IS_PUBIDCHAR(c) xmlIsPubidCharQ(c)
283
+
284
+ /**
285
+ * IS_PUBIDCHAR_CH:
286
+ * @c: an xmlChar value (normally unsigned char)
287
+ *
288
+ * Same as IS_PUBIDCHAR but for single-byte value
289
+ */
290
+ #define IS_PUBIDCHAR_CH(c) xmlIsPubidChar_ch(c)
291
+
292
+ /**
293
+ * Global variables used for predefined strings.
294
+ */
295
+ XMLPUBVAR const xmlChar xmlStringText[];
296
+ XMLPUBVAR const xmlChar xmlStringTextNoenc[];
297
+ XMLPUBVAR const xmlChar xmlStringComment[];
298
+
299
+ /*
300
+ * Function to finish the work of the macros where needed.
301
+ */
302
+ XMLPUBFUN int xmlIsLetter (int c);
303
+
304
+ /**
305
+ * Parser context.
306
+ */
307
+ XMLPUBFUN xmlParserCtxtPtr
308
+ xmlCreateFileParserCtxt (const char *filename);
309
+ XMLPUBFUN xmlParserCtxtPtr
310
+ xmlCreateURLParserCtxt (const char *filename,
311
+ int options);
312
+ XMLPUBFUN xmlParserCtxtPtr
313
+ xmlCreateMemoryParserCtxt(const char *buffer,
314
+ int size);
315
+ XMLPUBFUN xmlParserCtxtPtr
316
+ xmlCreateEntityParserCtxt(const xmlChar *URL,
317
+ const xmlChar *ID,
318
+ const xmlChar *base);
319
+ XMLPUBFUN void
320
+ xmlCtxtErrMemory (xmlParserCtxtPtr ctxt);
321
+ XMLPUBFUN int
322
+ xmlSwitchEncoding (xmlParserCtxtPtr ctxt,
323
+ xmlCharEncoding enc);
324
+ XMLPUBFUN int
325
+ xmlSwitchEncodingName (xmlParserCtxtPtr ctxt,
326
+ const char *encoding);
327
+ XMLPUBFUN int
328
+ xmlSwitchToEncoding (xmlParserCtxtPtr ctxt,
329
+ xmlCharEncodingHandlerPtr handler);
330
+ XML_DEPRECATED
331
+ XMLPUBFUN int
332
+ xmlSwitchInputEncoding (xmlParserCtxtPtr ctxt,
333
+ xmlParserInputPtr input,
334
+ xmlCharEncodingHandlerPtr handler);
335
+
336
+ /**
337
+ * Input Streams.
338
+ */
339
+ XMLPUBFUN xmlParserInputPtr
340
+ xmlNewStringInputStream (xmlParserCtxtPtr ctxt,
341
+ const xmlChar *buffer);
342
+ XML_DEPRECATED
343
+ XMLPUBFUN xmlParserInputPtr
344
+ xmlNewEntityInputStream (xmlParserCtxtPtr ctxt,
345
+ xmlEntityPtr entity);
346
+ XMLPUBFUN int
347
+ xmlPushInput (xmlParserCtxtPtr ctxt,
348
+ xmlParserInputPtr input);
349
+ XMLPUBFUN xmlChar
350
+ xmlPopInput (xmlParserCtxtPtr ctxt);
351
+ XMLPUBFUN void
352
+ xmlFreeInputStream (xmlParserInputPtr input);
353
+ XMLPUBFUN xmlParserInputPtr
354
+ xmlNewInputFromFile (xmlParserCtxtPtr ctxt,
355
+ const char *filename);
356
+ XMLPUBFUN xmlParserInputPtr
357
+ xmlNewInputStream (xmlParserCtxtPtr ctxt);
358
+
359
+ /**
360
+ * Namespaces.
361
+ */
362
+ XMLPUBFUN xmlChar *
363
+ xmlSplitQName (xmlParserCtxtPtr ctxt,
364
+ const xmlChar *name,
365
+ xmlChar **prefix);
366
+
367
+ /**
368
+ * Generic production rules.
369
+ */
370
+ XML_DEPRECATED
371
+ XMLPUBFUN const xmlChar *
372
+ xmlParseName (xmlParserCtxtPtr ctxt);
373
+ XML_DEPRECATED
374
+ XMLPUBFUN xmlChar *
375
+ xmlParseNmtoken (xmlParserCtxtPtr ctxt);
376
+ XML_DEPRECATED
377
+ XMLPUBFUN xmlChar *
378
+ xmlParseEntityValue (xmlParserCtxtPtr ctxt,
379
+ xmlChar **orig);
380
+ XML_DEPRECATED
381
+ XMLPUBFUN xmlChar *
382
+ xmlParseAttValue (xmlParserCtxtPtr ctxt);
383
+ XML_DEPRECATED
384
+ XMLPUBFUN xmlChar *
385
+ xmlParseSystemLiteral (xmlParserCtxtPtr ctxt);
386
+ XML_DEPRECATED
387
+ XMLPUBFUN xmlChar *
388
+ xmlParsePubidLiteral (xmlParserCtxtPtr ctxt);
389
+ XML_DEPRECATED
390
+ XMLPUBFUN void
391
+ xmlParseCharData (xmlParserCtxtPtr ctxt,
392
+ int cdata);
393
+ XML_DEPRECATED
394
+ XMLPUBFUN xmlChar *
395
+ xmlParseExternalID (xmlParserCtxtPtr ctxt,
396
+ xmlChar **publicID,
397
+ int strict);
398
+ XML_DEPRECATED
399
+ XMLPUBFUN void
400
+ xmlParseComment (xmlParserCtxtPtr ctxt);
401
+ XML_DEPRECATED
402
+ XMLPUBFUN const xmlChar *
403
+ xmlParsePITarget (xmlParserCtxtPtr ctxt);
404
+ XML_DEPRECATED
405
+ XMLPUBFUN void
406
+ xmlParsePI (xmlParserCtxtPtr ctxt);
407
+ XML_DEPRECATED
408
+ XMLPUBFUN void
409
+ xmlParseNotationDecl (xmlParserCtxtPtr ctxt);
410
+ XML_DEPRECATED
411
+ XMLPUBFUN void
412
+ xmlParseEntityDecl (xmlParserCtxtPtr ctxt);
413
+ XML_DEPRECATED
414
+ XMLPUBFUN int
415
+ xmlParseDefaultDecl (xmlParserCtxtPtr ctxt,
416
+ xmlChar **value);
417
+ XML_DEPRECATED
418
+ XMLPUBFUN xmlEnumerationPtr
419
+ xmlParseNotationType (xmlParserCtxtPtr ctxt);
420
+ XML_DEPRECATED
421
+ XMLPUBFUN xmlEnumerationPtr
422
+ xmlParseEnumerationType (xmlParserCtxtPtr ctxt);
423
+ XML_DEPRECATED
424
+ XMLPUBFUN int
425
+ xmlParseEnumeratedType (xmlParserCtxtPtr ctxt,
426
+ xmlEnumerationPtr *tree);
427
+ XML_DEPRECATED
428
+ XMLPUBFUN int
429
+ xmlParseAttributeType (xmlParserCtxtPtr ctxt,
430
+ xmlEnumerationPtr *tree);
431
+ XML_DEPRECATED
432
+ XMLPUBFUN void
433
+ xmlParseAttributeListDecl(xmlParserCtxtPtr ctxt);
434
+ XML_DEPRECATED
435
+ XMLPUBFUN xmlElementContentPtr
436
+ xmlParseElementMixedContentDecl
437
+ (xmlParserCtxtPtr ctxt,
438
+ int inputchk);
439
+ XML_DEPRECATED
440
+ XMLPUBFUN xmlElementContentPtr
441
+ xmlParseElementChildrenContentDecl
442
+ (xmlParserCtxtPtr ctxt,
443
+ int inputchk);
444
+ XML_DEPRECATED
445
+ XMLPUBFUN int
446
+ xmlParseElementContentDecl(xmlParserCtxtPtr ctxt,
447
+ const xmlChar *name,
448
+ xmlElementContentPtr *result);
449
+ XML_DEPRECATED
450
+ XMLPUBFUN int
451
+ xmlParseElementDecl (xmlParserCtxtPtr ctxt);
452
+ XML_DEPRECATED
453
+ XMLPUBFUN void
454
+ xmlParseMarkupDecl (xmlParserCtxtPtr ctxt);
455
+ XML_DEPRECATED
456
+ XMLPUBFUN int
457
+ xmlParseCharRef (xmlParserCtxtPtr ctxt);
458
+ XML_DEPRECATED
459
+ XMLPUBFUN xmlEntityPtr
460
+ xmlParseEntityRef (xmlParserCtxtPtr ctxt);
461
+ XML_DEPRECATED
462
+ XMLPUBFUN void
463
+ xmlParseReference (xmlParserCtxtPtr ctxt);
464
+ XML_DEPRECATED
465
+ XMLPUBFUN void
466
+ xmlParsePEReference (xmlParserCtxtPtr ctxt);
467
+ XML_DEPRECATED
468
+ XMLPUBFUN void
469
+ xmlParseDocTypeDecl (xmlParserCtxtPtr ctxt);
470
+ #ifdef LIBXML_SAX1_ENABLED
471
+ XML_DEPRECATED
472
+ XMLPUBFUN const xmlChar *
473
+ xmlParseAttribute (xmlParserCtxtPtr ctxt,
474
+ xmlChar **value);
475
+ XML_DEPRECATED
476
+ XMLPUBFUN const xmlChar *
477
+ xmlParseStartTag (xmlParserCtxtPtr ctxt);
478
+ XML_DEPRECATED
479
+ XMLPUBFUN void
480
+ xmlParseEndTag (xmlParserCtxtPtr ctxt);
481
+ #endif /* LIBXML_SAX1_ENABLED */
482
+ XML_DEPRECATED
483
+ XMLPUBFUN void
484
+ xmlParseCDSect (xmlParserCtxtPtr ctxt);
485
+ XMLPUBFUN void
486
+ xmlParseContent (xmlParserCtxtPtr ctxt);
487
+ XML_DEPRECATED
488
+ XMLPUBFUN void
489
+ xmlParseElement (xmlParserCtxtPtr ctxt);
490
+ XML_DEPRECATED
491
+ XMLPUBFUN xmlChar *
492
+ xmlParseVersionNum (xmlParserCtxtPtr ctxt);
493
+ XML_DEPRECATED
494
+ XMLPUBFUN xmlChar *
495
+ xmlParseVersionInfo (xmlParserCtxtPtr ctxt);
496
+ XML_DEPRECATED
497
+ XMLPUBFUN xmlChar *
498
+ xmlParseEncName (xmlParserCtxtPtr ctxt);
499
+ XML_DEPRECATED
500
+ XMLPUBFUN const xmlChar *
501
+ xmlParseEncodingDecl (xmlParserCtxtPtr ctxt);
502
+ XML_DEPRECATED
503
+ XMLPUBFUN int
504
+ xmlParseSDDecl (xmlParserCtxtPtr ctxt);
505
+ XML_DEPRECATED
506
+ XMLPUBFUN void
507
+ xmlParseXMLDecl (xmlParserCtxtPtr ctxt);
508
+ XML_DEPRECATED
509
+ XMLPUBFUN void
510
+ xmlParseTextDecl (xmlParserCtxtPtr ctxt);
511
+ XML_DEPRECATED
512
+ XMLPUBFUN void
513
+ xmlParseMisc (xmlParserCtxtPtr ctxt);
514
+ XMLPUBFUN void
515
+ xmlParseExternalSubset (xmlParserCtxtPtr ctxt,
516
+ const xmlChar *ExternalID,
517
+ const xmlChar *SystemID);
518
+ /**
519
+ * XML_SUBSTITUTE_NONE:
520
+ *
521
+ * If no entities need to be substituted.
522
+ */
523
+ #define XML_SUBSTITUTE_NONE 0
524
+ /**
525
+ * XML_SUBSTITUTE_REF:
526
+ *
527
+ * Whether general entities need to be substituted.
528
+ */
529
+ #define XML_SUBSTITUTE_REF 1
530
+ /**
531
+ * XML_SUBSTITUTE_PEREF:
532
+ *
533
+ * Whether parameter entities need to be substituted.
534
+ */
535
+ #define XML_SUBSTITUTE_PEREF 2
536
+ /**
537
+ * XML_SUBSTITUTE_BOTH:
538
+ *
539
+ * Both general and parameter entities need to be substituted.
540
+ */
541
+ #define XML_SUBSTITUTE_BOTH 3
542
+
543
+ XML_DEPRECATED
544
+ XMLPUBFUN xmlChar *
545
+ xmlStringDecodeEntities (xmlParserCtxtPtr ctxt,
546
+ const xmlChar *str,
547
+ int what,
548
+ xmlChar end,
549
+ xmlChar end2,
550
+ xmlChar end3);
551
+ XML_DEPRECATED
552
+ XMLPUBFUN xmlChar *
553
+ xmlStringLenDecodeEntities (xmlParserCtxtPtr ctxt,
554
+ const xmlChar *str,
555
+ int len,
556
+ int what,
557
+ xmlChar end,
558
+ xmlChar end2,
559
+ xmlChar end3);
560
+
561
+ /*
562
+ * Generated by MACROS on top of parser.c c.f. PUSH_AND_POP.
563
+ */
564
+ XML_DEPRECATED
565
+ XMLPUBFUN int nodePush (xmlParserCtxtPtr ctxt,
566
+ xmlNodePtr value);
567
+ XML_DEPRECATED
568
+ XMLPUBFUN xmlNodePtr nodePop (xmlParserCtxtPtr ctxt);
569
+ XMLPUBFUN int inputPush (xmlParserCtxtPtr ctxt,
570
+ xmlParserInputPtr value);
571
+ XMLPUBFUN xmlParserInputPtr inputPop (xmlParserCtxtPtr ctxt);
572
+ XML_DEPRECATED
573
+ XMLPUBFUN const xmlChar * namePop (xmlParserCtxtPtr ctxt);
574
+ XML_DEPRECATED
575
+ XMLPUBFUN int namePush (xmlParserCtxtPtr ctxt,
576
+ const xmlChar *value);
577
+
578
+ /*
579
+ * other commodities shared between parser.c and parserInternals.
580
+ */
581
+ XML_DEPRECATED
582
+ XMLPUBFUN int xmlSkipBlankChars (xmlParserCtxtPtr ctxt);
583
+ XML_DEPRECATED
584
+ XMLPUBFUN int xmlStringCurrentChar (xmlParserCtxtPtr ctxt,
585
+ const xmlChar *cur,
586
+ int *len);
587
+ XML_DEPRECATED
588
+ XMLPUBFUN void xmlParserHandlePEReference(xmlParserCtxtPtr ctxt);
589
+ XML_DEPRECATED
590
+ XMLPUBFUN int xmlCheckLanguageID (const xmlChar *lang);
591
+
592
+ /*
593
+ * Really core function shared with HTML parser.
594
+ */
595
+ XML_DEPRECATED
596
+ XMLPUBFUN int xmlCurrentChar (xmlParserCtxtPtr ctxt,
597
+ int *len);
598
+ XMLPUBFUN int xmlCopyCharMultiByte (xmlChar *out,
599
+ int val);
600
+ XMLPUBFUN int xmlCopyChar (int len,
601
+ xmlChar *out,
602
+ int val);
603
+ XML_DEPRECATED
604
+ XMLPUBFUN void xmlNextChar (xmlParserCtxtPtr ctxt);
605
+ XML_DEPRECATED
606
+ XMLPUBFUN void xmlParserInputShrink (xmlParserInputPtr in);
607
+
608
+ /*
609
+ * Specific function to keep track of entities references
610
+ * and used by the XSLT debugger.
611
+ */
612
+ #ifdef LIBXML_LEGACY_ENABLED
613
+ /**
614
+ * xmlEntityReferenceFunc:
615
+ * @ent: the entity
616
+ * @firstNode: the fist node in the chunk
617
+ * @lastNode: the last nod in the chunk
618
+ *
619
+ * Callback function used when one needs to be able to track back the
620
+ * provenance of a chunk of nodes inherited from an entity replacement.
621
+ */
622
+ typedef void (*xmlEntityReferenceFunc) (xmlEntityPtr ent,
623
+ xmlNodePtr firstNode,
624
+ xmlNodePtr lastNode);
625
+
626
+ XML_DEPRECATED
627
+ XMLPUBFUN void xmlSetEntityReferenceFunc (xmlEntityReferenceFunc func);
628
+
629
+ XML_DEPRECATED
630
+ XMLPUBFUN xmlChar *
631
+ xmlParseQuotedString (xmlParserCtxtPtr ctxt);
632
+ XML_DEPRECATED
633
+ XMLPUBFUN void
634
+ xmlParseNamespace (xmlParserCtxtPtr ctxt);
635
+ XML_DEPRECATED
636
+ XMLPUBFUN xmlChar *
637
+ xmlNamespaceParseNSDef (xmlParserCtxtPtr ctxt);
638
+ XML_DEPRECATED
639
+ XMLPUBFUN xmlChar *
640
+ xmlScanName (xmlParserCtxtPtr ctxt);
641
+ XML_DEPRECATED
642
+ XMLPUBFUN xmlChar *
643
+ xmlNamespaceParseNCName (xmlParserCtxtPtr ctxt);
644
+ XML_DEPRECATED
645
+ XMLPUBFUN void xmlParserHandleReference(xmlParserCtxtPtr ctxt);
646
+ XML_DEPRECATED
647
+ XMLPUBFUN xmlChar *
648
+ xmlNamespaceParseQName (xmlParserCtxtPtr ctxt,
649
+ xmlChar **prefix);
650
+ /**
651
+ * Entities
652
+ */
653
+ XML_DEPRECATED
654
+ XMLPUBFUN xmlChar *
655
+ xmlDecodeEntities (xmlParserCtxtPtr ctxt,
656
+ int len,
657
+ int what,
658
+ xmlChar end,
659
+ xmlChar end2,
660
+ xmlChar end3);
661
+ XML_DEPRECATED
662
+ XMLPUBFUN void
663
+ xmlHandleEntity (xmlParserCtxtPtr ctxt,
664
+ xmlEntityPtr entity);
665
+
666
+ #endif /* LIBXML_LEGACY_ENABLED */
667
+
668
+ #ifdef __cplusplus
669
+ }
670
+ #endif
671
+ #endif /* __XML_PARSER_INTERNALS_H__ */