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.

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 +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,102 @@
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
45
+ xmlSaveToFd (int fd,
46
+ const char *encoding,
47
+ int options);
48
+ XMLPUBFUN xmlSaveCtxtPtr
49
+ xmlSaveToFilename (const char *filename,
50
+ const char *encoding,
51
+ int options);
52
+
53
+ XMLPUBFUN xmlSaveCtxtPtr
54
+ xmlSaveToBuffer (xmlBufferPtr buffer,
55
+ const char *encoding,
56
+ int options);
57
+
58
+ XMLPUBFUN xmlSaveCtxtPtr
59
+ xmlSaveToIO (xmlOutputWriteCallback iowrite,
60
+ xmlOutputCloseCallback ioclose,
61
+ void *ioctx,
62
+ const char *encoding,
63
+ int options);
64
+
65
+ XMLPUBFUN long
66
+ xmlSaveDoc (xmlSaveCtxtPtr ctxt,
67
+ xmlDocPtr doc);
68
+ XMLPUBFUN long
69
+ xmlSaveTree (xmlSaveCtxtPtr ctxt,
70
+ xmlNodePtr node);
71
+
72
+ XMLPUBFUN int
73
+ xmlSaveFlush (xmlSaveCtxtPtr ctxt);
74
+ XMLPUBFUN int
75
+ xmlSaveClose (xmlSaveCtxtPtr ctxt);
76
+ XMLPUBFUN int
77
+ xmlSaveFinish (xmlSaveCtxtPtr ctxt);
78
+ XMLPUBFUN int
79
+ xmlSaveSetEscape (xmlSaveCtxtPtr ctxt,
80
+ xmlCharEncodingOutputFunc escape);
81
+ XMLPUBFUN int
82
+ xmlSaveSetAttrEscape (xmlSaveCtxtPtr ctxt,
83
+ xmlCharEncodingOutputFunc escape);
84
+
85
+ XML_DEPRECATED
86
+ XMLPUBFUN int
87
+ xmlThrDefIndentTreeOutput(int v);
88
+ XML_DEPRECATED
89
+ XMLPUBFUN const char *
90
+ xmlThrDefTreeIndentString(const char * v);
91
+ XML_DEPRECATED
92
+ XMLPUBFUN int
93
+ xmlThrDefSaveNoEmptyTags(int v);
94
+
95
+ #ifdef __cplusplus
96
+ }
97
+ #endif
98
+
99
+ #endif /* LIBXML_OUTPUT_ENABLED */
100
+ #endif /* __XML_XMLSAVE_H__ */
101
+
102
+
@@ -0,0 +1,249 @@
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 <stdio.h>
20
+ #include <libxml/encoding.h>
21
+ #include <libxml/tree.h>
22
+ #include <libxml/xmlerror.h>
23
+
24
+ #ifdef __cplusplus
25
+ extern "C" {
26
+ #endif
27
+
28
+ /**
29
+ * This error codes are obsolete; not used any more.
30
+ */
31
+ typedef enum {
32
+ XML_SCHEMAS_ERR_OK = 0,
33
+ XML_SCHEMAS_ERR_NOROOT = 1,
34
+ XML_SCHEMAS_ERR_UNDECLAREDELEM,
35
+ XML_SCHEMAS_ERR_NOTTOPLEVEL,
36
+ XML_SCHEMAS_ERR_MISSING,
37
+ XML_SCHEMAS_ERR_WRONGELEM,
38
+ XML_SCHEMAS_ERR_NOTYPE,
39
+ XML_SCHEMAS_ERR_NOROLLBACK,
40
+ XML_SCHEMAS_ERR_ISABSTRACT,
41
+ XML_SCHEMAS_ERR_NOTEMPTY,
42
+ XML_SCHEMAS_ERR_ELEMCONT,
43
+ XML_SCHEMAS_ERR_HAVEDEFAULT,
44
+ XML_SCHEMAS_ERR_NOTNILLABLE,
45
+ XML_SCHEMAS_ERR_EXTRACONTENT,
46
+ XML_SCHEMAS_ERR_INVALIDATTR,
47
+ XML_SCHEMAS_ERR_INVALIDELEM,
48
+ XML_SCHEMAS_ERR_NOTDETERMINIST,
49
+ XML_SCHEMAS_ERR_CONSTRUCT,
50
+ XML_SCHEMAS_ERR_INTERNAL,
51
+ XML_SCHEMAS_ERR_NOTSIMPLE,
52
+ XML_SCHEMAS_ERR_ATTRUNKNOWN,
53
+ XML_SCHEMAS_ERR_ATTRINVALID,
54
+ XML_SCHEMAS_ERR_VALUE,
55
+ XML_SCHEMAS_ERR_FACET,
56
+ XML_SCHEMAS_ERR_,
57
+ XML_SCHEMAS_ERR_XXX
58
+ } xmlSchemaValidError;
59
+
60
+ /*
61
+ * ATTENTION: Change xmlSchemaSetValidOptions's check
62
+ * for invalid values, if adding to the validation
63
+ * options below.
64
+ */
65
+ /**
66
+ * xmlSchemaValidOption:
67
+ *
68
+ * This is the set of XML Schema validation options.
69
+ */
70
+ typedef enum {
71
+ XML_SCHEMA_VAL_VC_I_CREATE = 1<<0
72
+ /* Default/fixed: create an attribute node
73
+ * or an element's text node on the instance.
74
+ */
75
+ } xmlSchemaValidOption;
76
+
77
+ /*
78
+ XML_SCHEMA_VAL_XSI_ASSEMBLE = 1<<1,
79
+ * assemble schemata using
80
+ * xsi:schemaLocation and
81
+ * xsi:noNamespaceSchemaLocation
82
+ */
83
+
84
+ /**
85
+ * The schemas related types are kept internal
86
+ */
87
+ typedef struct _xmlSchema xmlSchema;
88
+ typedef xmlSchema *xmlSchemaPtr;
89
+
90
+ /**
91
+ * xmlSchemaValidityErrorFunc:
92
+ * @ctx: the validation context
93
+ * @msg: the message
94
+ * @...: extra arguments
95
+ *
96
+ * Signature of an error callback from an XSD validation
97
+ */
98
+ typedef void (*xmlSchemaValidityErrorFunc)
99
+ (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
100
+
101
+ /**
102
+ * xmlSchemaValidityWarningFunc:
103
+ * @ctx: the validation context
104
+ * @msg: the message
105
+ * @...: extra arguments
106
+ *
107
+ * Signature of a warning callback from an XSD validation
108
+ */
109
+ typedef void (*xmlSchemaValidityWarningFunc)
110
+ (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
111
+
112
+ /**
113
+ * A schemas validation context
114
+ */
115
+ typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
116
+ typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;
117
+
118
+ typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
119
+ typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;
120
+
121
+ /**
122
+ * xmlSchemaValidityLocatorFunc:
123
+ * @ctx: user provided context
124
+ * @file: returned file information
125
+ * @line: returned line information
126
+ *
127
+ * A schemas validation locator, a callback called by the validator.
128
+ * This is used when file or node information are not available
129
+ * to find out what file and line number are affected
130
+ *
131
+ * Returns: 0 in case of success and -1 in case of error
132
+ */
133
+
134
+ typedef int (*xmlSchemaValidityLocatorFunc) (void *ctx,
135
+ const char **file, unsigned long *line);
136
+
137
+ /*
138
+ * Interfaces for parsing.
139
+ */
140
+ XMLPUBFUN xmlSchemaParserCtxtPtr
141
+ xmlSchemaNewParserCtxt (const char *URL);
142
+ XMLPUBFUN xmlSchemaParserCtxtPtr
143
+ xmlSchemaNewMemParserCtxt (const char *buffer,
144
+ int size);
145
+ XMLPUBFUN xmlSchemaParserCtxtPtr
146
+ xmlSchemaNewDocParserCtxt (xmlDocPtr doc);
147
+ XMLPUBFUN void
148
+ xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt);
149
+ XMLPUBFUN void
150
+ xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt,
151
+ xmlSchemaValidityErrorFunc err,
152
+ xmlSchemaValidityWarningFunc warn,
153
+ void *ctx);
154
+ XMLPUBFUN void
155
+ xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
156
+ xmlStructuredErrorFunc serror,
157
+ void *ctx);
158
+ XMLPUBFUN int
159
+ xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
160
+ xmlSchemaValidityErrorFunc * err,
161
+ xmlSchemaValidityWarningFunc * warn,
162
+ void **ctx);
163
+ XMLPUBFUN int
164
+ xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt);
165
+
166
+ XMLPUBFUN xmlSchemaPtr
167
+ xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt);
168
+ XMLPUBFUN void
169
+ xmlSchemaFree (xmlSchemaPtr schema);
170
+ #ifdef LIBXML_OUTPUT_ENABLED
171
+ XMLPUBFUN void
172
+ xmlSchemaDump (FILE *output,
173
+ xmlSchemaPtr schema);
174
+ #endif /* LIBXML_OUTPUT_ENABLED */
175
+ /*
176
+ * Interfaces for validating
177
+ */
178
+ XMLPUBFUN void
179
+ xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt,
180
+ xmlSchemaValidityErrorFunc err,
181
+ xmlSchemaValidityWarningFunc warn,
182
+ void *ctx);
183
+ XMLPUBFUN void
184
+ xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
185
+ xmlStructuredErrorFunc serror,
186
+ void *ctx);
187
+ XMLPUBFUN int
188
+ xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt,
189
+ xmlSchemaValidityErrorFunc *err,
190
+ xmlSchemaValidityWarningFunc *warn,
191
+ void **ctx);
192
+ XMLPUBFUN int
193
+ xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt,
194
+ int options);
195
+ XMLPUBFUN void
196
+ xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt,
197
+ const char *filename);
198
+ XMLPUBFUN int
199
+ xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
200
+
201
+ XMLPUBFUN xmlSchemaValidCtxtPtr
202
+ xmlSchemaNewValidCtxt (xmlSchemaPtr schema);
203
+ XMLPUBFUN void
204
+ xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt);
205
+ XMLPUBFUN int
206
+ xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt,
207
+ xmlDocPtr instance);
208
+ XMLPUBFUN int
209
+ xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
210
+ xmlNodePtr elem);
211
+ XMLPUBFUN int
212
+ xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt,
213
+ xmlParserInputBufferPtr input,
214
+ xmlCharEncoding enc,
215
+ xmlSAXHandlerPtr sax,
216
+ void *user_data);
217
+ XMLPUBFUN int
218
+ xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt,
219
+ const char * filename,
220
+ int options);
221
+
222
+ XMLPUBFUN xmlParserCtxtPtr
223
+ xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt);
224
+
225
+ /*
226
+ * Interface to insert Schemas SAX validation in a SAX stream
227
+ */
228
+ typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
229
+ typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;
230
+
231
+ XMLPUBFUN xmlSchemaSAXPlugPtr
232
+ xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt,
233
+ xmlSAXHandlerPtr *sax,
234
+ void **user_data);
235
+ XMLPUBFUN int
236
+ xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug);
237
+
238
+
239
+ XMLPUBFUN void
240
+ xmlSchemaValidateSetLocator (xmlSchemaValidCtxtPtr vctxt,
241
+ xmlSchemaValidityLocatorFunc f,
242
+ void *ctxt);
243
+
244
+ #ifdef __cplusplus
245
+ }
246
+ #endif
247
+
248
+ #endif /* LIBXML_SCHEMAS_ENABLED */
249
+ #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 int
34
+ xmlSchemaInitTypes (void);
35
+ XML_DEPRECATED
36
+ XMLPUBFUN void
37
+ xmlSchemaCleanupTypes (void);
38
+ XMLPUBFUN xmlSchemaTypePtr
39
+ xmlSchemaGetPredefinedType (const xmlChar *name,
40
+ const xmlChar *ns);
41
+ XMLPUBFUN int
42
+ xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type,
43
+ const xmlChar *value,
44
+ xmlSchemaValPtr *val);
45
+ XMLPUBFUN int
46
+ xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type,
47
+ const xmlChar *value,
48
+ xmlSchemaValPtr *val,
49
+ xmlNodePtr node);
50
+ XMLPUBFUN int
51
+ xmlSchemaValidateFacet (xmlSchemaTypePtr base,
52
+ xmlSchemaFacetPtr facet,
53
+ const xmlChar *value,
54
+ xmlSchemaValPtr val);
55
+ XMLPUBFUN int
56
+ xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet,
57
+ xmlSchemaWhitespaceValueType fws,
58
+ xmlSchemaValType valType,
59
+ const xmlChar *value,
60
+ xmlSchemaValPtr val,
61
+ xmlSchemaWhitespaceValueType ws);
62
+ XMLPUBFUN void
63
+ xmlSchemaFreeValue (xmlSchemaValPtr val);
64
+ XMLPUBFUN xmlSchemaFacetPtr
65
+ xmlSchemaNewFacet (void);
66
+ XMLPUBFUN int
67
+ xmlSchemaCheckFacet (xmlSchemaFacetPtr facet,
68
+ xmlSchemaTypePtr typeDecl,
69
+ xmlSchemaParserCtxtPtr ctxt,
70
+ const xmlChar *name);
71
+ XMLPUBFUN void
72
+ xmlSchemaFreeFacet (xmlSchemaFacetPtr facet);
73
+ XMLPUBFUN int
74
+ xmlSchemaCompareValues (xmlSchemaValPtr x,
75
+ xmlSchemaValPtr y);
76
+ XMLPUBFUN xmlSchemaTypePtr
77
+ xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type);
78
+ XMLPUBFUN int
79
+ xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet,
80
+ const xmlChar *value,
81
+ unsigned long actualLen,
82
+ unsigned long *expectedLen);
83
+ XMLPUBFUN xmlSchemaTypePtr
84
+ xmlSchemaGetBuiltInType (xmlSchemaValType type);
85
+ XMLPUBFUN int
86
+ xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type,
87
+ int facetType);
88
+ XMLPUBFUN xmlChar *
89
+ xmlSchemaCollapseString (const xmlChar *value);
90
+ XMLPUBFUN xmlChar *
91
+ xmlSchemaWhiteSpaceReplace (const xmlChar *value);
92
+ XMLPUBFUN unsigned long
93
+ xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet);
94
+ XMLPUBFUN int
95
+ xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type,
96
+ xmlSchemaFacetPtr facet,
97
+ const xmlChar *value,
98
+ xmlSchemaValPtr val,
99
+ unsigned long *length);
100
+ XMLPUBFUN int
101
+ xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
102
+ xmlSchemaValType valType,
103
+ const xmlChar *value,
104
+ xmlSchemaValPtr val,
105
+ unsigned long *length,
106
+ xmlSchemaWhitespaceValueType ws);
107
+ XMLPUBFUN int
108
+ xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
109
+ const xmlChar *value,
110
+ xmlSchemaValPtr *val,
111
+ xmlNodePtr node);
112
+ XMLPUBFUN int
113
+ xmlSchemaGetCanonValue (xmlSchemaValPtr val,
114
+ const xmlChar **retValue);
115
+ XMLPUBFUN int
116
+ xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val,
117
+ const xmlChar **retValue,
118
+ xmlSchemaWhitespaceValueType ws);
119
+ XMLPUBFUN int
120
+ xmlSchemaValueAppend (xmlSchemaValPtr prev,
121
+ xmlSchemaValPtr cur);
122
+ XMLPUBFUN xmlSchemaValPtr
123
+ xmlSchemaValueGetNext (xmlSchemaValPtr cur);
124
+ XMLPUBFUN const xmlChar *
125
+ xmlSchemaValueGetAsString (xmlSchemaValPtr val);
126
+ XMLPUBFUN int
127
+ xmlSchemaValueGetAsBoolean (xmlSchemaValPtr val);
128
+ XMLPUBFUN xmlSchemaValPtr
129
+ xmlSchemaNewStringValue (xmlSchemaValType type,
130
+ const xmlChar *value);
131
+ XMLPUBFUN xmlSchemaValPtr
132
+ xmlSchemaNewNOTATIONValue (const xmlChar *name,
133
+ const xmlChar *ns);
134
+ XMLPUBFUN xmlSchemaValPtr
135
+ xmlSchemaNewQNameValue (const xmlChar *namespaceName,
136
+ const xmlChar *localName);
137
+ XMLPUBFUN int
138
+ xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x,
139
+ xmlSchemaWhitespaceValueType xws,
140
+ xmlSchemaValPtr y,
141
+ xmlSchemaWhitespaceValueType yws);
142
+ XMLPUBFUN xmlSchemaValPtr
143
+ xmlSchemaCopyValue (xmlSchemaValPtr val);
144
+ XMLPUBFUN xmlSchemaValType
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 *
41
+ xmlStrdup (const xmlChar *cur);
42
+ XMLPUBFUN xmlChar *
43
+ xmlStrndup (const xmlChar *cur,
44
+ int len);
45
+ XMLPUBFUN xmlChar *
46
+ xmlCharStrndup (const char *cur,
47
+ int len);
48
+ XMLPUBFUN xmlChar *
49
+ xmlCharStrdup (const char *cur);
50
+ XMLPUBFUN xmlChar *
51
+ xmlStrsub (const xmlChar *str,
52
+ int start,
53
+ int len);
54
+ XMLPUBFUN const xmlChar *
55
+ xmlStrchr (const xmlChar *str,
56
+ xmlChar val);
57
+ XMLPUBFUN const xmlChar *
58
+ xmlStrstr (const xmlChar *str,
59
+ const xmlChar *val);
60
+ XMLPUBFUN const xmlChar *
61
+ xmlStrcasestr (const xmlChar *str,
62
+ const xmlChar *val);
63
+ XMLPUBFUN int
64
+ xmlStrcmp (const xmlChar *str1,
65
+ const xmlChar *str2);
66
+ XMLPUBFUN int
67
+ xmlStrncmp (const xmlChar *str1,
68
+ const xmlChar *str2,
69
+ int len);
70
+ XMLPUBFUN int
71
+ xmlStrcasecmp (const xmlChar *str1,
72
+ const xmlChar *str2);
73
+ XMLPUBFUN int
74
+ xmlStrncasecmp (const xmlChar *str1,
75
+ const xmlChar *str2,
76
+ int len);
77
+ XMLPUBFUN int
78
+ xmlStrEqual (const xmlChar *str1,
79
+ const xmlChar *str2);
80
+ XMLPUBFUN int
81
+ xmlStrQEqual (const xmlChar *pref,
82
+ const xmlChar *name,
83
+ const xmlChar *str);
84
+ XMLPUBFUN int
85
+ xmlStrlen (const xmlChar *str);
86
+ XMLPUBFUN xmlChar *
87
+ xmlStrcat (xmlChar *cur,
88
+ const xmlChar *add);
89
+ XMLPUBFUN xmlChar *
90
+ xmlStrncat (xmlChar *cur,
91
+ const xmlChar *add,
92
+ int len);
93
+ XMLPUBFUN xmlChar *
94
+ xmlStrncatNew (const xmlChar *str1,
95
+ const xmlChar *str2,
96
+ int len);
97
+ XMLPUBFUN int
98
+ xmlStrPrintf (xmlChar *buf,
99
+ int len,
100
+ const char *msg,
101
+ ...) LIBXML_ATTR_FORMAT(3,4);
102
+ XMLPUBFUN int
103
+ xmlStrVPrintf (xmlChar *buf,
104
+ int len,
105
+ const char *msg,
106
+ va_list ap) LIBXML_ATTR_FORMAT(3,0);
107
+
108
+ XMLPUBFUN int
109
+ xmlGetUTF8Char (const unsigned char *utf,
110
+ int *len);
111
+ XMLPUBFUN int
112
+ xmlCheckUTF8 (const unsigned char *utf);
113
+ XMLPUBFUN int
114
+ xmlUTF8Strsize (const xmlChar *utf,
115
+ int len);
116
+ XMLPUBFUN xmlChar *
117
+ xmlUTF8Strndup (const xmlChar *utf,
118
+ int len);
119
+ XMLPUBFUN const xmlChar *
120
+ xmlUTF8Strpos (const xmlChar *utf,
121
+ int pos);
122
+ XMLPUBFUN int
123
+ xmlUTF8Strloc (const xmlChar *utf,
124
+ const xmlChar *utfchar);
125
+ XMLPUBFUN xmlChar *
126
+ xmlUTF8Strsub (const xmlChar *utf,
127
+ int start,
128
+ int len);
129
+ XMLPUBFUN int
130
+ xmlUTF8Strlen (const xmlChar *utf);
131
+ XMLPUBFUN int
132
+ xmlUTF8Size (const xmlChar *utf);
133
+ XMLPUBFUN int
134
+ xmlUTF8Charcmp (const xmlChar *utf1,
135
+ const xmlChar *utf2);
136
+
137
+ #ifdef __cplusplus
138
+ }
139
+ #endif
140
+ #endif /* __XML_STRING_H__ */