Annotation of embedaddon/libxml2/include/libxml/xmlschemas.h, revision 1.1

1.1     ! misho       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) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
        !            96: 
        !            97: /**
        !            98:  * xmlSchemaValidityWarningFunc:
        !            99:  * @ctx: the validation context
        !           100:  * @msg: the message
        !           101:  * @...: extra arguments
        !           102:  *
        !           103:  * Signature of a warning callback from an XSD validation
        !           104:  */
        !           105: typedef void (XMLCDECL *xmlSchemaValidityWarningFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
        !           106: 
        !           107: /**
        !           108:  * A schemas validation context
        !           109:  */
        !           110: typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
        !           111: typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;
        !           112: 
        !           113: typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
        !           114: typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;
        !           115: 
        !           116: /*
        !           117:  * Interfaces for parsing.
        !           118:  */
        !           119: XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
        !           120:            xmlSchemaNewParserCtxt      (const char *URL);
        !           121: XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
        !           122:            xmlSchemaNewMemParserCtxt   (const char *buffer,
        !           123:                                         int size);
        !           124: XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
        !           125:            xmlSchemaNewDocParserCtxt   (xmlDocPtr doc);
        !           126: XMLPUBFUN void XMLCALL
        !           127:            xmlSchemaFreeParserCtxt     (xmlSchemaParserCtxtPtr ctxt);
        !           128: XMLPUBFUN void XMLCALL
        !           129:            xmlSchemaSetParserErrors    (xmlSchemaParserCtxtPtr ctxt,
        !           130:                                         xmlSchemaValidityErrorFunc err,
        !           131:                                         xmlSchemaValidityWarningFunc warn,
        !           132:                                         void *ctx);
        !           133: XMLPUBFUN void XMLCALL
        !           134:            xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
        !           135:                                         xmlStructuredErrorFunc serror,
        !           136:                                         void *ctx);
        !           137: XMLPUBFUN int XMLCALL
        !           138:                xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
        !           139:                                        xmlSchemaValidityErrorFunc * err,
        !           140:                                        xmlSchemaValidityWarningFunc * warn,
        !           141:                                        void **ctx);
        !           142: XMLPUBFUN int XMLCALL
        !           143:                xmlSchemaIsValid        (xmlSchemaValidCtxtPtr ctxt);
        !           144: 
        !           145: XMLPUBFUN xmlSchemaPtr XMLCALL
        !           146:            xmlSchemaParse              (xmlSchemaParserCtxtPtr ctxt);
        !           147: XMLPUBFUN void XMLCALL
        !           148:            xmlSchemaFree               (xmlSchemaPtr schema);
        !           149: #ifdef LIBXML_OUTPUT_ENABLED
        !           150: XMLPUBFUN void XMLCALL
        !           151:            xmlSchemaDump               (FILE *output,
        !           152:                                         xmlSchemaPtr schema);
        !           153: #endif /* LIBXML_OUTPUT_ENABLED */
        !           154: /*
        !           155:  * Interfaces for validating
        !           156:  */
        !           157: XMLPUBFUN void XMLCALL
        !           158:            xmlSchemaSetValidErrors     (xmlSchemaValidCtxtPtr ctxt,
        !           159:                                         xmlSchemaValidityErrorFunc err,
        !           160:                                         xmlSchemaValidityWarningFunc warn,
        !           161:                                         void *ctx);
        !           162: XMLPUBFUN void XMLCALL
        !           163:            xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
        !           164:                                         xmlStructuredErrorFunc serror,
        !           165:                                         void *ctx);
        !           166: XMLPUBFUN int XMLCALL
        !           167:            xmlSchemaGetValidErrors     (xmlSchemaValidCtxtPtr ctxt,
        !           168:                                         xmlSchemaValidityErrorFunc *err,
        !           169:                                         xmlSchemaValidityWarningFunc *warn,
        !           170:                                         void **ctx);
        !           171: XMLPUBFUN int XMLCALL
        !           172:            xmlSchemaSetValidOptions    (xmlSchemaValidCtxtPtr ctxt,
        !           173:                                         int options);
        !           174: XMLPUBFUN int XMLCALL
        !           175:            xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
        !           176: 
        !           177: XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
        !           178:            xmlSchemaNewValidCtxt       (xmlSchemaPtr schema);
        !           179: XMLPUBFUN void XMLCALL
        !           180:            xmlSchemaFreeValidCtxt      (xmlSchemaValidCtxtPtr ctxt);
        !           181: XMLPUBFUN int XMLCALL
        !           182:            xmlSchemaValidateDoc        (xmlSchemaValidCtxtPtr ctxt,
        !           183:                                         xmlDocPtr instance);
        !           184: XMLPUBFUN int XMLCALL
        !           185:             xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
        !           186:                                         xmlNodePtr elem);
        !           187: XMLPUBFUN int XMLCALL
        !           188:            xmlSchemaValidateStream     (xmlSchemaValidCtxtPtr ctxt,
        !           189:                                         xmlParserInputBufferPtr input,
        !           190:                                         xmlCharEncoding enc,
        !           191:                                         xmlSAXHandlerPtr sax,
        !           192:                                         void *user_data);
        !           193: XMLPUBFUN int XMLCALL
        !           194:            xmlSchemaValidateFile       (xmlSchemaValidCtxtPtr ctxt,
        !           195:                                         const char * filename,
        !           196:                                         int options);
        !           197: 
        !           198: XMLPUBFUN xmlParserCtxtPtr XMLCALL
        !           199:            xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt);
        !           200: 
        !           201: /*
        !           202:  * Interface to insert Schemas SAX validation in a SAX stream
        !           203:  */
        !           204: typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
        !           205: typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;
        !           206: 
        !           207: XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL
        !           208:             xmlSchemaSAXPlug           (xmlSchemaValidCtxtPtr ctxt,
        !           209:                                         xmlSAXHandlerPtr *sax,
        !           210:                                         void **user_data);
        !           211: XMLPUBFUN int XMLCALL
        !           212:             xmlSchemaSAXUnplug         (xmlSchemaSAXPlugPtr plug);
        !           213: #ifdef __cplusplus
        !           214: }
        !           215: #endif
        !           216: 
        !           217: #endif /* LIBXML_SCHEMAS_ENABLED */
        !           218: #endif /* __XML_SCHEMA_H__ */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>