pocxxeci 0.30.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pocxxeci might be problematic. Click here for more details.
- package/LICENSE +19 -0
- package/Makefile +18 -0
- package/README.md +52 -0
- package/binding.gyp +81 -0
- package/index.d.ts +273 -0
- package/index.js +45 -0
- package/lib/bindings.js +1 -0
- package/lib/document.js +122 -0
- package/lib/element.js +82 -0
- package/lib/sax_parser.js +38 -0
- package/package.json +70 -0
- package/src/html_document.cc +7 -0
- package/src/html_document.h +18 -0
- package/src/libxmljs.cc +252 -0
- package/src/libxmljs.h +53 -0
- package/src/xml_attribute.cc +173 -0
- package/src/xml_attribute.h +40 -0
- package/src/xml_comment.cc +117 -0
- package/src/xml_comment.h +30 -0
- package/src/xml_document.cc +810 -0
- package/src/xml_document.h +67 -0
- package/src/xml_element.cc +565 -0
- package/src/xml_element.h +61 -0
- package/src/xml_namespace.cc +158 -0
- package/src/xml_namespace.h +39 -0
- package/src/xml_node.cc +761 -0
- package/src/xml_node.h +73 -0
- package/src/xml_pi.cc +161 -0
- package/src/xml_pi.h +34 -0
- package/src/xml_sax_parser.cc +424 -0
- package/src/xml_sax_parser.h +73 -0
- package/src/xml_syntax_error.cc +66 -0
- package/src/xml_syntax_error.h +25 -0
- package/src/xml_text.cc +320 -0
- package/src/xml_text.h +48 -0
- package/src/xml_textwriter.cc +315 -0
- package/src/xml_textwriter.h +62 -0
- package/src/xml_xpath_context.cc +70 -0
- package/src/xml_xpath_context.h +23 -0
- package/vendor/libxml/Copyright +23 -0
- package/vendor/libxml/DOCBparser.c +305 -0
- package/vendor/libxml/HTMLparser.c +7287 -0
- package/vendor/libxml/HTMLtree.c +1200 -0
- package/vendor/libxml/Makefile +2983 -0
- package/vendor/libxml/SAX.c +180 -0
- package/vendor/libxml/SAX2.c +3036 -0
- package/vendor/libxml/buf.c +1351 -0
- package/vendor/libxml/buf.h +72 -0
- package/vendor/libxml/c14n.c +2234 -0
- package/vendor/libxml/catalog.c +3828 -0
- package/vendor/libxml/chvalid.c +336 -0
- package/vendor/libxml/config.h +294 -0
- package/vendor/libxml/config.h.gch +0 -0
- package/vendor/libxml/debugXML.c +3423 -0
- package/vendor/libxml/dict.c +1298 -0
- package/vendor/libxml/elfgcchack.h +17818 -0
- package/vendor/libxml/enc.h +32 -0
- package/vendor/libxml/encoding.c +3975 -0
- package/vendor/libxml/entities.c +1163 -0
- package/vendor/libxml/error.c +998 -0
- package/vendor/libxml/globals.c +1126 -0
- package/vendor/libxml/hash.c +1146 -0
- package/vendor/libxml/include/libxml/DOCBparser.h +96 -0
- package/vendor/libxml/include/libxml/HTMLparser.h +306 -0
- package/vendor/libxml/include/libxml/HTMLtree.h +147 -0
- package/vendor/libxml/include/libxml/Makefile +725 -0
- package/vendor/libxml/include/libxml/Makefile.am +54 -0
- package/vendor/libxml/include/libxml/Makefile.in +725 -0
- package/vendor/libxml/include/libxml/SAX.h +173 -0
- package/vendor/libxml/include/libxml/SAX2.h +178 -0
- package/vendor/libxml/include/libxml/c14n.h +128 -0
- package/vendor/libxml/include/libxml/catalog.h +182 -0
- package/vendor/libxml/include/libxml/chvalid.h +230 -0
- package/vendor/libxml/include/libxml/debugXML.h +217 -0
- package/vendor/libxml/include/libxml/dict.h +79 -0
- package/vendor/libxml/include/libxml/encoding.h +245 -0
- package/vendor/libxml/include/libxml/entities.h +151 -0
- package/vendor/libxml/include/libxml/globals.h +508 -0
- package/vendor/libxml/include/libxml/hash.h +236 -0
- package/vendor/libxml/include/libxml/list.h +137 -0
- package/vendor/libxml/include/libxml/nanoftp.h +163 -0
- package/vendor/libxml/include/libxml/nanohttp.h +81 -0
- package/vendor/libxml/include/libxml/parser.h +1243 -0
- package/vendor/libxml/include/libxml/parserInternals.h +644 -0
- package/vendor/libxml/include/libxml/pattern.h +100 -0
- package/vendor/libxml/include/libxml/relaxng.h +217 -0
- package/vendor/libxml/include/libxml/schemasInternals.h +958 -0
- package/vendor/libxml/include/libxml/schematron.h +142 -0
- package/vendor/libxml/include/libxml/threads.h +89 -0
- package/vendor/libxml/include/libxml/tree.h +1311 -0
- package/vendor/libxml/include/libxml/uri.h +94 -0
- package/vendor/libxml/include/libxml/valid.h +458 -0
- package/vendor/libxml/include/libxml/xinclude.h +129 -0
- package/vendor/libxml/include/libxml/xlink.h +189 -0
- package/vendor/libxml/include/libxml/xmlIO.h +368 -0
- package/vendor/libxml/include/libxml/xmlautomata.h +146 -0
- package/vendor/libxml/include/libxml/xmlerror.h +945 -0
- package/vendor/libxml/include/libxml/xmlexports.h +77 -0
- package/vendor/libxml/include/libxml/xmlmemory.h +224 -0
- package/vendor/libxml/include/libxml/xmlmodule.h +57 -0
- package/vendor/libxml/include/libxml/xmlreader.h +428 -0
- package/vendor/libxml/include/libxml/xmlregexp.h +222 -0
- package/vendor/libxml/include/libxml/xmlsave.h +88 -0
- package/vendor/libxml/include/libxml/xmlschemas.h +246 -0
- package/vendor/libxml/include/libxml/xmlschemastypes.h +151 -0
- package/vendor/libxml/include/libxml/xmlstring.h +140 -0
- package/vendor/libxml/include/libxml/xmlunicode.h +202 -0
- package/vendor/libxml/include/libxml/xmlversion.h +484 -0
- package/vendor/libxml/include/libxml/xmlwin32version.h +239 -0
- package/vendor/libxml/include/libxml/xmlwriter.h +488 -0
- package/vendor/libxml/include/libxml/xpath.h +564 -0
- package/vendor/libxml/include/libxml/xpathInternals.h +632 -0
- package/vendor/libxml/include/libxml/xpointer.h +114 -0
- package/vendor/libxml/include/win32config.h +122 -0
- package/vendor/libxml/include/wsockcompat.h +54 -0
- package/vendor/libxml/legacy.c +1343 -0
- package/vendor/libxml/libxml.h +134 -0
- package/vendor/libxml/list.c +779 -0
- package/vendor/libxml/nanoftp.c +2118 -0
- package/vendor/libxml/nanohttp.c +1899 -0
- package/vendor/libxml/parser.c +15553 -0
- package/vendor/libxml/parserInternals.c +2164 -0
- package/vendor/libxml/pattern.c +2621 -0
- package/vendor/libxml/relaxng.c +11101 -0
- package/vendor/libxml/rngparser.c +1595 -0
- package/vendor/libxml/runsuite.c +1157 -0
- package/vendor/libxml/save.h +36 -0
- package/vendor/libxml/schematron.c +1787 -0
- package/vendor/libxml/threads.c +1049 -0
- package/vendor/libxml/timsort.h +601 -0
- package/vendor/libxml/tree.c +10183 -0
- package/vendor/libxml/trio.c +6895 -0
- package/vendor/libxml/trio.h +230 -0
- package/vendor/libxml/triodef.h +228 -0
- package/vendor/libxml/trionan.c +914 -0
- package/vendor/libxml/trionan.h +84 -0
- package/vendor/libxml/triop.h +150 -0
- package/vendor/libxml/triostr.c +2112 -0
- package/vendor/libxml/triostr.h +144 -0
- package/vendor/libxml/uri.c +2561 -0
- package/vendor/libxml/valid.c +7138 -0
- package/vendor/libxml/xinclude.c +2657 -0
- package/vendor/libxml/xlink.c +183 -0
- package/vendor/libxml/xmlIO.c +4135 -0
- package/vendor/libxml/xmlcatalog.c +624 -0
- package/vendor/libxml/xmllint.c +3796 -0
- package/vendor/libxml/xmlmemory.c +1163 -0
- package/vendor/libxml/xmlmodule.c +468 -0
- package/vendor/libxml/xmlreader.c +6033 -0
- package/vendor/libxml/xmlregexp.c +8271 -0
- package/vendor/libxml/xmlsave.c +2735 -0
- package/vendor/libxml/xmlschemas.c +29173 -0
- package/vendor/libxml/xmlschemastypes.c +6276 -0
- package/vendor/libxml/xmlstring.c +1050 -0
- package/vendor/libxml/xmlunicode.c +3179 -0
- package/vendor/libxml/xmlwriter.c +4738 -0
- package/vendor/libxml/xpath.c +14734 -0
- package/vendor/libxml/xpointer.c +2969 -0
- package/vendor/libxml/xzlib.c +815 -0
- package/vendor/libxml/xzlib.h +19 -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,151 @@
|
|
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
|
+
XMLPUBFUN void XMLCALL
|
36
|
+
xmlSchemaCleanupTypes (void);
|
37
|
+
XMLPUBFUN xmlSchemaTypePtr XMLCALL
|
38
|
+
xmlSchemaGetPredefinedType (const xmlChar *name,
|
39
|
+
const xmlChar *ns);
|
40
|
+
XMLPUBFUN int XMLCALL
|
41
|
+
xmlSchemaValidatePredefinedType (xmlSchemaTypePtr type,
|
42
|
+
const xmlChar *value,
|
43
|
+
xmlSchemaValPtr *val);
|
44
|
+
XMLPUBFUN int XMLCALL
|
45
|
+
xmlSchemaValPredefTypeNode (xmlSchemaTypePtr type,
|
46
|
+
const xmlChar *value,
|
47
|
+
xmlSchemaValPtr *val,
|
48
|
+
xmlNodePtr node);
|
49
|
+
XMLPUBFUN int XMLCALL
|
50
|
+
xmlSchemaValidateFacet (xmlSchemaTypePtr base,
|
51
|
+
xmlSchemaFacetPtr facet,
|
52
|
+
const xmlChar *value,
|
53
|
+
xmlSchemaValPtr val);
|
54
|
+
XMLPUBFUN int XMLCALL
|
55
|
+
xmlSchemaValidateFacetWhtsp (xmlSchemaFacetPtr facet,
|
56
|
+
xmlSchemaWhitespaceValueType fws,
|
57
|
+
xmlSchemaValType valType,
|
58
|
+
const xmlChar *value,
|
59
|
+
xmlSchemaValPtr val,
|
60
|
+
xmlSchemaWhitespaceValueType ws);
|
61
|
+
XMLPUBFUN void XMLCALL
|
62
|
+
xmlSchemaFreeValue (xmlSchemaValPtr val);
|
63
|
+
XMLPUBFUN xmlSchemaFacetPtr XMLCALL
|
64
|
+
xmlSchemaNewFacet (void);
|
65
|
+
XMLPUBFUN int XMLCALL
|
66
|
+
xmlSchemaCheckFacet (xmlSchemaFacetPtr facet,
|
67
|
+
xmlSchemaTypePtr typeDecl,
|
68
|
+
xmlSchemaParserCtxtPtr ctxt,
|
69
|
+
const xmlChar *name);
|
70
|
+
XMLPUBFUN void XMLCALL
|
71
|
+
xmlSchemaFreeFacet (xmlSchemaFacetPtr facet);
|
72
|
+
XMLPUBFUN int XMLCALL
|
73
|
+
xmlSchemaCompareValues (xmlSchemaValPtr x,
|
74
|
+
xmlSchemaValPtr y);
|
75
|
+
XMLPUBFUN xmlSchemaTypePtr XMLCALL
|
76
|
+
xmlSchemaGetBuiltInListSimpleTypeItemType (xmlSchemaTypePtr type);
|
77
|
+
XMLPUBFUN int XMLCALL
|
78
|
+
xmlSchemaValidateListSimpleTypeFacet (xmlSchemaFacetPtr facet,
|
79
|
+
const xmlChar *value,
|
80
|
+
unsigned long actualLen,
|
81
|
+
unsigned long *expectedLen);
|
82
|
+
XMLPUBFUN xmlSchemaTypePtr XMLCALL
|
83
|
+
xmlSchemaGetBuiltInType (xmlSchemaValType type);
|
84
|
+
XMLPUBFUN int XMLCALL
|
85
|
+
xmlSchemaIsBuiltInTypeFacet (xmlSchemaTypePtr type,
|
86
|
+
int facetType);
|
87
|
+
XMLPUBFUN xmlChar * XMLCALL
|
88
|
+
xmlSchemaCollapseString (const xmlChar *value);
|
89
|
+
XMLPUBFUN xmlChar * XMLCALL
|
90
|
+
xmlSchemaWhiteSpaceReplace (const xmlChar *value);
|
91
|
+
XMLPUBFUN unsigned long XMLCALL
|
92
|
+
xmlSchemaGetFacetValueAsULong (xmlSchemaFacetPtr facet);
|
93
|
+
XMLPUBFUN int XMLCALL
|
94
|
+
xmlSchemaValidateLengthFacet (xmlSchemaTypePtr type,
|
95
|
+
xmlSchemaFacetPtr facet,
|
96
|
+
const xmlChar *value,
|
97
|
+
xmlSchemaValPtr val,
|
98
|
+
unsigned long *length);
|
99
|
+
XMLPUBFUN int XMLCALL
|
100
|
+
xmlSchemaValidateLengthFacetWhtsp(xmlSchemaFacetPtr facet,
|
101
|
+
xmlSchemaValType valType,
|
102
|
+
const xmlChar *value,
|
103
|
+
xmlSchemaValPtr val,
|
104
|
+
unsigned long *length,
|
105
|
+
xmlSchemaWhitespaceValueType ws);
|
106
|
+
XMLPUBFUN int XMLCALL
|
107
|
+
xmlSchemaValPredefTypeNodeNoNorm(xmlSchemaTypePtr type,
|
108
|
+
const xmlChar *value,
|
109
|
+
xmlSchemaValPtr *val,
|
110
|
+
xmlNodePtr node);
|
111
|
+
XMLPUBFUN int XMLCALL
|
112
|
+
xmlSchemaGetCanonValue (xmlSchemaValPtr val,
|
113
|
+
const xmlChar **retValue);
|
114
|
+
XMLPUBFUN int XMLCALL
|
115
|
+
xmlSchemaGetCanonValueWhtsp (xmlSchemaValPtr val,
|
116
|
+
const xmlChar **retValue,
|
117
|
+
xmlSchemaWhitespaceValueType ws);
|
118
|
+
XMLPUBFUN int XMLCALL
|
119
|
+
xmlSchemaValueAppend (xmlSchemaValPtr prev,
|
120
|
+
xmlSchemaValPtr cur);
|
121
|
+
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
122
|
+
xmlSchemaValueGetNext (xmlSchemaValPtr cur);
|
123
|
+
XMLPUBFUN const xmlChar * XMLCALL
|
124
|
+
xmlSchemaValueGetAsString (xmlSchemaValPtr val);
|
125
|
+
XMLPUBFUN int XMLCALL
|
126
|
+
xmlSchemaValueGetAsBoolean (xmlSchemaValPtr val);
|
127
|
+
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
128
|
+
xmlSchemaNewStringValue (xmlSchemaValType type,
|
129
|
+
const xmlChar *value);
|
130
|
+
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
131
|
+
xmlSchemaNewNOTATIONValue (const xmlChar *name,
|
132
|
+
const xmlChar *ns);
|
133
|
+
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
134
|
+
xmlSchemaNewQNameValue (const xmlChar *namespaceName,
|
135
|
+
const xmlChar *localName);
|
136
|
+
XMLPUBFUN int XMLCALL
|
137
|
+
xmlSchemaCompareValuesWhtsp (xmlSchemaValPtr x,
|
138
|
+
xmlSchemaWhitespaceValueType xws,
|
139
|
+
xmlSchemaValPtr y,
|
140
|
+
xmlSchemaWhitespaceValueType yws);
|
141
|
+
XMLPUBFUN xmlSchemaValPtr XMLCALL
|
142
|
+
xmlSchemaCopyValue (xmlSchemaValPtr val);
|
143
|
+
XMLPUBFUN xmlSchemaValType XMLCALL
|
144
|
+
xmlSchemaGetValType (xmlSchemaValPtr val);
|
145
|
+
|
146
|
+
#ifdef __cplusplus
|
147
|
+
}
|
148
|
+
#endif
|
149
|
+
|
150
|
+
#endif /* LIBXML_SCHEMAS_ENABLED */
|
151
|
+
#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__ */
|