Eneboo - Documentación para desarrolladores
src/libdigidoc/libxml2/include/libxml/xmlschemas.h
Ir a la documentación de este archivo.
00001 /*
00002  * Summary: incomplete XML Schemas structure implementation
00003  * Description: interface to the XML Schemas handling and schema validity
00004  *              checking, it is incomplete right now.
00005  *
00006  * Copy: See Copyright for the status of this software.
00007  *
00008  * Author: Daniel Veillard
00009  */
00010 
00011 
00012 #ifndef __XML_SCHEMA_H__
00013 #define __XML_SCHEMA_H__
00014 
00015 #include <libxml/xmlversion.h>
00016 
00017 #ifdef LIBXML_SCHEMAS_ENABLED
00018 
00019 #include <libxml/tree.h>
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00028 typedef enum {
00029     XML_SCHEMAS_ERR_OK          = 0,
00030     XML_SCHEMAS_ERR_NOROOT      = 1,
00031     XML_SCHEMAS_ERR_UNDECLAREDELEM,
00032     XML_SCHEMAS_ERR_NOTTOPLEVEL,
00033     XML_SCHEMAS_ERR_MISSING,
00034     XML_SCHEMAS_ERR_WRONGELEM,
00035     XML_SCHEMAS_ERR_NOTYPE,
00036     XML_SCHEMAS_ERR_NOROLLBACK,
00037     XML_SCHEMAS_ERR_ISABSTRACT,
00038     XML_SCHEMAS_ERR_NOTEMPTY,
00039     XML_SCHEMAS_ERR_ELEMCONT,
00040     XML_SCHEMAS_ERR_HAVEDEFAULT,
00041     XML_SCHEMAS_ERR_NOTNILLABLE,
00042     XML_SCHEMAS_ERR_EXTRACONTENT,
00043     XML_SCHEMAS_ERR_INVALIDATTR,
00044     XML_SCHEMAS_ERR_INVALIDELEM,
00045     XML_SCHEMAS_ERR_NOTDETERMINIST,
00046     XML_SCHEMAS_ERR_CONSTRUCT,
00047     XML_SCHEMAS_ERR_INTERNAL,
00048     XML_SCHEMAS_ERR_NOTSIMPLE,
00049     XML_SCHEMAS_ERR_ATTRUNKNOWN,
00050     XML_SCHEMAS_ERR_ATTRINVALID,
00051     XML_SCHEMAS_ERR_VALUE,
00052     XML_SCHEMAS_ERR_FACET,
00053     XML_SCHEMAS_ERR_,
00054     XML_SCHEMAS_ERR_XXX
00055 } xmlSchemaValidError;
00056 
00057 /*
00058 * ATTENTION: Change xmlSchemaSetValidOptions's check
00059 * for invalid values, if adding to the validation
00060 * options below.
00061 */
00067 typedef enum {
00068     XML_SCHEMA_VAL_VC_I_CREATE                  = 1<<0
00069         /* Default/fixed: create an attribute node
00070         * or an element's text node on the instance.
00071         */
00072 } xmlSchemaValidOption;
00073 
00074 /*
00075     XML_SCHEMA_VAL_XSI_ASSEMBLE                 = 1<<1,
00076         * assemble schemata using
00077         * xsi:schemaLocation and
00078         * xsi:noNamespaceSchemaLocation
00079 */
00080 
00084 typedef struct _xmlSchema xmlSchema;
00085 typedef xmlSchema *xmlSchemaPtr;
00086 
00095 typedef void (XMLCDECL *xmlSchemaValidityErrorFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
00096 
00105 typedef void (XMLCDECL *xmlSchemaValidityWarningFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
00106 
00110 typedef struct _xmlSchemaParserCtxt xmlSchemaParserCtxt;
00111 typedef xmlSchemaParserCtxt *xmlSchemaParserCtxtPtr;
00112 
00113 typedef struct _xmlSchemaValidCtxt xmlSchemaValidCtxt;
00114 typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;
00115 
00116 /*
00117  * Interfaces for parsing.
00118  */
00119 XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
00120             xmlSchemaNewParserCtxt      (const char *URL);
00121 XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
00122             xmlSchemaNewMemParserCtxt   (const char *buffer,
00123                                          int size);
00124 XMLPUBFUN xmlSchemaParserCtxtPtr XMLCALL
00125             xmlSchemaNewDocParserCtxt   (xmlDocPtr doc);
00126 XMLPUBFUN void XMLCALL
00127             xmlSchemaFreeParserCtxt     (xmlSchemaParserCtxtPtr ctxt);
00128 XMLPUBFUN void XMLCALL
00129             xmlSchemaSetParserErrors    (xmlSchemaParserCtxtPtr ctxt,
00130                                          xmlSchemaValidityErrorFunc err,
00131                                          xmlSchemaValidityWarningFunc warn,
00132                                          void *ctx);
00133 XMLPUBFUN void XMLCALL
00134             xmlSchemaSetParserStructuredErrors(xmlSchemaParserCtxtPtr ctxt,
00135                                          xmlStructuredErrorFunc serror,
00136                                          void *ctx);
00137 XMLPUBFUN int XMLCALL
00138                 xmlSchemaGetParserErrors(xmlSchemaParserCtxtPtr ctxt,
00139                                         xmlSchemaValidityErrorFunc * err,
00140                                         xmlSchemaValidityWarningFunc * warn,
00141                                         void **ctx);
00142 XMLPUBFUN int XMLCALL
00143                 xmlSchemaIsValid        (xmlSchemaValidCtxtPtr ctxt);
00144 
00145 XMLPUBFUN xmlSchemaPtr XMLCALL
00146             xmlSchemaParse              (xmlSchemaParserCtxtPtr ctxt);
00147 XMLPUBFUN void XMLCALL
00148             xmlSchemaFree               (xmlSchemaPtr schema);
00149 #ifdef LIBXML_OUTPUT_ENABLED
00150 XMLPUBFUN void XMLCALL
00151             xmlSchemaDump               (FILE *output,
00152                                          xmlSchemaPtr schema);
00153 #endif /* LIBXML_OUTPUT_ENABLED */
00154 /*
00155  * Interfaces for validating
00156  */
00157 XMLPUBFUN void XMLCALL
00158             xmlSchemaSetValidErrors     (xmlSchemaValidCtxtPtr ctxt,
00159                                          xmlSchemaValidityErrorFunc err,
00160                                          xmlSchemaValidityWarningFunc warn,
00161                                          void *ctx);
00162 XMLPUBFUN void XMLCALL
00163             xmlSchemaSetValidStructuredErrors(xmlSchemaValidCtxtPtr ctxt,
00164                                          xmlStructuredErrorFunc serror,
00165                                          void *ctx);
00166 XMLPUBFUN int XMLCALL
00167             xmlSchemaGetValidErrors     (xmlSchemaValidCtxtPtr ctxt,
00168                                          xmlSchemaValidityErrorFunc *err,
00169                                          xmlSchemaValidityWarningFunc *warn,
00170                                          void **ctx);
00171 XMLPUBFUN int XMLCALL
00172             xmlSchemaSetValidOptions    (xmlSchemaValidCtxtPtr ctxt,
00173                                          int options);
00174 XMLPUBFUN int XMLCALL
00175             xmlSchemaValidCtxtGetOptions(xmlSchemaValidCtxtPtr ctxt);
00176 
00177 XMLPUBFUN xmlSchemaValidCtxtPtr XMLCALL
00178             xmlSchemaNewValidCtxt       (xmlSchemaPtr schema);
00179 XMLPUBFUN void XMLCALL
00180             xmlSchemaFreeValidCtxt      (xmlSchemaValidCtxtPtr ctxt);
00181 XMLPUBFUN int XMLCALL
00182             xmlSchemaValidateDoc        (xmlSchemaValidCtxtPtr ctxt,
00183                                          xmlDocPtr instance);
00184 XMLPUBFUN int XMLCALL
00185             xmlSchemaValidateOneElement (xmlSchemaValidCtxtPtr ctxt,
00186                                          xmlNodePtr elem);
00187 XMLPUBFUN int XMLCALL
00188             xmlSchemaValidateStream     (xmlSchemaValidCtxtPtr ctxt,
00189                                          xmlParserInputBufferPtr input,
00190                                          xmlCharEncoding enc,
00191                                          xmlSAXHandlerPtr sax,
00192                                          void *user_data);
00193 XMLPUBFUN int XMLCALL
00194             xmlSchemaValidateFile       (xmlSchemaValidCtxtPtr ctxt,
00195                                          const char * filename,
00196                                          int options);
00197 
00198 XMLPUBFUN xmlParserCtxtPtr XMLCALL
00199             xmlSchemaValidCtxtGetParserCtxt(xmlSchemaValidCtxtPtr ctxt);
00200 
00201 /*
00202  * Interface to insert Schemas SAX validation in a SAX stream
00203  */
00204 typedef struct _xmlSchemaSAXPlug xmlSchemaSAXPlugStruct;
00205 typedef xmlSchemaSAXPlugStruct *xmlSchemaSAXPlugPtr;
00206 
00207 XMLPUBFUN xmlSchemaSAXPlugPtr XMLCALL
00208             xmlSchemaSAXPlug            (xmlSchemaValidCtxtPtr ctxt,
00209                                          xmlSAXHandlerPtr *sax,
00210                                          void **user_data);
00211 XMLPUBFUN int XMLCALL
00212             xmlSchemaSAXUnplug          (xmlSchemaSAXPlugPtr plug);
00213 #ifdef __cplusplus
00214 }
00215 #endif
00216 
00217 #endif /* LIBXML_SCHEMAS_ENABLED */
00218 #endif /* __XML_SCHEMA_H__ */
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'