nokogiri 1.10.7 → 1.12.5-arm64-darwin

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 (242) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/LICENSE-DEPENDENCIES.md +1173 -884
  4. data/LICENSE.md +1 -1
  5. data/README.md +176 -96
  6. data/dependencies.yml +12 -12
  7. data/ext/nokogiri/depend +38 -358
  8. data/ext/nokogiri/extconf.rb +716 -414
  9. data/ext/nokogiri/gumbo.c +584 -0
  10. data/ext/nokogiri/html4_document.c +166 -0
  11. data/ext/nokogiri/html4_element_description.c +294 -0
  12. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  13. data/ext/nokogiri/html4_sax_parser_context.c +120 -0
  14. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  15. data/ext/nokogiri/include/libexslt/exslt.h +102 -0
  16. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  17. data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
  18. data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -0
  19. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  20. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  21. data/ext/nokogiri/include/libxml2/libxml/SAX.h +173 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -0
  23. data/ext/nokogiri/include/libxml2/libxml/c14n.h +128 -0
  24. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  25. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  26. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  27. data/ext/nokogiri/include/libxml2/libxml/dict.h +79 -0
  28. data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
  29. data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
  30. data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -0
  31. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  32. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  33. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +163 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  35. data/ext/nokogiri/include/libxml2/libxml/parser.h +1243 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
  37. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  38. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -0
  39. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  40. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  41. data/ext/nokogiri/include/libxml2/libxml/threads.h +89 -0
  42. data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
  43. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  44. data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +368 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +945 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +151 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +485 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpath.h +564 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -0
  65. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  66. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  67. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  68. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  69. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  70. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  71. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  72. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  73. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  74. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  75. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  76. data/ext/nokogiri/include/libxslt/security.h +104 -0
  77. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  78. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  79. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  80. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  81. data/ext/nokogiri/include/libxslt/xsltInternals.h +1978 -0
  82. data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  83. data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
  84. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  85. data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
  86. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  87. data/ext/nokogiri/nokogiri.c +228 -91
  88. data/ext/nokogiri/nokogiri.h +191 -89
  89. data/ext/nokogiri/test_global_handlers.c +40 -0
  90. data/ext/nokogiri/xml_attr.c +15 -15
  91. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  92. data/ext/nokogiri/xml_cdata.c +13 -18
  93. data/ext/nokogiri/xml_comment.c +19 -26
  94. data/ext/nokogiri/xml_document.c +267 -195
  95. data/ext/nokogiri/xml_document_fragment.c +13 -15
  96. data/ext/nokogiri/xml_dtd.c +54 -48
  97. data/ext/nokogiri/xml_element_content.c +31 -26
  98. data/ext/nokogiri/xml_element_decl.c +22 -22
  99. data/ext/nokogiri/xml_encoding_handler.c +28 -17
  100. data/ext/nokogiri/xml_entity_decl.c +32 -30
  101. data/ext/nokogiri/xml_entity_reference.c +16 -18
  102. data/ext/nokogiri/xml_namespace.c +60 -51
  103. data/ext/nokogiri/xml_node.c +493 -407
  104. data/ext/nokogiri/xml_node_set.c +174 -162
  105. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  106. data/ext/nokogiri/xml_reader.c +197 -172
  107. data/ext/nokogiri/xml_relax_ng.c +52 -28
  108. data/ext/nokogiri/xml_sax_parser.c +112 -112
  109. data/ext/nokogiri/xml_sax_parser_context.c +105 -86
  110. data/ext/nokogiri/xml_sax_push_parser.c +36 -27
  111. data/ext/nokogiri/xml_schema.c +112 -33
  112. data/ext/nokogiri/xml_syntax_error.c +42 -21
  113. data/ext/nokogiri/xml_text.c +13 -17
  114. data/ext/nokogiri/xml_xpath_context.c +158 -73
  115. data/ext/nokogiri/xslt_stylesheet.c +158 -164
  116. data/gumbo-parser/CHANGES.md +63 -0
  117. data/gumbo-parser/Makefile +101 -0
  118. data/gumbo-parser/THANKS +27 -0
  119. data/lib/nokogiri/2.5/nokogiri.bundle +0 -0
  120. data/lib/nokogiri/2.6/nokogiri.bundle +0 -0
  121. data/lib/nokogiri/2.7/nokogiri.bundle +0 -0
  122. data/lib/nokogiri/3.0/nokogiri.bundle +0 -0
  123. data/lib/nokogiri/css/node.rb +1 -0
  124. data/lib/nokogiri/css/parser.rb +64 -63
  125. data/lib/nokogiri/css/parser.y +3 -3
  126. data/lib/nokogiri/css/parser_extras.rb +39 -36
  127. data/lib/nokogiri/css/syntax_error.rb +2 -1
  128. data/lib/nokogiri/css/tokenizer.rb +1 -0
  129. data/lib/nokogiri/css/xpath_visitor.rb +73 -43
  130. data/lib/nokogiri/css.rb +15 -14
  131. data/lib/nokogiri/decorators/slop.rb +1 -0
  132. data/lib/nokogiri/extension.rb +31 -0
  133. data/lib/nokogiri/gumbo.rb +14 -0
  134. data/lib/nokogiri/html.rb +32 -27
  135. data/lib/nokogiri/{html → html4}/builder.rb +3 -2
  136. data/lib/nokogiri/{html → html4}/document.rb +17 -30
  137. data/lib/nokogiri/{html → html4}/document_fragment.rb +18 -17
  138. data/lib/nokogiri/{html → html4}/element_description.rb +2 -1
  139. data/lib/nokogiri/{html → html4}/element_description_defaults.rb +2 -1
  140. data/lib/nokogiri/{html → html4}/entity_lookup.rb +2 -1
  141. data/lib/nokogiri/{html → html4}/sax/parser.rb +12 -14
  142. data/lib/nokogiri/html4/sax/parser_context.rb +19 -0
  143. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +6 -5
  144. data/lib/nokogiri/html4.rb +40 -0
  145. data/lib/nokogiri/html5/document.rb +74 -0
  146. data/lib/nokogiri/html5/document_fragment.rb +80 -0
  147. data/lib/nokogiri/html5/node.rb +93 -0
  148. data/lib/nokogiri/html5.rb +473 -0
  149. data/lib/nokogiri/jruby/dependencies.rb +20 -0
  150. data/lib/nokogiri/syntax_error.rb +1 -0
  151. data/lib/nokogiri/version/constant.rb +5 -0
  152. data/lib/nokogiri/version/info.rb +215 -0
  153. data/lib/nokogiri/version.rb +3 -109
  154. data/lib/nokogiri/xml/attr.rb +1 -0
  155. data/lib/nokogiri/xml/attribute_decl.rb +1 -0
  156. data/lib/nokogiri/xml/builder.rb +41 -2
  157. data/lib/nokogiri/xml/cdata.rb +1 -0
  158. data/lib/nokogiri/xml/character_data.rb +1 -0
  159. data/lib/nokogiri/xml/document.rb +138 -41
  160. data/lib/nokogiri/xml/document_fragment.rb +5 -6
  161. data/lib/nokogiri/xml/dtd.rb +1 -0
  162. data/lib/nokogiri/xml/element_content.rb +1 -0
  163. data/lib/nokogiri/xml/element_decl.rb +1 -0
  164. data/lib/nokogiri/xml/entity_decl.rb +1 -0
  165. data/lib/nokogiri/xml/entity_reference.rb +1 -0
  166. data/lib/nokogiri/xml/namespace.rb +1 -0
  167. data/lib/nokogiri/xml/node/save_options.rb +2 -1
  168. data/lib/nokogiri/xml/node.rb +629 -293
  169. data/lib/nokogiri/xml/node_set.rb +1 -0
  170. data/lib/nokogiri/xml/notation.rb +1 -0
  171. data/lib/nokogiri/xml/parse_options.rb +12 -3
  172. data/lib/nokogiri/xml/pp/character_data.rb +1 -0
  173. data/lib/nokogiri/xml/pp/node.rb +1 -0
  174. data/lib/nokogiri/xml/pp.rb +3 -2
  175. data/lib/nokogiri/xml/processing_instruction.rb +1 -0
  176. data/lib/nokogiri/xml/reader.rb +9 -12
  177. data/lib/nokogiri/xml/relax_ng.rb +7 -2
  178. data/lib/nokogiri/xml/sax/document.rb +25 -30
  179. data/lib/nokogiri/xml/sax/parser.rb +1 -0
  180. data/lib/nokogiri/xml/sax/parser_context.rb +1 -0
  181. data/lib/nokogiri/xml/sax/push_parser.rb +1 -0
  182. data/lib/nokogiri/xml/sax.rb +5 -4
  183. data/lib/nokogiri/xml/schema.rb +13 -4
  184. data/lib/nokogiri/xml/searchable.rb +25 -16
  185. data/lib/nokogiri/xml/syntax_error.rb +1 -0
  186. data/lib/nokogiri/xml/text.rb +1 -0
  187. data/lib/nokogiri/xml/xpath/syntax_error.rb +2 -1
  188. data/lib/nokogiri/xml/xpath.rb +4 -5
  189. data/lib/nokogiri/xml/xpath_context.rb +1 -0
  190. data/lib/nokogiri/xml.rb +36 -36
  191. data/lib/nokogiri/xslt/stylesheet.rb +2 -1
  192. data/lib/nokogiri/xslt.rb +17 -16
  193. data/lib/nokogiri.rb +32 -51
  194. data/lib/xsd/xmlparser/nokogiri.rb +1 -0
  195. metadata +182 -193
  196. data/ext/nokogiri/html_document.c +0 -170
  197. data/ext/nokogiri/html_document.h +0 -10
  198. data/ext/nokogiri/html_element_description.c +0 -279
  199. data/ext/nokogiri/html_element_description.h +0 -10
  200. data/ext/nokogiri/html_entity_lookup.c +0 -32
  201. data/ext/nokogiri/html_entity_lookup.h +0 -8
  202. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  203. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  204. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  205. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  206. data/ext/nokogiri/xml_attr.h +0 -9
  207. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  208. data/ext/nokogiri/xml_cdata.h +0 -9
  209. data/ext/nokogiri/xml_comment.h +0 -9
  210. data/ext/nokogiri/xml_document.h +0 -23
  211. data/ext/nokogiri/xml_document_fragment.h +0 -10
  212. data/ext/nokogiri/xml_dtd.h +0 -10
  213. data/ext/nokogiri/xml_element_content.h +0 -10
  214. data/ext/nokogiri/xml_element_decl.h +0 -9
  215. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  216. data/ext/nokogiri/xml_entity_decl.h +0 -10
  217. data/ext/nokogiri/xml_entity_reference.h +0 -9
  218. data/ext/nokogiri/xml_io.c +0 -61
  219. data/ext/nokogiri/xml_io.h +0 -11
  220. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  221. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  222. data/ext/nokogiri/xml_namespace.h +0 -14
  223. data/ext/nokogiri/xml_node.h +0 -13
  224. data/ext/nokogiri/xml_node_set.h +0 -12
  225. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  226. data/ext/nokogiri/xml_reader.h +0 -10
  227. data/ext/nokogiri/xml_relax_ng.h +0 -9
  228. data/ext/nokogiri/xml_sax_parser.h +0 -39
  229. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  230. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  231. data/ext/nokogiri/xml_schema.h +0 -9
  232. data/ext/nokogiri/xml_syntax_error.h +0 -13
  233. data/ext/nokogiri/xml_text.h +0 -9
  234. data/ext/nokogiri/xml_xpath_context.h +0 -10
  235. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  236. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  237. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  238. data/patches/libxml2/0002-Remove-script-macro-support.patch +0 -40
  239. data/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch +0 -44
  240. data/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +0 -25
  241. data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
  242. data/ports/archives/libxslt-1.1.34.tar.gz +0 -0
@@ -0,0 +1,100 @@
1
+ /*
2
+ * Summary: pattern expression handling
3
+ * Description: allows to compile and test pattern expressions for nodes
4
+ * either in a tree or based on a parser state.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_PATTERN_H__
12
+ #define __XML_PATTERN_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+ #include <libxml/tree.h>
16
+ #include <libxml/dict.h>
17
+
18
+ #ifdef LIBXML_PATTERN_ENABLED
19
+
20
+ #ifdef __cplusplus
21
+ extern "C" {
22
+ #endif
23
+
24
+ /**
25
+ * xmlPattern:
26
+ *
27
+ * A compiled (XPath based) pattern to select nodes
28
+ */
29
+ typedef struct _xmlPattern xmlPattern;
30
+ typedef xmlPattern *xmlPatternPtr;
31
+
32
+ /**
33
+ * xmlPatternFlags:
34
+ *
35
+ * This is the set of options affecting the behaviour of pattern
36
+ * matching with this module
37
+ *
38
+ */
39
+ typedef enum {
40
+ XML_PATTERN_DEFAULT = 0, /* simple pattern match */
41
+ XML_PATTERN_XPATH = 1<<0, /* standard XPath pattern */
42
+ XML_PATTERN_XSSEL = 1<<1, /* XPath subset for schema selector */
43
+ XML_PATTERN_XSFIELD = 1<<2 /* XPath subset for schema field */
44
+ } xmlPatternFlags;
45
+
46
+ XMLPUBFUN void XMLCALL
47
+ xmlFreePattern (xmlPatternPtr comp);
48
+
49
+ XMLPUBFUN void XMLCALL
50
+ xmlFreePatternList (xmlPatternPtr comp);
51
+
52
+ XMLPUBFUN xmlPatternPtr XMLCALL
53
+ xmlPatterncompile (const xmlChar *pattern,
54
+ xmlDict *dict,
55
+ int flags,
56
+ const xmlChar **namespaces);
57
+ XMLPUBFUN int XMLCALL
58
+ xmlPatternMatch (xmlPatternPtr comp,
59
+ xmlNodePtr node);
60
+
61
+ /* streaming interfaces */
62
+ typedef struct _xmlStreamCtxt xmlStreamCtxt;
63
+ typedef xmlStreamCtxt *xmlStreamCtxtPtr;
64
+
65
+ XMLPUBFUN int XMLCALL
66
+ xmlPatternStreamable (xmlPatternPtr comp);
67
+ XMLPUBFUN int XMLCALL
68
+ xmlPatternMaxDepth (xmlPatternPtr comp);
69
+ XMLPUBFUN int XMLCALL
70
+ xmlPatternMinDepth (xmlPatternPtr comp);
71
+ XMLPUBFUN int XMLCALL
72
+ xmlPatternFromRoot (xmlPatternPtr comp);
73
+ XMLPUBFUN xmlStreamCtxtPtr XMLCALL
74
+ xmlPatternGetStreamCtxt (xmlPatternPtr comp);
75
+ XMLPUBFUN void XMLCALL
76
+ xmlFreeStreamCtxt (xmlStreamCtxtPtr stream);
77
+ XMLPUBFUN int XMLCALL
78
+ xmlStreamPushNode (xmlStreamCtxtPtr stream,
79
+ const xmlChar *name,
80
+ const xmlChar *ns,
81
+ int nodeType);
82
+ XMLPUBFUN int XMLCALL
83
+ xmlStreamPush (xmlStreamCtxtPtr stream,
84
+ const xmlChar *name,
85
+ const xmlChar *ns);
86
+ XMLPUBFUN int XMLCALL
87
+ xmlStreamPushAttr (xmlStreamCtxtPtr stream,
88
+ const xmlChar *name,
89
+ const xmlChar *ns);
90
+ XMLPUBFUN int XMLCALL
91
+ xmlStreamPop (xmlStreamCtxtPtr stream);
92
+ XMLPUBFUN int XMLCALL
93
+ xmlStreamWantsAnyNode (xmlStreamCtxtPtr stream);
94
+ #ifdef __cplusplus
95
+ }
96
+ #endif
97
+
98
+ #endif /* LIBXML_PATTERN_ENABLED */
99
+
100
+ #endif /* __XML_PATTERN_H__ */
@@ -0,0 +1,217 @@
1
+ /*
2
+ * Summary: implementation of the Relax-NG validation
3
+ * Description: implementation of the Relax-NG validation
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Daniel Veillard
8
+ */
9
+
10
+ #ifndef __XML_RELAX_NG__
11
+ #define __XML_RELAX_NG__
12
+
13
+ #include <libxml/xmlversion.h>
14
+ #include <libxml/hash.h>
15
+ #include <libxml/xmlstring.h>
16
+
17
+ #ifdef LIBXML_SCHEMAS_ENABLED
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ typedef struct _xmlRelaxNG xmlRelaxNG;
24
+ typedef xmlRelaxNG *xmlRelaxNGPtr;
25
+
26
+
27
+ /**
28
+ * xmlRelaxNGValidityErrorFunc:
29
+ * @ctx: the validation context
30
+ * @msg: the message
31
+ * @...: extra arguments
32
+ *
33
+ * Signature of an error callback from a Relax-NG validation
34
+ */
35
+ typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx,
36
+ const char *msg,
37
+ ...) LIBXML_ATTR_FORMAT(2,3);
38
+
39
+ /**
40
+ * xmlRelaxNGValidityWarningFunc:
41
+ * @ctx: the validation context
42
+ * @msg: the message
43
+ * @...: extra arguments
44
+ *
45
+ * Signature of a warning callback from a Relax-NG validation
46
+ */
47
+ typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx,
48
+ const char *msg,
49
+ ...) LIBXML_ATTR_FORMAT(2,3);
50
+
51
+ /**
52
+ * A schemas validation context
53
+ */
54
+ typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
55
+ typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;
56
+
57
+ typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt;
58
+ typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr;
59
+
60
+ /*
61
+ * xmlRelaxNGValidErr:
62
+ *
63
+ * List of possible Relax NG validation errors
64
+ */
65
+ typedef enum {
66
+ XML_RELAXNG_OK = 0,
67
+ XML_RELAXNG_ERR_MEMORY,
68
+ XML_RELAXNG_ERR_TYPE,
69
+ XML_RELAXNG_ERR_TYPEVAL,
70
+ XML_RELAXNG_ERR_DUPID,
71
+ XML_RELAXNG_ERR_TYPECMP,
72
+ XML_RELAXNG_ERR_NOSTATE,
73
+ XML_RELAXNG_ERR_NODEFINE,
74
+ XML_RELAXNG_ERR_LISTEXTRA,
75
+ XML_RELAXNG_ERR_LISTEMPTY,
76
+ XML_RELAXNG_ERR_INTERNODATA,
77
+ XML_RELAXNG_ERR_INTERSEQ,
78
+ XML_RELAXNG_ERR_INTEREXTRA,
79
+ XML_RELAXNG_ERR_ELEMNAME,
80
+ XML_RELAXNG_ERR_ATTRNAME,
81
+ XML_RELAXNG_ERR_ELEMNONS,
82
+ XML_RELAXNG_ERR_ATTRNONS,
83
+ XML_RELAXNG_ERR_ELEMWRONGNS,
84
+ XML_RELAXNG_ERR_ATTRWRONGNS,
85
+ XML_RELAXNG_ERR_ELEMEXTRANS,
86
+ XML_RELAXNG_ERR_ATTREXTRANS,
87
+ XML_RELAXNG_ERR_ELEMNOTEMPTY,
88
+ XML_RELAXNG_ERR_NOELEM,
89
+ XML_RELAXNG_ERR_NOTELEM,
90
+ XML_RELAXNG_ERR_ATTRVALID,
91
+ XML_RELAXNG_ERR_CONTENTVALID,
92
+ XML_RELAXNG_ERR_EXTRACONTENT,
93
+ XML_RELAXNG_ERR_INVALIDATTR,
94
+ XML_RELAXNG_ERR_DATAELEM,
95
+ XML_RELAXNG_ERR_VALELEM,
96
+ XML_RELAXNG_ERR_LISTELEM,
97
+ XML_RELAXNG_ERR_DATATYPE,
98
+ XML_RELAXNG_ERR_VALUE,
99
+ XML_RELAXNG_ERR_LIST,
100
+ XML_RELAXNG_ERR_NOGRAMMAR,
101
+ XML_RELAXNG_ERR_EXTRADATA,
102
+ XML_RELAXNG_ERR_LACKDATA,
103
+ XML_RELAXNG_ERR_INTERNAL,
104
+ XML_RELAXNG_ERR_ELEMWRONG,
105
+ XML_RELAXNG_ERR_TEXTWRONG
106
+ } xmlRelaxNGValidErr;
107
+
108
+ /*
109
+ * xmlRelaxNGParserFlags:
110
+ *
111
+ * List of possible Relax NG Parser flags
112
+ */
113
+ typedef enum {
114
+ XML_RELAXNGP_NONE = 0,
115
+ XML_RELAXNGP_FREE_DOC = 1,
116
+ XML_RELAXNGP_CRNG = 2
117
+ } xmlRelaxNGParserFlag;
118
+
119
+ XMLPUBFUN int XMLCALL
120
+ xmlRelaxNGInitTypes (void);
121
+ XMLPUBFUN void XMLCALL
122
+ xmlRelaxNGCleanupTypes (void);
123
+
124
+ /*
125
+ * Interfaces for parsing.
126
+ */
127
+ XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
128
+ xmlRelaxNGNewParserCtxt (const char *URL);
129
+ XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
130
+ xmlRelaxNGNewMemParserCtxt (const char *buffer,
131
+ int size);
132
+ XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
133
+ xmlRelaxNGNewDocParserCtxt (xmlDocPtr doc);
134
+
135
+ XMLPUBFUN int XMLCALL
136
+ xmlRelaxParserSetFlag (xmlRelaxNGParserCtxtPtr ctxt,
137
+ int flag);
138
+
139
+ XMLPUBFUN void XMLCALL
140
+ xmlRelaxNGFreeParserCtxt (xmlRelaxNGParserCtxtPtr ctxt);
141
+ XMLPUBFUN void XMLCALL
142
+ xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
143
+ xmlRelaxNGValidityErrorFunc err,
144
+ xmlRelaxNGValidityWarningFunc warn,
145
+ void *ctx);
146
+ XMLPUBFUN int XMLCALL
147
+ xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
148
+ xmlRelaxNGValidityErrorFunc *err,
149
+ xmlRelaxNGValidityWarningFunc *warn,
150
+ void **ctx);
151
+ XMLPUBFUN void XMLCALL
152
+ xmlRelaxNGSetParserStructuredErrors(
153
+ xmlRelaxNGParserCtxtPtr ctxt,
154
+ xmlStructuredErrorFunc serror,
155
+ void *ctx);
156
+ XMLPUBFUN xmlRelaxNGPtr XMLCALL
157
+ xmlRelaxNGParse (xmlRelaxNGParserCtxtPtr ctxt);
158
+ XMLPUBFUN void XMLCALL
159
+ xmlRelaxNGFree (xmlRelaxNGPtr schema);
160
+ #ifdef LIBXML_OUTPUT_ENABLED
161
+ XMLPUBFUN void XMLCALL
162
+ xmlRelaxNGDump (FILE *output,
163
+ xmlRelaxNGPtr schema);
164
+ XMLPUBFUN void XMLCALL
165
+ xmlRelaxNGDumpTree (FILE * output,
166
+ xmlRelaxNGPtr schema);
167
+ #endif /* LIBXML_OUTPUT_ENABLED */
168
+ /*
169
+ * Interfaces for validating
170
+ */
171
+ XMLPUBFUN void XMLCALL
172
+ xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
173
+ xmlRelaxNGValidityErrorFunc err,
174
+ xmlRelaxNGValidityWarningFunc warn,
175
+ void *ctx);
176
+ XMLPUBFUN int XMLCALL
177
+ xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
178
+ xmlRelaxNGValidityErrorFunc *err,
179
+ xmlRelaxNGValidityWarningFunc *warn,
180
+ void **ctx);
181
+ XMLPUBFUN void XMLCALL
182
+ xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
183
+ xmlStructuredErrorFunc serror, void *ctx);
184
+ XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
185
+ xmlRelaxNGNewValidCtxt (xmlRelaxNGPtr schema);
186
+ XMLPUBFUN void XMLCALL
187
+ xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt);
188
+ XMLPUBFUN int XMLCALL
189
+ xmlRelaxNGValidateDoc (xmlRelaxNGValidCtxtPtr ctxt,
190
+ xmlDocPtr doc);
191
+ /*
192
+ * Interfaces for progressive validation when possible
193
+ */
194
+ XMLPUBFUN int XMLCALL
195
+ xmlRelaxNGValidatePushElement (xmlRelaxNGValidCtxtPtr ctxt,
196
+ xmlDocPtr doc,
197
+ xmlNodePtr elem);
198
+ XMLPUBFUN int XMLCALL
199
+ xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxtPtr ctxt,
200
+ const xmlChar *data,
201
+ int len);
202
+ XMLPUBFUN int XMLCALL
203
+ xmlRelaxNGValidatePopElement (xmlRelaxNGValidCtxtPtr ctxt,
204
+ xmlDocPtr doc,
205
+ xmlNodePtr elem);
206
+ XMLPUBFUN int XMLCALL
207
+ xmlRelaxNGValidateFullElement (xmlRelaxNGValidCtxtPtr ctxt,
208
+ xmlDocPtr doc,
209
+ xmlNodePtr elem);
210
+
211
+ #ifdef __cplusplus
212
+ }
213
+ #endif
214
+
215
+ #endif /* LIBXML_SCHEMAS_ENABLED */
216
+
217
+ #endif /* __XML_RELAX_NG__ */