ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

relaxng.h
Go to the documentation of this file.
00001 /*
00002  * Summary: implementation of the Relax-NG validation
00003  * Description: implementation of the Relax-NG validation
00004  *
00005  * Copy: See Copyright for the status of this software.
00006  *
00007  * Author: Daniel Veillard
00008  */
00009 
00010 #ifndef __XML_RELAX_NG__
00011 #define __XML_RELAX_NG__
00012 
00013 #include <libxml/xmlversion.h>
00014 #include <libxml/hash.h>
00015 #include <libxml/xmlstring.h>
00016 
00017 #ifdef LIBXML_SCHEMAS_ENABLED
00018 
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022 
00023 typedef struct _xmlRelaxNG xmlRelaxNG;
00024 typedef xmlRelaxNG *xmlRelaxNGPtr;
00025 
00026 
00035 typedef void (XMLCDECL *xmlRelaxNGValidityErrorFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
00036 
00045 typedef void (XMLCDECL *xmlRelaxNGValidityWarningFunc) (void *ctx, const char *msg, ...) LIBXML_ATTR_FORMAT(2,3);
00046 
00050 typedef struct _xmlRelaxNGParserCtxt xmlRelaxNGParserCtxt;
00051 typedef xmlRelaxNGParserCtxt *xmlRelaxNGParserCtxtPtr;
00052 
00053 typedef struct _xmlRelaxNGValidCtxt xmlRelaxNGValidCtxt;
00054 typedef xmlRelaxNGValidCtxt *xmlRelaxNGValidCtxtPtr;
00055 
00056 /*
00057  * xmlRelaxNGValidErr:
00058  *
00059  * List of possible Relax NG validation errors
00060  */
00061 typedef enum {
00062     XML_RELAXNG_OK = 0,
00063     XML_RELAXNG_ERR_MEMORY,
00064     XML_RELAXNG_ERR_TYPE,
00065     XML_RELAXNG_ERR_TYPEVAL,
00066     XML_RELAXNG_ERR_DUPID,
00067     XML_RELAXNG_ERR_TYPECMP,
00068     XML_RELAXNG_ERR_NOSTATE,
00069     XML_RELAXNG_ERR_NODEFINE,
00070     XML_RELAXNG_ERR_LISTEXTRA,
00071     XML_RELAXNG_ERR_LISTEMPTY,
00072     XML_RELAXNG_ERR_INTERNODATA,
00073     XML_RELAXNG_ERR_INTERSEQ,
00074     XML_RELAXNG_ERR_INTEREXTRA,
00075     XML_RELAXNG_ERR_ELEMNAME,
00076     XML_RELAXNG_ERR_ATTRNAME,
00077     XML_RELAXNG_ERR_ELEMNONS,
00078     XML_RELAXNG_ERR_ATTRNONS,
00079     XML_RELAXNG_ERR_ELEMWRONGNS,
00080     XML_RELAXNG_ERR_ATTRWRONGNS,
00081     XML_RELAXNG_ERR_ELEMEXTRANS,
00082     XML_RELAXNG_ERR_ATTREXTRANS,
00083     XML_RELAXNG_ERR_ELEMNOTEMPTY,
00084     XML_RELAXNG_ERR_NOELEM,
00085     XML_RELAXNG_ERR_NOTELEM,
00086     XML_RELAXNG_ERR_ATTRVALID,
00087     XML_RELAXNG_ERR_CONTENTVALID,
00088     XML_RELAXNG_ERR_EXTRACONTENT,
00089     XML_RELAXNG_ERR_INVALIDATTR,
00090     XML_RELAXNG_ERR_DATAELEM,
00091     XML_RELAXNG_ERR_VALELEM,
00092     XML_RELAXNG_ERR_LISTELEM,
00093     XML_RELAXNG_ERR_DATATYPE,
00094     XML_RELAXNG_ERR_VALUE,
00095     XML_RELAXNG_ERR_LIST,
00096     XML_RELAXNG_ERR_NOGRAMMAR,
00097     XML_RELAXNG_ERR_EXTRADATA,
00098     XML_RELAXNG_ERR_LACKDATA,
00099     XML_RELAXNG_ERR_INTERNAL,
00100     XML_RELAXNG_ERR_ELEMWRONG,
00101     XML_RELAXNG_ERR_TEXTWRONG
00102 } xmlRelaxNGValidErr;
00103 
00104 /*
00105  * xmlRelaxNGParserFlags:
00106  *
00107  * List of possible Relax NG Parser flags
00108  */
00109 typedef enum {
00110     XML_RELAXNGP_NONE = 0,
00111     XML_RELAXNGP_FREE_DOC = 1,
00112     XML_RELAXNGP_CRNG = 2
00113 } xmlRelaxNGParserFlag;
00114 
00115 XMLPUBFUN int XMLCALL
00116             xmlRelaxNGInitTypes     (void);
00117 XMLPUBFUN void XMLCALL
00118             xmlRelaxNGCleanupTypes  (void);
00119 
00120 /*
00121  * Interfaces for parsing.
00122  */
00123 XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
00124             xmlRelaxNGNewParserCtxt (const char *URL);
00125 XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
00126             xmlRelaxNGNewMemParserCtxt  (const char *buffer,
00127                          int size);
00128 XMLPUBFUN xmlRelaxNGParserCtxtPtr XMLCALL
00129             xmlRelaxNGNewDocParserCtxt  (xmlDocPtr doc);
00130 
00131 XMLPUBFUN int XMLCALL
00132             xmlRelaxParserSetFlag   (xmlRelaxNGParserCtxtPtr ctxt,
00133                          int flag);
00134 
00135 XMLPUBFUN void XMLCALL
00136             xmlRelaxNGFreeParserCtxt    (xmlRelaxNGParserCtxtPtr ctxt);
00137 XMLPUBFUN void XMLCALL
00138             xmlRelaxNGSetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
00139                      xmlRelaxNGValidityErrorFunc err,
00140                      xmlRelaxNGValidityWarningFunc warn,
00141                      void *ctx);
00142 XMLPUBFUN int XMLCALL
00143             xmlRelaxNGGetParserErrors(xmlRelaxNGParserCtxtPtr ctxt,
00144                      xmlRelaxNGValidityErrorFunc *err,
00145                      xmlRelaxNGValidityWarningFunc *warn,
00146                      void **ctx);
00147 XMLPUBFUN void XMLCALL
00148             xmlRelaxNGSetParserStructuredErrors(
00149                      xmlRelaxNGParserCtxtPtr ctxt,
00150                      xmlStructuredErrorFunc serror,
00151                      void *ctx);
00152 XMLPUBFUN xmlRelaxNGPtr XMLCALL
00153             xmlRelaxNGParse     (xmlRelaxNGParserCtxtPtr ctxt);
00154 XMLPUBFUN void XMLCALL
00155             xmlRelaxNGFree      (xmlRelaxNGPtr schema);
00156 #ifdef LIBXML_OUTPUT_ENABLED
00157 XMLPUBFUN void XMLCALL
00158             xmlRelaxNGDump      (FILE *output,
00159                      xmlRelaxNGPtr schema);
00160 XMLPUBFUN void XMLCALL
00161             xmlRelaxNGDumpTree  (FILE * output,
00162                      xmlRelaxNGPtr schema);
00163 #endif /* LIBXML_OUTPUT_ENABLED */
00164 /*
00165  * Interfaces for validating
00166  */
00167 XMLPUBFUN void XMLCALL
00168             xmlRelaxNGSetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
00169                      xmlRelaxNGValidityErrorFunc err,
00170                      xmlRelaxNGValidityWarningFunc warn,
00171                      void *ctx);
00172 XMLPUBFUN int XMLCALL
00173             xmlRelaxNGGetValidErrors(xmlRelaxNGValidCtxtPtr ctxt,
00174                      xmlRelaxNGValidityErrorFunc *err,
00175                      xmlRelaxNGValidityWarningFunc *warn,
00176                      void **ctx);
00177 XMLPUBFUN void XMLCALL
00178             xmlRelaxNGSetValidStructuredErrors(xmlRelaxNGValidCtxtPtr ctxt,
00179                       xmlStructuredErrorFunc serror, void *ctx);
00180 XMLPUBFUN xmlRelaxNGValidCtxtPtr XMLCALL
00181             xmlRelaxNGNewValidCtxt  (xmlRelaxNGPtr schema);
00182 XMLPUBFUN void XMLCALL
00183             xmlRelaxNGFreeValidCtxt (xmlRelaxNGValidCtxtPtr ctxt);
00184 XMLPUBFUN int XMLCALL
00185             xmlRelaxNGValidateDoc   (xmlRelaxNGValidCtxtPtr ctxt,
00186                          xmlDocPtr doc);
00187 /*
00188  * Interfaces for progressive validation when possible
00189  */
00190 XMLPUBFUN int XMLCALL
00191             xmlRelaxNGValidatePushElement   (xmlRelaxNGValidCtxtPtr ctxt,
00192                      xmlDocPtr doc,
00193                      xmlNodePtr elem);
00194 XMLPUBFUN int XMLCALL
00195             xmlRelaxNGValidatePushCData (xmlRelaxNGValidCtxtPtr ctxt,
00196                      const xmlChar *data,
00197                      int len);
00198 XMLPUBFUN int XMLCALL
00199             xmlRelaxNGValidatePopElement    (xmlRelaxNGValidCtxtPtr ctxt,
00200                      xmlDocPtr doc,
00201                      xmlNodePtr elem);
00202 XMLPUBFUN int XMLCALL
00203             xmlRelaxNGValidateFullElement   (xmlRelaxNGValidCtxtPtr ctxt,
00204                      xmlDocPtr doc,
00205                      xmlNodePtr elem);
00206 
00207 #ifdef __cplusplus
00208 }
00209 #endif
00210 
00211 #endif /* LIBXML_SCHEMAS_ENABLED */
00212 
00213 #endif /* __XML_RELAX_NG__ */

Generated on Fri May 25 2012 04:31:43 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.