nokogiri 1.10.10 → 1.14.3-aarch64-linux

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 (251) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +44 -0
  3. data/LICENSE-DEPENDENCIES.md +1632 -1022
  4. data/LICENSE.md +1 -1
  5. data/README.md +185 -96
  6. data/bin/nokogiri +63 -50
  7. data/dependencies.yml +33 -66
  8. data/ext/nokogiri/depend +38 -358
  9. data/ext/nokogiri/extconf.rb +819 -421
  10. data/ext/nokogiri/gumbo.c +594 -0
  11. data/ext/nokogiri/html4_document.c +166 -0
  12. data/ext/nokogiri/html4_element_description.c +294 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser_context.c +114 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/include/libexslt/exslt.h +108 -0
  17. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  18. data/ext/nokogiri/include/libexslt/exsltexports.h +63 -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 +204 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +172 -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 +81 -0
  28. data/ext/nokogiri/include/libxml2/libxml/encoding.h +232 -0
  29. data/ext/nokogiri/include/libxml2/libxml/entities.h +153 -0
  30. data/ext/nokogiri/include/libxml2/libxml/globals.h +499 -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 +186 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  35. data/ext/nokogiri/include/libxml2/libxml/parser.h +1244 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +656 -0
  37. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  38. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +218 -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 +91 -0
  42. data/ext/nokogiri/include/libxml2/libxml/tree.h +1312 -0
  43. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  44. data/ext/nokogiri/include/libxml2/libxml/valid.h +463 -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 +947 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +226 -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 +152 -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 +503 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpath.h +575 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +137 -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 +1982 -0
  82. data/ext/nokogiri/include/libxslt/xsltconfig.h +179 -0
  83. data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
  84. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  85. data/ext/nokogiri/include/libxslt/xsltutils.h +310 -0
  86. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  87. data/ext/nokogiri/nokogiri.c +228 -104
  88. data/ext/nokogiri/nokogiri.h +204 -90
  89. data/ext/nokogiri/test_global_handlers.c +40 -0
  90. data/ext/nokogiri/xml_attr.c +17 -17
  91. data/ext/nokogiri/xml_attribute_decl.c +22 -22
  92. data/ext/nokogiri/xml_cdata.c +15 -20
  93. data/ext/nokogiri/xml_comment.c +19 -26
  94. data/ext/nokogiri/xml_document.c +306 -225
  95. data/ext/nokogiri/xml_document_fragment.c +12 -16
  96. data/ext/nokogiri/xml_dtd.c +64 -58
  97. data/ext/nokogiri/xml_element_content.c +33 -28
  98. data/ext/nokogiri/xml_element_decl.c +26 -26
  99. data/ext/nokogiri/xml_encoding_handler.c +45 -20
  100. data/ext/nokogiri/xml_entity_decl.c +37 -35
  101. data/ext/nokogiri/xml_entity_reference.c +16 -18
  102. data/ext/nokogiri/xml_namespace.c +136 -61
  103. data/ext/nokogiri/xml_node.c +1344 -672
  104. data/ext/nokogiri/xml_node_set.c +178 -168
  105. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  106. data/ext/nokogiri/xml_reader.c +316 -190
  107. data/ext/nokogiri/xml_relax_ng.c +52 -30
  108. data/ext/nokogiri/xml_sax_parser.c +130 -124
  109. data/ext/nokogiri/xml_sax_parser_context.c +110 -89
  110. data/ext/nokogiri/xml_sax_push_parser.c +36 -29
  111. data/ext/nokogiri/xml_schema.c +98 -50
  112. data/ext/nokogiri/xml_syntax_error.c +42 -21
  113. data/ext/nokogiri/xml_text.c +14 -18
  114. data/ext/nokogiri/xml_xpath_context.c +263 -148
  115. data/ext/nokogiri/xslt_stylesheet.c +271 -178
  116. data/gumbo-parser/CHANGES.md +63 -0
  117. data/gumbo-parser/Makefile +111 -0
  118. data/gumbo-parser/THANKS +27 -0
  119. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  120. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  121. data/lib/nokogiri/3.1/nokogiri.so +0 -0
  122. data/lib/nokogiri/3.2/nokogiri.so +0 -0
  123. data/lib/nokogiri/class_resolver.rb +67 -0
  124. data/lib/nokogiri/css/node.rb +10 -8
  125. data/lib/nokogiri/css/parser.rb +397 -377
  126. data/lib/nokogiri/css/parser.y +250 -245
  127. data/lib/nokogiri/css/parser_extras.rb +54 -49
  128. data/lib/nokogiri/css/syntax_error.rb +3 -1
  129. data/lib/nokogiri/css/tokenizer.rb +5 -3
  130. data/lib/nokogiri/css/tokenizer.rex +3 -2
  131. data/lib/nokogiri/css/xpath_visitor.rb +223 -94
  132. data/lib/nokogiri/css.rb +56 -17
  133. data/lib/nokogiri/decorators/slop.rb +9 -7
  134. data/lib/nokogiri/encoding_handler.rb +57 -0
  135. data/lib/nokogiri/extension.rb +32 -0
  136. data/lib/nokogiri/gumbo.rb +15 -0
  137. data/lib/nokogiri/html.rb +38 -27
  138. data/lib/nokogiri/{html → html4}/builder.rb +4 -2
  139. data/lib/nokogiri/html4/document.rb +214 -0
  140. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  141. data/lib/nokogiri/{html → html4}/element_description.rb +3 -1
  142. data/lib/nokogiri/html4/element_description_defaults.rb +572 -0
  143. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  144. data/lib/nokogiri/{html → html4}/entity_lookup.rb +4 -2
  145. data/lib/nokogiri/{html → html4}/sax/parser.rb +17 -16
  146. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  147. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +12 -11
  148. data/lib/nokogiri/html4.rb +47 -0
  149. data/lib/nokogiri/html5/document.rb +168 -0
  150. data/lib/nokogiri/html5/document_fragment.rb +90 -0
  151. data/lib/nokogiri/html5/node.rb +98 -0
  152. data/lib/nokogiri/html5.rb +389 -0
  153. data/lib/nokogiri/jruby/dependencies.rb +3 -0
  154. data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
  155. data/lib/nokogiri/syntax_error.rb +2 -0
  156. data/lib/nokogiri/version/constant.rb +6 -0
  157. data/lib/nokogiri/version/info.rb +223 -0
  158. data/lib/nokogiri/version.rb +3 -108
  159. data/lib/nokogiri/xml/attr.rb +55 -3
  160. data/lib/nokogiri/xml/attribute_decl.rb +3 -1
  161. data/lib/nokogiri/xml/builder.rb +75 -34
  162. data/lib/nokogiri/xml/cdata.rb +3 -1
  163. data/lib/nokogiri/xml/character_data.rb +2 -0
  164. data/lib/nokogiri/xml/document.rb +312 -126
  165. data/lib/nokogiri/xml/document_fragment.rb +93 -48
  166. data/lib/nokogiri/xml/dtd.rb +4 -2
  167. data/lib/nokogiri/xml/element_content.rb +2 -0
  168. data/lib/nokogiri/xml/element_decl.rb +3 -1
  169. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  170. data/lib/nokogiri/xml/entity_reference.rb +2 -0
  171. data/lib/nokogiri/xml/namespace.rb +45 -0
  172. data/lib/nokogiri/xml/node/save_options.rb +15 -8
  173. data/lib/nokogiri/xml/node.rb +1067 -406
  174. data/lib/nokogiri/xml/node_set.rb +135 -59
  175. data/lib/nokogiri/xml/notation.rb +13 -0
  176. data/lib/nokogiri/xml/parse_options.rb +145 -52
  177. data/lib/nokogiri/xml/pp/character_data.rb +9 -6
  178. data/lib/nokogiri/xml/pp/node.rb +27 -26
  179. data/lib/nokogiri/xml/pp.rb +4 -2
  180. data/lib/nokogiri/xml/processing_instruction.rb +4 -1
  181. data/lib/nokogiri/xml/reader.rb +21 -28
  182. data/lib/nokogiri/xml/relax_ng.rb +8 -2
  183. data/lib/nokogiri/xml/sax/document.rb +45 -49
  184. data/lib/nokogiri/xml/sax/parser.rb +39 -36
  185. data/lib/nokogiri/xml/sax/parser_context.rb +8 -3
  186. data/lib/nokogiri/xml/sax/push_parser.rb +6 -5
  187. data/lib/nokogiri/xml/sax.rb +6 -4
  188. data/lib/nokogiri/xml/schema.rb +19 -9
  189. data/lib/nokogiri/xml/searchable.rb +112 -72
  190. data/lib/nokogiri/xml/syntax_error.rb +6 -4
  191. data/lib/nokogiri/xml/text.rb +2 -0
  192. data/lib/nokogiri/xml/xpath/syntax_error.rb +4 -2
  193. data/lib/nokogiri/xml/xpath.rb +15 -4
  194. data/lib/nokogiri/xml/xpath_context.rb +3 -3
  195. data/lib/nokogiri/xml.rb +38 -37
  196. data/lib/nokogiri/xslt/stylesheet.rb +3 -1
  197. data/lib/nokogiri/xslt.rb +29 -20
  198. data/lib/nokogiri.rb +48 -72
  199. data/lib/xsd/xmlparser/nokogiri.rb +29 -25
  200. metadata +146 -307
  201. data/ext/nokogiri/html_document.c +0 -170
  202. data/ext/nokogiri/html_document.h +0 -10
  203. data/ext/nokogiri/html_element_description.c +0 -279
  204. data/ext/nokogiri/html_element_description.h +0 -10
  205. data/ext/nokogiri/html_entity_lookup.c +0 -32
  206. data/ext/nokogiri/html_entity_lookup.h +0 -8
  207. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  208. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  209. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  210. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  211. data/ext/nokogiri/xml_attr.h +0 -9
  212. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  213. data/ext/nokogiri/xml_cdata.h +0 -9
  214. data/ext/nokogiri/xml_comment.h +0 -9
  215. data/ext/nokogiri/xml_document.h +0 -23
  216. data/ext/nokogiri/xml_document_fragment.h +0 -10
  217. data/ext/nokogiri/xml_dtd.h +0 -10
  218. data/ext/nokogiri/xml_element_content.h +0 -10
  219. data/ext/nokogiri/xml_element_decl.h +0 -9
  220. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  221. data/ext/nokogiri/xml_entity_decl.h +0 -10
  222. data/ext/nokogiri/xml_entity_reference.h +0 -9
  223. data/ext/nokogiri/xml_io.c +0 -61
  224. data/ext/nokogiri/xml_io.h +0 -11
  225. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  226. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  227. data/ext/nokogiri/xml_namespace.h +0 -14
  228. data/ext/nokogiri/xml_node.h +0 -13
  229. data/ext/nokogiri/xml_node_set.h +0 -12
  230. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  231. data/ext/nokogiri/xml_reader.h +0 -10
  232. data/ext/nokogiri/xml_relax_ng.h +0 -9
  233. data/ext/nokogiri/xml_sax_parser.h +0 -39
  234. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  235. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  236. data/ext/nokogiri/xml_schema.h +0 -9
  237. data/ext/nokogiri/xml_syntax_error.h +0 -13
  238. data/ext/nokogiri/xml_text.h +0 -9
  239. data/ext/nokogiri/xml_xpath_context.h +0 -10
  240. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  241. data/lib/nokogiri/html/document.rb +0 -335
  242. data/lib/nokogiri/html/document_fragment.rb +0 -49
  243. data/lib/nokogiri/html/element_description_defaults.rb +0 -671
  244. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  245. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  246. data/patches/libxml2/0002-Remove-script-macro-support.patch +0 -40
  247. data/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch +0 -44
  248. data/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +0 -25
  249. data/patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch +0 -32
  250. data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
  251. data/ports/archives/libxslt-1.1.34.tar.gz +0 -0
@@ -0,0 +1,88 @@
1
+ /*
2
+ * Summary: the XML document serializer
3
+ * Description: API to save document or subtree of document
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Daniel Veillard
8
+ */
9
+
10
+ #ifndef __XML_XMLSAVE_H__
11
+ #define __XML_XMLSAVE_H__
12
+
13
+ #include <libxml/xmlversion.h>
14
+ #include <libxml/tree.h>
15
+ #include <libxml/encoding.h>
16
+ #include <libxml/xmlIO.h>
17
+
18
+ #ifdef LIBXML_OUTPUT_ENABLED
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ /**
24
+ * xmlSaveOption:
25
+ *
26
+ * This is the set of XML save options that can be passed down
27
+ * to the xmlSaveToFd() and similar calls.
28
+ */
29
+ typedef enum {
30
+ XML_SAVE_FORMAT = 1<<0, /* format save output */
31
+ XML_SAVE_NO_DECL = 1<<1, /* drop the xml declaration */
32
+ XML_SAVE_NO_EMPTY = 1<<2, /* no empty tags */
33
+ XML_SAVE_NO_XHTML = 1<<3, /* disable XHTML1 specific rules */
34
+ XML_SAVE_XHTML = 1<<4, /* force XHTML1 specific rules */
35
+ XML_SAVE_AS_XML = 1<<5, /* force XML serialization on HTML doc */
36
+ XML_SAVE_AS_HTML = 1<<6, /* force HTML serialization on XML doc */
37
+ XML_SAVE_WSNONSIG = 1<<7 /* format with non-significant whitespace */
38
+ } xmlSaveOption;
39
+
40
+
41
+ typedef struct _xmlSaveCtxt xmlSaveCtxt;
42
+ typedef xmlSaveCtxt *xmlSaveCtxtPtr;
43
+
44
+ XMLPUBFUN xmlSaveCtxtPtr XMLCALL
45
+ xmlSaveToFd (int fd,
46
+ const char *encoding,
47
+ int options);
48
+ XMLPUBFUN xmlSaveCtxtPtr XMLCALL
49
+ xmlSaveToFilename (const char *filename,
50
+ const char *encoding,
51
+ int options);
52
+
53
+ XMLPUBFUN xmlSaveCtxtPtr XMLCALL
54
+ xmlSaveToBuffer (xmlBufferPtr buffer,
55
+ const char *encoding,
56
+ int options);
57
+
58
+ XMLPUBFUN xmlSaveCtxtPtr XMLCALL
59
+ xmlSaveToIO (xmlOutputWriteCallback iowrite,
60
+ xmlOutputCloseCallback ioclose,
61
+ void *ioctx,
62
+ const char *encoding,
63
+ int options);
64
+
65
+ XMLPUBFUN long XMLCALL
66
+ xmlSaveDoc (xmlSaveCtxtPtr ctxt,
67
+ xmlDocPtr doc);
68
+ XMLPUBFUN long XMLCALL
69
+ xmlSaveTree (xmlSaveCtxtPtr ctxt,
70
+ xmlNodePtr node);
71
+
72
+ XMLPUBFUN int XMLCALL
73
+ xmlSaveFlush (xmlSaveCtxtPtr ctxt);
74
+ XMLPUBFUN int XMLCALL
75
+ xmlSaveClose (xmlSaveCtxtPtr ctxt);
76
+ XMLPUBFUN int XMLCALL
77
+ xmlSaveSetEscape (xmlSaveCtxtPtr ctxt,
78
+ xmlCharEncodingOutputFunc escape);
79
+ XMLPUBFUN int XMLCALL
80
+ xmlSaveSetAttrEscape (xmlSaveCtxtPtr ctxt,
81
+ xmlCharEncodingOutputFunc escape);
82
+ #ifdef __cplusplus
83
+ }
84
+ #endif
85
+ #endif /* LIBXML_OUTPUT_ENABLED */
86
+ #endif /* __XML_XMLSAVE_H__ */
87
+
88
+
@@ -0,0 +1,246 @@
1
+ /*
2
+ * Summary: incomplete XML Schemas structure implementation
3
+ * Description: interface to the XML Schemas handling and schema validity
4
+ * checking, it is incomplete right now.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+
12
+ #ifndef __XML_SCHEMA_H__
13
+ #define __XML_SCHEMA_H__
14
+
15
+ #include <libxml/xmlversion.h>
16
+
17
+ #ifdef LIBXML_SCHEMAS_ENABLED
18
+
19
+ #include <libxml/tree.h>
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ /**
26
+ * This error codes are obsolete; not used any more.
27
+ */
28
+ typedef enum {
29
+ XML_SCHEMAS_ERR_OK = 0,
30
+ XML_SCHEMAS_ERR_NOROOT = 1,
31
+ XML_SCHEMAS_ERR_UNDECLAREDELEM,
32
+ XML_SCHEMAS_ERR_NOTTOPLEVEL,
33
+ XML_SCHEMAS_ERR_MISSING,
34
+ XML_SCHEMAS_ERR_WRONGELEM,
35
+ XML_SCHEMAS_ERR_NOTYPE,
36
+ XML_SCHEMAS_ERR_NOROLLBACK,
37
+ XML_SCHEMAS_ERR_ISABSTRACT,
38
+ XML_SCHEMAS_ERR_NOTEMPTY,
39
+ XML_SCHEMAS_ERR_ELEMCONT,
40
+ XML_SCHEMAS_ERR_HAVEDEFAULT,
41
+ XML_SCHEMAS_ERR_NOTNILLABLE,
42
+ XML_SCHEMAS_ERR_EXTRACONTENT,
43
+ XML_SCHEMAS_ERR_INVALIDATTR,
44
+ XML_SCHEMAS_ERR_INVALIDELEM,
45
+ XML_SCHEMAS_ERR_NOTDETERMINIST,
46
+ XML_SCHEMAS_ERR_CONSTRUCT,
47
+ XML_SCHEMAS_ERR_INTERNAL,
48
+ XML_SCHEMAS_ERR_NOTSIMPLE,
49
+ XML_SCHEMAS_ERR_ATTRUNKNOWN,
50
+ XML_SCHEMAS_ERR_ATTRINVALID,
51
+ XML_SCHEMAS_ERR_VALUE,
52
+ XML_SCHEMAS_ERR_FACET,
53
+ XML_SCHEMAS_ERR_,
54
+ XML_SCHEMAS_ERR_XXX
55
+ } xmlSchemaValidError;
56
+
57
+ /*
58
+ * ATTENTION: Change xmlSchemaSetValidOptions's check
59
+ * for invalid values, if adding to the validation
60
+ * options below.
61
+ */
62
+ /**
63
+ * xmlSchemaValidOption:
64
+ *
65
+ * This is the set of XML Schema validation options.
66
+ */
67
+ typedef enum {
68
+ XML_SCHEMA_VAL_VC_I_CREATE = 1<<0
69
+ /* Default/fixed: create an attribute node
70
+ * or an element's text node on the instance.
71
+ */
72
+ } xmlSchemaValidOption;
73
+
74
+ /*
75
+ XML_SCHEMA_VAL_XSI_ASSEMBLE = 1<<1,
76
+ * assemble schemata using
77
+ * xsi:schemaLocation and
78
+ * xsi:noNamespaceSchemaLocation
79
+ */
80
+
81
+ /**
82
+ * The schemas related types are kept internal
83
+ */
84
+ typedef struct _xmlSchema xmlSchema;
85
+ typedef xmlSchema *xmlSchemaPtr;
86
+
87
+ /**
88
+ * xmlSchemaValidityErrorFunc:
89
+ * @ctx: the validation context
90
+ * @msg: the message
91
+ * @...: extra arguments
92
+ *
93
+ * Signature of an error callback from an XSD validation
94
+ */
95
+ typedef void (XMLCDECL *xmlSchemaValidityErrorFunc)
96
+ (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
97
+
98
+ /**
99
+ * xmlSchemaValidityWarningFunc:
100
+ * @ctx: the validation context
101
+ * @msg: the message
102
+ * @...: extra arguments
103
+ *
104
+ * Signature of a warning callback from an XSD validation
105
+ */
106
+ typedef void (XMLCDECL *xmlSchemaValidityWarningFunc)
107
+ (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
108
+
109
+ /**
110
+ * A schemas validation context
111
+ */
112
+ typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
113
+ typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;
114
+
115
+ typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
116
+ typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;
117
+
118
+ /**
119
+ * xmlSchemaValidityLocatorFunc:
120
+ * @ctx: user provided context
121
+ * @file: returned file information
122
+ * @line: returned line information
123
+ *
124
+ * A schemas validation locator, a callback called by the validator.
125
+ * This is used when file or node information are not available
126
+ * to find out what file and line number are affected
127
+ *
128
+ * Returns: 0 in case of success and -1 in case of error
129
+ */
130
+
131
+ typedef int (XMLCDECL *xmlSchemaValidityLocatorFunc) (void *ctx,
132
+ const char **file, unsigned long *line);
133
+
134
+ /*
135
+ * Interfaces for parsing.
136
+ */
137
+ XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
138
+ xmlSchemaNewParserCtxt (const char *URL);
139
+ XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
140
+ xmlSchemaNewMemParserCtxt (const char *buffer,
141
+ int size);
142
+ XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
143
+ xmlSchemaNewDocParserCtxt (xmlDocPtr doc);
144
+ XMLPUBFUN void XMLCALL
145
+ xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt);
146
+ XMLPUBFUN void XMLCALL
147
+ xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt,
148
+ xmlSchemaValidityErrorFunc err,
149
+ xmlSchemaValidityWarningFunc warn,
150
+ void *ctx);
151
+ XMLPUBFUN void XMLCALL
152
+ xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
153
+ xmlStructuredErrorFunc serror,
154
+ void *ctx);
155
+ XMLPUBFUN int XMLCALL
156
+ xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
157
+ xmlSchemaValidityErrorFunc * err,
158
+ xmlSchemaValidityWarningFunc * warn,
159
+ void **ctx);
160
+ XMLPUBFUN int XMLCALL
161
+ xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt);
162
+
163
+ XMLPUBFUN xmlSchemaPtr XMLCALL
164
+ xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt);
165
+ XMLPUBFUN void XMLCALL
166
+ xmlSchemaFree (xmlSchemaPtr schema);
167
+ #ifdef LIBXML_OUTPUT_ENABLED
168
+ XMLPUBFUN void XMLCALL
169
+ xmlSchemaDump (FILE *output,
170
+ xmlSchemaPtr schema);
171
+ #endif /* LIBXML_OUTPUT_ENABLED */
172
+ /*
173
+ * Interfaces for validating
174
+ */
175
+ XMLPUBFUN void XMLCALL
176
+ xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt,
177
+ xmlSchemaValidityErrorFunc err,
178
+ xmlSchemaValidityWarningFunc warn,
179
+ void *ctx);
180
+ XMLPUBFUN void XMLCALL
181
+ xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
182
+ xmlStructuredErrorFunc serror,
183
+ void *ctx);
184
+ XMLPUBFUN int XMLCALL
185
+ xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt,
186
+ xmlSchemaValidityErrorFunc *err,
187
+ xmlSchemaValidityWarningFunc *warn,
188
+ void **ctx);
189
+ XMLPUBFUN int XMLCALL
190
+ xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt,
191
+ int options);
192
+ XMLPUBFUN void XMLCALL
193
+ xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt,
194
+ const char *filename);
195
+ XMLPUBFUN int XMLCALL
196
+ xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
197
+
198
+ XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
199
+ xmlSchemaNewValidCtxt (xmlSchemaPtr schema);
200
+ XMLPUBFUN void XMLCALL
201
+ xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt);
202
+ XMLPUBFUN int XMLCALL
203
+ xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt,
204
+ xmlDocPtr instance);
205
+ XMLPUBFUN int XMLCALL
206
+ xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
207
+ xmlNodePtr elem);
208
+ XMLPUBFUN int XMLCALL
209
+ xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt,
210
+ xmlParserInputBufferPtr input,
211
+ xmlCharEncoding enc,
212
+ xmlSAXHandlerPtr sax,
213
+ void *user_data);
214
+ XMLPUBFUN int XMLCALL
215
+ xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt,
216
+ const char * filename,
217
+ int options);
218
+
219
+ XMLPUBFUN xmlParserCtxtPtr XMLCALL
220
+ xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt);
221
+
222
+ /*
223
+ * Interface to insert Schemas SAX validation in a SAX stream
224
+ */
225
+ typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
226
+ typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;
227
+
228
+ XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL
229
+ xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt,
230
+ xmlSAXHandlerPtr *sax,
231
+ void **user_data);
232
+ XMLPUBFUN int XMLCALL
233
+ xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug);
234
+
235
+
236
+ XMLPUBFUN void XMLCALL
237
+ xmlSchemaValidateSetLocator (xmlSchemaValidCtxtPtr vctxt,
238
+ xmlSchemaValidityLocatorFunc f,
239
+ void *ctxt);
240
+
241
+ #ifdef __cplusplus
242
+ }
243
+ #endif
244
+
245
+ #endif /* LIBXML_SCHEMAS_ENABLED */
246
+ #endif /* __XML_SCHEMA_H__ */
@@ -0,0 +1,152 @@
1
+ /*
2
+ * Summary: implementation of XML Schema Datatypes
3
+ * Description: module providing the XML Schema Datatypes implementation
4
+ * both definition and validity checking
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+
12
+ #ifndef __XML_SCHEMA_TYPES_H__
13
+ #define __XML_SCHEMA_TYPES_H__
14
+
15
+ #include <libxml/xmlversion.h>
16
+
17
+ #ifdef LIBXML_SCHEMAS_ENABLED
18
+
19
+ #include <libxml/schemasInternals.h>
20
+ #include <libxml/xmlschemas.h>
21
+
22
+ #ifdef __cplusplus
23
+ extern "C" {
24
+ #endif
25
+
26
+ typedef enum {
27
+ XML_SCHEMA_WHITESPACE_UNKNOWN = 0,
28
+ XML_SCHEMA_WHITESPACE_PRESERVE = 1,
29
+ XML_SCHEMA_WHITESPACE_REPLACE = 2,
30
+ XML_SCHEMA_WHITESPACE_COLLAPSE = 3
31
+ } xmlSchemaWhitespaceValueType;
32
+
33
+ XMLPUBFUN void XMLCALL
34
+ xmlSchemaInitTypes (void);
35
+ XML_DEPRECATED
36
+ XMLPUBFUN void XMLCALL
37
+ xmlSchemaCleanupTypes (void);
38
+ XMLPUBFUN xmlSchemaTypePtr XMLCALL
39
+ xmlSchemaGetPredefinedType (const xmlChar *name,
40
+ const xmlChar *ns);
41
+ XMLPUBFUN int XMLCALL
42
+ xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type,
43
+ const xmlChar *value,
44
+ xmlSchemaValPtr *val);
45
+ XMLPUBFUN int XMLCALL
46
+ xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type,
47
+ const xmlChar *value,
48
+ xmlSchemaValPtr *val,
49
+ xmlNodePtr node);
50
+ XMLPUBFUN int XMLCALL
51
+ xmlSchemaValidateFacet (xmlSchemaTypePtr base,
52
+ xmlSchemaFacetPtr facet,
53
+ const xmlChar *value,
54
+ xmlSchemaValPtr val);
55
+ XMLPUBFUN int XMLCALL
56
+ xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet,
57
+ xmlSchemaWhitespaceValueType fws,
58
+ xmlSchemaValType valType,
59
+ const xmlChar *value,
60
+ xmlSchemaValPtr val,
61
+ xmlSchemaWhitespaceValueType ws);
62
+ XMLPUBFUN void XMLCALL
63
+ xmlSchemaFreeValue (xmlSchemaValPtr val);
64
+ XMLPUBFUN xmlSchemaFacetPtr XMLCALL
65
+ xmlSchemaNewFacet (void);
66
+ XMLPUBFUN int XMLCALL
67
+ xmlSchemaCheckFacet (xmlSchemaFacetPtr facet,
68
+ xmlSchemaTypePtr typeDecl,
69
+ xmlSchemaParserCtxtPtr ctxt,
70
+ const xmlChar *name);
71
+ XMLPUBFUN void XMLCALL
72
+ xmlSchemaFreeFacet (xmlSchemaFacetPtr facet);
73
+ XMLPUBFUN int XMLCALL
74
+ xmlSchemaCompareValues (xmlSchemaValPtr x,
75
+ xmlSchemaValPtr y);
76
+ XMLPUBFUN xmlSchemaTypePtr XMLCALL
77
+ xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type);
78
+ XMLPUBFUN int XMLCALL
79
+ xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet,
80
+ const xmlChar *value,
81
+ unsigned long actualLen,
82
+ unsigned long *expectedLen);
83
+ XMLPUBFUN xmlSchemaTypePtr XMLCALL
84
+ xmlSchemaGetBuiltInType (xmlSchemaValType type);
85
+ XMLPUBFUN int XMLCALL
86
+ xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type,
87
+ int facetType);
88
+ XMLPUBFUN xmlChar * XMLCALL
89
+ xmlSchemaCollapseString (const xmlChar *value);
90
+ XMLPUBFUN xmlChar * XMLCALL
91
+ xmlSchemaWhiteSpaceReplace (const xmlChar *value);
92
+ XMLPUBFUN unsigned long XMLCALL
93
+ xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet);
94
+ XMLPUBFUN int XMLCALL
95
+ xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type,
96
+ xmlSchemaFacetPtr facet,
97
+ const xmlChar *value,
98
+ xmlSchemaValPtr val,
99
+ unsigned long *length);
100
+ XMLPUBFUN int XMLCALL
101
+ xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
102
+ xmlSchemaValType valType,
103
+ const xmlChar *value,
104
+ xmlSchemaValPtr val,
105
+ unsigned long *length,
106
+ xmlSchemaWhitespaceValueType ws);
107
+ XMLPUBFUN int XMLCALL
108
+ xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
109
+ const xmlChar *value,
110
+ xmlSchemaValPtr *val,
111
+ xmlNodePtr node);
112
+ XMLPUBFUN int XMLCALL
113
+ xmlSchemaGetCanonValue (xmlSchemaValPtr val,
114
+ const xmlChar **retValue);
115
+ XMLPUBFUN int XMLCALL
116
+ xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val,
117
+ const xmlChar **retValue,
118
+ xmlSchemaWhitespaceValueType ws);
119
+ XMLPUBFUN int XMLCALL
120
+ xmlSchemaValueAppend (xmlSchemaValPtr prev,
121
+ xmlSchemaValPtr cur);
122
+ XMLPUBFUN xmlSchemaValPtr XMLCALL
123
+ xmlSchemaValueGetNext (xmlSchemaValPtr cur);
124
+ XMLPUBFUN const xmlChar * XMLCALL
125
+ xmlSchemaValueGetAsString (xmlSchemaValPtr val);
126
+ XMLPUBFUN int XMLCALL
127
+ xmlSchemaValueGetAsBoolean (xmlSchemaValPtr val);
128
+ XMLPUBFUN xmlSchemaValPtr XMLCALL
129
+ xmlSchemaNewStringValue (xmlSchemaValType type,
130
+ const xmlChar *value);
131
+ XMLPUBFUN xmlSchemaValPtr XMLCALL
132
+ xmlSchemaNewNOTATIONValue (const xmlChar *name,
133
+ const xmlChar *ns);
134
+ XMLPUBFUN xmlSchemaValPtr XMLCALL
135
+ xmlSchemaNewQNameValue (const xmlChar *namespaceName,
136
+ const xmlChar *localName);
137
+ XMLPUBFUN int XMLCALL
138
+ xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x,
139
+ xmlSchemaWhitespaceValueType xws,
140
+ xmlSchemaValPtr y,
141
+ xmlSchemaWhitespaceValueType yws);
142
+ XMLPUBFUN xmlSchemaValPtr XMLCALL
143
+ xmlSchemaCopyValue (xmlSchemaValPtr val);
144
+ XMLPUBFUN xmlSchemaValType XMLCALL
145
+ xmlSchemaGetValType (xmlSchemaValPtr val);
146
+
147
+ #ifdef __cplusplus
148
+ }
149
+ #endif
150
+
151
+ #endif /* LIBXML_SCHEMAS_ENABLED */
152
+ #endif /* __XML_SCHEMA_TYPES_H__ */
@@ -0,0 +1,140 @@
1
+ /*
2
+ * Summary: set of routines to process strings
3
+ * Description: type and interfaces needed for the internal string handling
4
+ * of the library, especially UTF8 processing.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_STRING_H__
12
+ #define __XML_STRING_H__
13
+
14
+ #include <stdarg.h>
15
+ #include <libxml/xmlversion.h>
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ /**
22
+ * xmlChar:
23
+ *
24
+ * This is a basic byte in an UTF-8 encoded string.
25
+ * It's unsigned allowing to pinpoint case where char * are assigned
26
+ * to xmlChar * (possibly making serialization back impossible).
27
+ */
28
+ typedef unsigned char xmlChar;
29
+
30
+ /**
31
+ * BAD_CAST:
32
+ *
33
+ * Macro to cast a string to an xmlChar * when one know its safe.
34
+ */
35
+ #define BAD_CAST (xmlChar *)
36
+
37
+ /*
38
+ * xmlChar handling
39
+ */
40
+ XMLPUBFUN xmlChar * XMLCALL
41
+ xmlStrdup (const xmlChar *cur);
42
+ XMLPUBFUN xmlChar * XMLCALL
43
+ xmlStrndup (const xmlChar *cur,
44
+ int len);
45
+ XMLPUBFUN xmlChar * XMLCALL
46
+ xmlCharStrndup (const char *cur,
47
+ int len);
48
+ XMLPUBFUN xmlChar * XMLCALL
49
+ xmlCharStrdup (const char *cur);
50
+ XMLPUBFUN xmlChar * XMLCALL
51
+ xmlStrsub (const xmlChar *str,
52
+ int start,
53
+ int len);
54
+ XMLPUBFUN const xmlChar * XMLCALL
55
+ xmlStrchr (const xmlChar *str,
56
+ xmlChar val);
57
+ XMLPUBFUN const xmlChar * XMLCALL
58
+ xmlStrstr (const xmlChar *str,
59
+ const xmlChar *val);
60
+ XMLPUBFUN const xmlChar * XMLCALL
61
+ xmlStrcasestr (const xmlChar *str,
62
+ const xmlChar *val);
63
+ XMLPUBFUN int XMLCALL
64
+ xmlStrcmp (const xmlChar *str1,
65
+ const xmlChar *str2);
66
+ XMLPUBFUN int XMLCALL
67
+ xmlStrncmp (const xmlChar *str1,
68
+ const xmlChar *str2,
69
+ int len);
70
+ XMLPUBFUN int XMLCALL
71
+ xmlStrcasecmp (const xmlChar *str1,
72
+ const xmlChar *str2);
73
+ XMLPUBFUN int XMLCALL
74
+ xmlStrncasecmp (const xmlChar *str1,
75
+ const xmlChar *str2,
76
+ int len);
77
+ XMLPUBFUN int XMLCALL
78
+ xmlStrEqual (const xmlChar *str1,
79
+ const xmlChar *str2);
80
+ XMLPUBFUN int XMLCALL
81
+ xmlStrQEqual (const xmlChar *pref,
82
+ const xmlChar *name,
83
+ const xmlChar *str);
84
+ XMLPUBFUN int XMLCALL
85
+ xmlStrlen (const xmlChar *str);
86
+ XMLPUBFUN xmlChar * XMLCALL
87
+ xmlStrcat (xmlChar *cur,
88
+ const xmlChar *add);
89
+ XMLPUBFUN xmlChar * XMLCALL
90
+ xmlStrncat (xmlChar *cur,
91
+ const xmlChar *add,
92
+ int len);
93
+ XMLPUBFUN xmlChar * XMLCALL
94
+ xmlStrncatNew (const xmlChar *str1,
95
+ const xmlChar *str2,
96
+ int len);
97
+ XMLPUBFUN int XMLCALL
98
+ xmlStrPrintf (xmlChar *buf,
99
+ int len,
100
+ const char *msg,
101
+ ...) LIBXML_ATTR_FORMAT(3,4);
102
+ XMLPUBFUN int XMLCALL
103
+ xmlStrVPrintf (xmlChar *buf,
104
+ int len,
105
+ const char *msg,
106
+ va_list ap) LIBXML_ATTR_FORMAT(3,0);
107
+
108
+ XMLPUBFUN int XMLCALL
109
+ xmlGetUTF8Char (const unsigned char *utf,
110
+ int *len);
111
+ XMLPUBFUN int XMLCALL
112
+ xmlCheckUTF8 (const unsigned char *utf);
113
+ XMLPUBFUN int XMLCALL
114
+ xmlUTF8Strsize (const xmlChar *utf,
115
+ int len);
116
+ XMLPUBFUN xmlChar * XMLCALL
117
+ xmlUTF8Strndup (const xmlChar *utf,
118
+ int len);
119
+ XMLPUBFUN const xmlChar * XMLCALL
120
+ xmlUTF8Strpos (const xmlChar *utf,
121
+ int pos);
122
+ XMLPUBFUN int XMLCALL
123
+ xmlUTF8Strloc (const xmlChar *utf,
124
+ const xmlChar *utfchar);
125
+ XMLPUBFUN xmlChar * XMLCALL
126
+ xmlUTF8Strsub (const xmlChar *utf,
127
+ int start,
128
+ int len);
129
+ XMLPUBFUN int XMLCALL
130
+ xmlUTF8Strlen (const xmlChar *utf);
131
+ XMLPUBFUN int XMLCALL
132
+ xmlUTF8Size (const xmlChar *utf);
133
+ XMLPUBFUN int XMLCALL
134
+ xmlUTF8Charcmp (const xmlChar *utf1,
135
+ const xmlChar *utf2);
136
+
137
+ #ifdef __cplusplus
138
+ }
139
+ #endif
140
+ #endif /* __XML_STRING_H__ */