lxml 6.0.0__cp310-cp310-win_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. lxml/ElementInclude.py +244 -0
  2. lxml/__init__.py +22 -0
  3. lxml/_elementpath.cp310-win_arm64.pyd +0 -0
  4. lxml/_elementpath.py +343 -0
  5. lxml/apihelpers.pxi +1801 -0
  6. lxml/builder.cp310-win_arm64.pyd +0 -0
  7. lxml/builder.py +243 -0
  8. lxml/classlookup.pxi +580 -0
  9. lxml/cleanup.pxi +215 -0
  10. lxml/cssselect.py +101 -0
  11. lxml/debug.pxi +36 -0
  12. lxml/docloader.pxi +178 -0
  13. lxml/doctestcompare.py +488 -0
  14. lxml/dtd.pxi +479 -0
  15. lxml/etree.cp310-win_arm64.pyd +0 -0
  16. lxml/etree.h +244 -0
  17. lxml/etree.pyx +3853 -0
  18. lxml/etree_api.h +204 -0
  19. lxml/extensions.pxi +830 -0
  20. lxml/html/ElementSoup.py +10 -0
  21. lxml/html/__init__.py +1927 -0
  22. lxml/html/_diffcommand.py +86 -0
  23. lxml/html/_difflib.cp310-win_arm64.pyd +0 -0
  24. lxml/html/_difflib.py +2106 -0
  25. lxml/html/_html5builder.py +100 -0
  26. lxml/html/_setmixin.py +56 -0
  27. lxml/html/builder.py +173 -0
  28. lxml/html/clean.py +21 -0
  29. lxml/html/defs.py +135 -0
  30. lxml/html/diff.cp310-win_arm64.pyd +0 -0
  31. lxml/html/diff.py +972 -0
  32. lxml/html/formfill.py +299 -0
  33. lxml/html/html5parser.py +260 -0
  34. lxml/html/soupparser.py +314 -0
  35. lxml/html/usedoctest.py +13 -0
  36. lxml/includes/__init__.pxd +0 -0
  37. lxml/includes/__init__.py +0 -0
  38. lxml/includes/c14n.pxd +25 -0
  39. lxml/includes/config.pxd +3 -0
  40. lxml/includes/dtdvalid.pxd +18 -0
  41. lxml/includes/etree_defs.h +379 -0
  42. lxml/includes/etreepublic.pxd +237 -0
  43. lxml/includes/extlibs/__init__.py +0 -0
  44. lxml/includes/extlibs/zconf.h +543 -0
  45. lxml/includes/extlibs/zlib.h +1938 -0
  46. lxml/includes/htmlparser.pxd +56 -0
  47. lxml/includes/libexslt/__init__.py +0 -0
  48. lxml/includes/libexslt/exslt.h +108 -0
  49. lxml/includes/libexslt/exsltconfig.h +70 -0
  50. lxml/includes/libexslt/exsltexports.h +63 -0
  51. lxml/includes/libexslt/libexslt.h +29 -0
  52. lxml/includes/libxml/HTMLparser.h +320 -0
  53. lxml/includes/libxml/HTMLtree.h +147 -0
  54. lxml/includes/libxml/SAX.h +204 -0
  55. lxml/includes/libxml/SAX2.h +173 -0
  56. lxml/includes/libxml/__init__.py +0 -0
  57. lxml/includes/libxml/c14n.h +128 -0
  58. lxml/includes/libxml/catalog.h +182 -0
  59. lxml/includes/libxml/chvalid.h +230 -0
  60. lxml/includes/libxml/debugXML.h +217 -0
  61. lxml/includes/libxml/dict.h +81 -0
  62. lxml/includes/libxml/encoding.h +233 -0
  63. lxml/includes/libxml/entities.h +151 -0
  64. lxml/includes/libxml/globals.h +529 -0
  65. lxml/includes/libxml/hash.h +236 -0
  66. lxml/includes/libxml/list.h +137 -0
  67. lxml/includes/libxml/nanoftp.h +186 -0
  68. lxml/includes/libxml/nanohttp.h +81 -0
  69. lxml/includes/libxml/parser.h +1265 -0
  70. lxml/includes/libxml/parserInternals.h +662 -0
  71. lxml/includes/libxml/pattern.h +100 -0
  72. lxml/includes/libxml/relaxng.h +218 -0
  73. lxml/includes/libxml/schemasInternals.h +958 -0
  74. lxml/includes/libxml/schematron.h +142 -0
  75. lxml/includes/libxml/threads.h +94 -0
  76. lxml/includes/libxml/tree.h +1314 -0
  77. lxml/includes/libxml/uri.h +94 -0
  78. lxml/includes/libxml/valid.h +448 -0
  79. lxml/includes/libxml/xinclude.h +129 -0
  80. lxml/includes/libxml/xlink.h +189 -0
  81. lxml/includes/libxml/xmlIO.h +369 -0
  82. lxml/includes/libxml/xmlautomata.h +146 -0
  83. lxml/includes/libxml/xmlerror.h +919 -0
  84. lxml/includes/libxml/xmlexports.h +50 -0
  85. lxml/includes/libxml/xmlmemory.h +228 -0
  86. lxml/includes/libxml/xmlmodule.h +57 -0
  87. lxml/includes/libxml/xmlreader.h +428 -0
  88. lxml/includes/libxml/xmlregexp.h +222 -0
  89. lxml/includes/libxml/xmlsave.h +88 -0
  90. lxml/includes/libxml/xmlschemas.h +246 -0
  91. lxml/includes/libxml/xmlschemastypes.h +152 -0
  92. lxml/includes/libxml/xmlstring.h +140 -0
  93. lxml/includes/libxml/xmlunicode.h +202 -0
  94. lxml/includes/libxml/xmlversion.h +526 -0
  95. lxml/includes/libxml/xmlwriter.h +488 -0
  96. lxml/includes/libxml/xpath.h +575 -0
  97. lxml/includes/libxml/xpathInternals.h +632 -0
  98. lxml/includes/libxml/xpointer.h +137 -0
  99. lxml/includes/libxslt/__init__.py +0 -0
  100. lxml/includes/libxslt/attributes.h +39 -0
  101. lxml/includes/libxslt/documents.h +93 -0
  102. lxml/includes/libxslt/extensions.h +262 -0
  103. lxml/includes/libxslt/extra.h +72 -0
  104. lxml/includes/libxslt/functions.h +78 -0
  105. lxml/includes/libxslt/imports.h +75 -0
  106. lxml/includes/libxslt/keys.h +53 -0
  107. lxml/includes/libxslt/libxslt.h +36 -0
  108. lxml/includes/libxslt/namespaces.h +68 -0
  109. lxml/includes/libxslt/numbersInternals.h +73 -0
  110. lxml/includes/libxslt/preproc.h +43 -0
  111. lxml/includes/libxslt/security.h +104 -0
  112. lxml/includes/libxslt/templates.h +77 -0
  113. lxml/includes/libxslt/transform.h +207 -0
  114. lxml/includes/libxslt/trio.h +216 -0
  115. lxml/includes/libxslt/triodef.h +220 -0
  116. lxml/includes/libxslt/variables.h +118 -0
  117. lxml/includes/libxslt/win32config.h +51 -0
  118. lxml/includes/libxslt/xslt.h +110 -0
  119. lxml/includes/libxslt/xsltInternals.h +1992 -0
  120. lxml/includes/libxslt/xsltconfig.h +179 -0
  121. lxml/includes/libxslt/xsltexports.h +64 -0
  122. lxml/includes/libxslt/xsltlocale.h +44 -0
  123. lxml/includes/libxslt/xsltutils.h +343 -0
  124. lxml/includes/lxml-version.h +3 -0
  125. lxml/includes/relaxng.pxd +64 -0
  126. lxml/includes/schematron.pxd +34 -0
  127. lxml/includes/tree.pxd +492 -0
  128. lxml/includes/uri.pxd +5 -0
  129. lxml/includes/xinclude.pxd +22 -0
  130. lxml/includes/xmlerror.pxd +852 -0
  131. lxml/includes/xmlparser.pxd +303 -0
  132. lxml/includes/xmlschema.pxd +35 -0
  133. lxml/includes/xpath.pxd +136 -0
  134. lxml/includes/xslt.pxd +190 -0
  135. lxml/isoschematron/__init__.py +348 -0
  136. lxml/isoschematron/resources/rng/iso-schematron.rng +709 -0
  137. lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl +75 -0
  138. lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl +77 -0
  139. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl +313 -0
  140. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl +1160 -0
  141. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl +55 -0
  142. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_skeleton_for_xslt1.xsl +1796 -0
  143. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_svrl_for_xslt1.xsl +588 -0
  144. lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt +84 -0
  145. lxml/iterparse.pxi +438 -0
  146. lxml/lxml.etree.h +244 -0
  147. lxml/lxml.etree_api.h +204 -0
  148. lxml/nsclasses.pxi +281 -0
  149. lxml/objectify.cp310-win_arm64.pyd +0 -0
  150. lxml/objectify.pyx +2149 -0
  151. lxml/objectpath.pxi +332 -0
  152. lxml/parser.pxi +2059 -0
  153. lxml/parsertarget.pxi +180 -0
  154. lxml/proxy.pxi +619 -0
  155. lxml/public-api.pxi +178 -0
  156. lxml/pyclasslookup.py +3 -0
  157. lxml/readonlytree.pxi +565 -0
  158. lxml/relaxng.pxi +165 -0
  159. lxml/sax.cp310-win_arm64.pyd +0 -0
  160. lxml/sax.py +286 -0
  161. lxml/saxparser.pxi +875 -0
  162. lxml/schematron.pxi +173 -0
  163. lxml/serializer.pxi +1849 -0
  164. lxml/usedoctest.py +13 -0
  165. lxml/xinclude.pxi +67 -0
  166. lxml/xmlerror.pxi +1654 -0
  167. lxml/xmlid.pxi +179 -0
  168. lxml/xmlschema.pxi +215 -0
  169. lxml/xpath.pxi +487 -0
  170. lxml/xslt.pxi +957 -0
  171. lxml/xsltext.pxi +242 -0
  172. lxml-6.0.0.dist-info/METADATA +163 -0
  173. lxml-6.0.0.dist-info/RECORD +177 -0
  174. lxml-6.0.0.dist-info/WHEEL +5 -0
  175. lxml-6.0.0.dist-info/licenses/LICENSE.txt +31 -0
  176. lxml-6.0.0.dist-info/licenses/LICENSES.txt +29 -0
  177. lxml-6.0.0.dist-info/top_level.txt +1 -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
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
+ xmlSaveSetEscape (xmlSaveCtxtPtr ctxt,
78
+ xmlCharEncodingOutputFunc escape);
79
+ XMLPUBFUN int
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 (*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 (*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 (*xmlSchemaValidityLocatorFunc) (void *ctx,
132
+ const char **file, unsigned long *line);
133
+
134
+ /*
135
+ * Interfaces for parsing.
136
+ */
137
+ XMLPUBFUN xmlSchemaParserCtxtPtr
138
+ xmlSchemaNewParserCtxt (const char *URL);
139
+ XMLPUBFUN xmlSchemaParserCtxtPtr
140
+ xmlSchemaNewMemParserCtxt (const char *buffer,
141
+ int size);
142
+ XMLPUBFUN xmlSchemaParserCtxtPtr
143
+ xmlSchemaNewDocParserCtxt (xmlDocPtr doc);
144
+ XMLPUBFUN void
145
+ xmlSchemaFreeParserCtxt (xmlSchemaParserCtxtPtr ctxt);
146
+ XMLPUBFUN void
147
+ xmlSchemaSetParserErrors (xmlSchemaParserCtxtPtr ctxt,
148
+ xmlSchemaValidityErrorFunc err,
149
+ xmlSchemaValidityWarningFunc warn,
150
+ void *ctx);
151
+ XMLPUBFUN void
152
+ xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
153
+ xmlStructuredErrorFunc serror,
154
+ void *ctx);
155
+ XMLPUBFUN int
156
+ xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
157
+ xmlSchemaValidityErrorFunc * err,
158
+ xmlSchemaValidityWarningFunc * warn,
159
+ void **ctx);
160
+ XMLPUBFUN int
161
+ xmlSchemaIsValid (xmlSchemaValidCtxtPtr ctxt);
162
+
163
+ XMLPUBFUN xmlSchemaPtr
164
+ xmlSchemaParse (xmlSchemaParserCtxtPtr ctxt);
165
+ XMLPUBFUN void
166
+ xmlSchemaFree (xmlSchemaPtr schema);
167
+ #ifdef LIBXML_OUTPUT_ENABLED
168
+ XMLPUBFUN void
169
+ xmlSchemaDump (FILE *output,
170
+ xmlSchemaPtr schema);
171
+ #endif /* LIBXML_OUTPUT_ENABLED */
172
+ /*
173
+ * Interfaces for validating
174
+ */
175
+ XMLPUBFUN void
176
+ xmlSchemaSetValidErrors (xmlSchemaValidCtxtPtr ctxt,
177
+ xmlSchemaValidityErrorFunc err,
178
+ xmlSchemaValidityWarningFunc warn,
179
+ void *ctx);
180
+ XMLPUBFUN void
181
+ xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
182
+ xmlStructuredErrorFunc serror,
183
+ void *ctx);
184
+ XMLPUBFUN int
185
+ xmlSchemaGetValidErrors (xmlSchemaValidCtxtPtr ctxt,
186
+ xmlSchemaValidityErrorFunc *err,
187
+ xmlSchemaValidityWarningFunc *warn,
188
+ void **ctx);
189
+ XMLPUBFUN int
190
+ xmlSchemaSetValidOptions (xmlSchemaValidCtxtPtr ctxt,
191
+ int options);
192
+ XMLPUBFUN void
193
+ xmlSchemaValidateSetFilename(xmlSchemaValidCtxtPtr vctxt,
194
+ const char *filename);
195
+ XMLPUBFUN int
196
+ xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
197
+
198
+ XMLPUBFUN xmlSchemaValidCtxtPtr
199
+ xmlSchemaNewValidCtxt (xmlSchemaPtr schema);
200
+ XMLPUBFUN void
201
+ xmlSchemaFreeValidCtxt (xmlSchemaValidCtxtPtr ctxt);
202
+ XMLPUBFUN int
203
+ xmlSchemaValidateDoc (xmlSchemaValidCtxtPtr ctxt,
204
+ xmlDocPtr instance);
205
+ XMLPUBFUN int
206
+ xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
207
+ xmlNodePtr elem);
208
+ XMLPUBFUN int
209
+ xmlSchemaValidateStream (xmlSchemaValidCtxtPtr ctxt,
210
+ xmlParserInputBufferPtr input,
211
+ xmlCharEncoding enc,
212
+ xmlSAXHandlerPtr sax,
213
+ void *user_data);
214
+ XMLPUBFUN int
215
+ xmlSchemaValidateFile (xmlSchemaValidCtxtPtr ctxt,
216
+ const char * filename,
217
+ int options);
218
+
219
+ XMLPUBFUN xmlParserCtxtPtr
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
229
+ xmlSchemaSAXPlug (xmlSchemaValidCtxtPtr ctxt,
230
+ xmlSAXHandlerPtr *sax,
231
+ void **user_data);
232
+ XMLPUBFUN int
233
+ xmlSchemaSAXUnplug (xmlSchemaSAXPlugPtr plug);
234
+
235
+
236
+ XMLPUBFUN void
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 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__ */