diff options
Diffstat (limited to 'plugins/Variables/src/libxml/xmlschemas.h')
| -rw-r--r-- | plugins/Variables/src/libxml/xmlschemas.h | 106 | 
1 files changed, 106 insertions, 0 deletions
diff --git a/plugins/Variables/src/libxml/xmlschemas.h b/plugins/Variables/src/libxml/xmlschemas.h new file mode 100644 index 0000000000..14b9230832 --- /dev/null +++ b/plugins/Variables/src/libxml/xmlschemas.h @@ -0,0 +1,106 @@ +/* + * schemas.h : interface to the XML Schemas handling and schema validity + *             checking + * + * See Copyright for the status of this software. + * + * Daniel.Veillard@w3.org + */ + + +#ifndef __XML_SCHEMA_H__ +#define __XML_SCHEMA_H__ + +#include <libxml/xmlversion.h> + +#ifdef LIBXML_SCHEMAS_ENABLED + +#include <libxml/tree.h> + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { +    XML_SCHEMAS_ERR_OK		= 0, +    XML_SCHEMAS_ERR_NOROOT	= 1, +    XML_SCHEMAS_ERR_UNDECLAREDELEM, +    XML_SCHEMAS_ERR_NOTTOPLEVEL, +    XML_SCHEMAS_ERR_MISSING, +    XML_SCHEMAS_ERR_WRONGELEM, +    XML_SCHEMAS_ERR_NOTYPE, +    XML_SCHEMAS_ERR_NOROLLBACK, +    XML_SCHEMAS_ERR_ISABSTRACT, +    XML_SCHEMAS_ERR_NOTEMPTY, +    XML_SCHEMAS_ERR_ELEMCONT, +    XML_SCHEMAS_ERR_HAVEDEFAULT, +    XML_SCHEMAS_ERR_NOTNILLABLE, +    XML_SCHEMAS_ERR_EXTRACONTENT, +    XML_SCHEMAS_ERR_INVALIDATTR, +    XML_SCHEMAS_ERR_INVALIDELEM, +    XML_SCHEMAS_ERR_NOTDETERMINIST, +    XML_SCHEMAS_ERR_CONSTRUCT, +    XML_SCHEMAS_ERR_INTERNAL, +    XML_SCHEMAS_ERR_NOTSIMPLE, +    XML_SCHEMAS_ERR_ATTRUNKNOWN, +    XML_SCHEMAS_ERR_ATTRINVALID, +    XML_SCHEMAS_ERR_, +    XML_SCHEMAS_ERR_XXX +} xmlSchemaValidError; + + +/** + * The schemas related types are kept internal + */ +typedef struct _xmlSchema xmlSchema; +typedef xmlSchema *xmlSchemaPtr; + +/** + * A schemas validation context + */ +typedef void (*xmlSchemaValidityErrorFunc) (void *ctx, const char *msg, ...); +typedef void (*xmlSchemaValidityWarningFunc) (void *ctx, const char *msg, ...); + +typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt; +typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr; + +typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt; +typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr; + +/* + * Interfaces for parsing. + */ +xmlSchemaParserCtxtPtr xmlSchemaNewParserCtxt	(const char *URL); +xmlSchemaParserCtxtPtr xmlSchemaNewMemParserCtxt(const char *buffer, +						 int size); +void		xmlSchemaFreeParserCtxt	(xmlSchemaParserCtxtPtr ctxt); +void		xmlSchemaSetParserErrors(xmlSchemaParserCtxtPtr ctxt, +					 xmlSchemaValidityErrorFunc err, +					 xmlSchemaValidityWarningFunc warn, +					 void *ctx); +xmlSchemaPtr	xmlSchemaParse		(xmlSchemaParserCtxtPtr ctxt); +void		xmlSchemaFree		(xmlSchemaPtr schema); +void		xmlSchemaDump		(FILE *output, +					 xmlSchemaPtr schema); +/* + * Interfaces for validating + */ +void		xmlSchemaSetValidErrors	(xmlSchemaValidCtxtPtr ctxt, +					 xmlSchemaValidityErrorFunc err, +					 xmlSchemaValidityWarningFunc warn, +					 void *ctx); +xmlSchemaValidCtxtPtr	xmlSchemaNewValidCtxt	(xmlSchemaPtr schema); +void			xmlSchemaFreeValidCtxt	(xmlSchemaValidCtxtPtr ctxt); +int			xmlSchemaValidateDoc	(xmlSchemaValidCtxtPtr ctxt, +					 	 xmlDocPtr instance); +int			xmlSchemaValidateStream	(xmlSchemaValidCtxtPtr ctxt, +						 xmlParserInputBufferPtr input, +						 xmlCharEncoding enc, +					 	 xmlSAXHandlerPtr sax, +						 void *user_data); +#ifdef __cplusplus +} +#endif + +#endif /* LIBXML_SCHEMAS_ENABLED */ +#endif /* __XML_SCHEMA_H__ */  | 
