Annotation of embedaddon/libxml2/include/libxml/valid.h, revision 1.1.1.2

1.1       misho       1: /*
                      2:  * Summary: The DTD validation
                      3:  * Description: API for the DTD handling and the validity checking
                      4:  *
                      5:  * Copy: See Copyright for the status of this software.
                      6:  *
                      7:  * Author: Daniel Veillard
                      8:  */
                      9: 
                     10: 
                     11: #ifndef __XML_VALID_H__
                     12: #define __XML_VALID_H__
                     13: 
                     14: #include <libxml/xmlversion.h>
                     15: #include <libxml/xmlerror.h>
                     16: #include <libxml/tree.h>
                     17: #include <libxml/list.h>
                     18: #include <libxml/xmlautomata.h>
                     19: #include <libxml/xmlregexp.h>
                     20: 
                     21: #ifdef __cplusplus
                     22: extern "C" {
                     23: #endif
                     24: 
                     25: /*
                     26:  * Validation state added for non-determinist content model.
                     27:  */
                     28: typedef struct _xmlValidState xmlValidState;
                     29: typedef xmlValidState *xmlValidStatePtr;
                     30: 
                     31: /**
                     32:  * xmlValidityErrorFunc:
                     33:  * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
                     34:  *        but comes from ctxt->userData (which normally contains such
                     35:  *        a pointer); ctxt->userData can be changed by the user.
                     36:  * @msg:  the string to format *printf like vararg
                     37:  * @...:  remaining arguments to the format
                     38:  *
                     39:  * Callback called when a validity error is found. This is a message
                     40:  * oriented function similar to an *printf function.
                     41:  */
                     42: typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
                     43:                             const char *msg,
                     44:                             ...) LIBXML_ATTR_FORMAT(2,3);
                     45: 
                     46: /**
                     47:  * xmlValidityWarningFunc:
                     48:  * @ctx:  usually an xmlValidCtxtPtr to a validity error context,
                     49:  *        but comes from ctxt->userData (which normally contains such
                     50:  *        a pointer); ctxt->userData can be changed by the user.
                     51:  * @msg:  the string to format *printf like vararg
                     52:  * @...:  remaining arguments to the format
                     53:  *
                     54:  * Callback called when a validity warning is found. This is a message
                     55:  * oriented function similar to an *printf function.
                     56:  */
                     57: typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
                     58:                               const char *msg,
                     59:                               ...) LIBXML_ATTR_FORMAT(2,3);
                     60: 
                     61: #ifdef IN_LIBXML
                     62: /**
                     63:  * XML_CTXT_FINISH_DTD_0:
                     64:  *
                     65:  * Special value for finishDtd field when embedded in an xmlParserCtxt
                     66:  */
                     67: #define XML_CTXT_FINISH_DTD_0 0xabcd1234
                     68: /**
                     69:  * XML_CTXT_FINISH_DTD_1:
                     70:  *
                     71:  * Special value for finishDtd field when embedded in an xmlParserCtxt
                     72:  */
                     73: #define XML_CTXT_FINISH_DTD_1 0xabcd1235
                     74: #endif
                     75: 
                     76: /*
                     77:  * xmlValidCtxt:
                     78:  * An xmlValidCtxt is used for error reporting when validating.
                     79:  */
                     80: typedef struct _xmlValidCtxt xmlValidCtxt;
                     81: typedef xmlValidCtxt *xmlValidCtxtPtr;
                     82: struct _xmlValidCtxt {
                     83:     void *userData;                    /* user specific data block */
                     84:     xmlValidityErrorFunc error;                /* the callback in case of errors */
                     85:     xmlValidityWarningFunc warning;    /* the callback in case of warning */
                     86: 
                     87:     /* Node analysis stack used when validating within entities */
                     88:     xmlNodePtr         node;          /* Current parsed Node */
                     89:     int                nodeNr;        /* Depth of the parsing stack */
                     90:     int                nodeMax;       /* Max depth of the parsing stack */
                     91:     xmlNodePtr        *nodeTab;       /* array of nodes */
                     92: 
                     93:     unsigned int     finishDtd;       /* finished validating the Dtd ? */
                     94:     xmlDocPtr              doc;       /* the document */
                     95:     int                  valid;       /* temporary validity check result */
                     96: 
                     97:     /* state state used for non-determinist content validation */
                     98:     xmlValidState     *vstate;        /* current state */
                     99:     int                vstateNr;      /* Depth of the validation stack */
                    100:     int                vstateMax;     /* Max depth of the validation stack */
                    101:     xmlValidState     *vstateTab;     /* array of validation states */
                    102: 
                    103: #ifdef LIBXML_REGEXP_ENABLED
                    104:     xmlAutomataPtr            am;     /* the automata */
                    105:     xmlAutomataStatePtr    state;     /* used to build the automata */
                    106: #else
                    107:     void                     *am;
                    108:     void                  *state;
                    109: #endif
                    110: };
                    111: 
                    112: /*
                    113:  * ALL notation declarations are stored in a table.
                    114:  * There is one table per DTD.
                    115:  */
                    116: 
                    117: typedef struct _xmlHashTable xmlNotationTable;
                    118: typedef xmlNotationTable *xmlNotationTablePtr;
                    119: 
                    120: /*
                    121:  * ALL element declarations are stored in a table.
                    122:  * There is one table per DTD.
                    123:  */
                    124: 
                    125: typedef struct _xmlHashTable xmlElementTable;
                    126: typedef xmlElementTable *xmlElementTablePtr;
                    127: 
                    128: /*
                    129:  * ALL attribute declarations are stored in a table.
                    130:  * There is one table per DTD.
                    131:  */
                    132: 
                    133: typedef struct _xmlHashTable xmlAttributeTable;
                    134: typedef xmlAttributeTable *xmlAttributeTablePtr;
                    135: 
                    136: /*
                    137:  * ALL IDs attributes are stored in a table.
                    138:  * There is one table per document.
                    139:  */
                    140: 
                    141: typedef struct _xmlHashTable xmlIDTable;
                    142: typedef xmlIDTable *xmlIDTablePtr;
                    143: 
                    144: /*
                    145:  * ALL Refs attributes are stored in a table.
                    146:  * There is one table per document.
                    147:  */
                    148: 
                    149: typedef struct _xmlHashTable xmlRefTable;
                    150: typedef xmlRefTable *xmlRefTablePtr;
                    151: 
                    152: /* Notation */
1.1.1.2 ! misho     153: XMLPUBFUN xmlNotationPtr XMLCALL
1.1       misho     154:                xmlAddNotationDecl      (xmlValidCtxtPtr ctxt,
                    155:                                         xmlDtdPtr dtd,
                    156:                                         const xmlChar *name,
                    157:                                         const xmlChar *PublicID,
                    158:                                         const xmlChar *SystemID);
                    159: #ifdef LIBXML_TREE_ENABLED
1.1.1.2 ! misho     160: XMLPUBFUN xmlNotationTablePtr XMLCALL
1.1       misho     161:                xmlCopyNotationTable    (xmlNotationTablePtr table);
                    162: #endif /* LIBXML_TREE_ENABLED */
1.1.1.2 ! misho     163: XMLPUBFUN void XMLCALL
1.1       misho     164:                xmlFreeNotationTable    (xmlNotationTablePtr table);
                    165: #ifdef LIBXML_OUTPUT_ENABLED
1.1.1.2 ! misho     166: XMLPUBFUN void XMLCALL
1.1       misho     167:                xmlDumpNotationDecl     (xmlBufferPtr buf,
                    168:                                         xmlNotationPtr nota);
1.1.1.2 ! misho     169: XMLPUBFUN void XMLCALL
1.1       misho     170:                xmlDumpNotationTable    (xmlBufferPtr buf,
                    171:                                         xmlNotationTablePtr table);
                    172: #endif /* LIBXML_OUTPUT_ENABLED */
                    173: 
                    174: /* Element Content */
                    175: /* the non Doc version are being deprecated */
1.1.1.2 ! misho     176: XMLPUBFUN xmlElementContentPtr XMLCALL
1.1       misho     177:                xmlNewElementContent    (const xmlChar *name,
                    178:                                         xmlElementContentType type);
1.1.1.2 ! misho     179: XMLPUBFUN xmlElementContentPtr XMLCALL
1.1       misho     180:                xmlCopyElementContent   (xmlElementContentPtr content);
1.1.1.2 ! misho     181: XMLPUBFUN void XMLCALL
1.1       misho     182:                xmlFreeElementContent   (xmlElementContentPtr cur);
                    183: /* the new versions with doc argument */
1.1.1.2 ! misho     184: XMLPUBFUN xmlElementContentPtr XMLCALL
1.1       misho     185:                xmlNewDocElementContent (xmlDocPtr doc,
                    186:                                         const xmlChar *name,
                    187:                                         xmlElementContentType type);
1.1.1.2 ! misho     188: XMLPUBFUN xmlElementContentPtr XMLCALL
1.1       misho     189:                xmlCopyDocElementContent(xmlDocPtr doc,
                    190:                                         xmlElementContentPtr content);
1.1.1.2 ! misho     191: XMLPUBFUN void XMLCALL
1.1       misho     192:                xmlFreeDocElementContent(xmlDocPtr doc,
                    193:                                         xmlElementContentPtr cur);
1.1.1.2 ! misho     194: XMLPUBFUN void XMLCALL
1.1       misho     195:                xmlSnprintfElementContent(char *buf,
                    196:                                         int size,
                    197:                                         xmlElementContentPtr content,
                    198:                                         int englob);
                    199: #ifdef LIBXML_OUTPUT_ENABLED
                    200: /* DEPRECATED */
1.1.1.2 ! misho     201: XMLPUBFUN void XMLCALL
1.1       misho     202:                xmlSprintfElementContent(char *buf,
                    203:                                         xmlElementContentPtr content,
                    204:                                         int englob);
                    205: #endif /* LIBXML_OUTPUT_ENABLED */
                    206: /* DEPRECATED */
                    207: 
                    208: /* Element */
1.1.1.2 ! misho     209: XMLPUBFUN xmlElementPtr XMLCALL
1.1       misho     210:                xmlAddElementDecl       (xmlValidCtxtPtr ctxt,
                    211:                                         xmlDtdPtr dtd,
                    212:                                         const xmlChar *name,
                    213:                                         xmlElementTypeVal type,
                    214:                                         xmlElementContentPtr content);
                    215: #ifdef LIBXML_TREE_ENABLED
1.1.1.2 ! misho     216: XMLPUBFUN xmlElementTablePtr XMLCALL
1.1       misho     217:                xmlCopyElementTable     (xmlElementTablePtr table);
                    218: #endif /* LIBXML_TREE_ENABLED */
1.1.1.2 ! misho     219: XMLPUBFUN void XMLCALL
1.1       misho     220:                xmlFreeElementTable     (xmlElementTablePtr table);
                    221: #ifdef LIBXML_OUTPUT_ENABLED
1.1.1.2 ! misho     222: XMLPUBFUN void XMLCALL
1.1       misho     223:                xmlDumpElementTable     (xmlBufferPtr buf,
                    224:                                         xmlElementTablePtr table);
1.1.1.2 ! misho     225: XMLPUBFUN void XMLCALL
1.1       misho     226:                xmlDumpElementDecl      (xmlBufferPtr buf,
                    227:                                         xmlElementPtr elem);
                    228: #endif /* LIBXML_OUTPUT_ENABLED */
                    229: 
                    230: /* Enumeration */
1.1.1.2 ! misho     231: XMLPUBFUN xmlEnumerationPtr XMLCALL
1.1       misho     232:                xmlCreateEnumeration    (const xmlChar *name);
1.1.1.2 ! misho     233: XMLPUBFUN void XMLCALL
1.1       misho     234:                xmlFreeEnumeration      (xmlEnumerationPtr cur);
                    235: #ifdef LIBXML_TREE_ENABLED
1.1.1.2 ! misho     236: XMLPUBFUN xmlEnumerationPtr XMLCALL
1.1       misho     237:                xmlCopyEnumeration      (xmlEnumerationPtr cur);
                    238: #endif /* LIBXML_TREE_ENABLED */
                    239: 
                    240: /* Attribute */
1.1.1.2 ! misho     241: XMLPUBFUN xmlAttributePtr XMLCALL
1.1       misho     242:                xmlAddAttributeDecl     (xmlValidCtxtPtr ctxt,
                    243:                                         xmlDtdPtr dtd,
                    244:                                         const xmlChar *elem,
                    245:                                         const xmlChar *name,
                    246:                                         const xmlChar *ns,
                    247:                                         xmlAttributeType type,
                    248:                                         xmlAttributeDefault def,
                    249:                                         const xmlChar *defaultValue,
                    250:                                         xmlEnumerationPtr tree);
                    251: #ifdef LIBXML_TREE_ENABLED
1.1.1.2 ! misho     252: XMLPUBFUN xmlAttributeTablePtr XMLCALL
1.1       misho     253:                xmlCopyAttributeTable  (xmlAttributeTablePtr table);
                    254: #endif /* LIBXML_TREE_ENABLED */
1.1.1.2 ! misho     255: XMLPUBFUN void XMLCALL
1.1       misho     256:                xmlFreeAttributeTable  (xmlAttributeTablePtr table);
                    257: #ifdef LIBXML_OUTPUT_ENABLED
1.1.1.2 ! misho     258: XMLPUBFUN void XMLCALL
1.1       misho     259:                xmlDumpAttributeTable  (xmlBufferPtr buf,
                    260:                                        xmlAttributeTablePtr table);
1.1.1.2 ! misho     261: XMLPUBFUN void XMLCALL
1.1       misho     262:                xmlDumpAttributeDecl   (xmlBufferPtr buf,
                    263:                                        xmlAttributePtr attr);
                    264: #endif /* LIBXML_OUTPUT_ENABLED */
                    265: 
                    266: /* IDs */
1.1.1.2 ! misho     267: XMLPUBFUN xmlIDPtr XMLCALL
1.1       misho     268:                xmlAddID               (xmlValidCtxtPtr ctxt,
                    269:                                        xmlDocPtr doc,
                    270:                                        const xmlChar *value,
                    271:                                        xmlAttrPtr attr);
1.1.1.2 ! misho     272: XMLPUBFUN void XMLCALL
1.1       misho     273:                xmlFreeIDTable         (xmlIDTablePtr table);
1.1.1.2 ! misho     274: XMLPUBFUN xmlAttrPtr XMLCALL
1.1       misho     275:                xmlGetID               (xmlDocPtr doc,
                    276:                                        const xmlChar *ID);
1.1.1.2 ! misho     277: XMLPUBFUN int XMLCALL
1.1       misho     278:                xmlIsID                (xmlDocPtr doc,
                    279:                                        xmlNodePtr elem,
                    280:                                        xmlAttrPtr attr);
1.1.1.2 ! misho     281: XMLPUBFUN int XMLCALL
        !           282:                xmlRemoveID            (xmlDocPtr doc,
1.1       misho     283:                                        xmlAttrPtr attr);
                    284: 
                    285: /* IDREFs */
1.1.1.2 ! misho     286: XMLPUBFUN xmlRefPtr XMLCALL
1.1       misho     287:                xmlAddRef              (xmlValidCtxtPtr ctxt,
                    288:                                        xmlDocPtr doc,
                    289:                                        const xmlChar *value,
                    290:                                        xmlAttrPtr attr);
1.1.1.2 ! misho     291: XMLPUBFUN void XMLCALL
1.1       misho     292:                xmlFreeRefTable        (xmlRefTablePtr table);
1.1.1.2 ! misho     293: XMLPUBFUN int XMLCALL
1.1       misho     294:                xmlIsRef               (xmlDocPtr doc,
                    295:                                        xmlNodePtr elem,
                    296:                                        xmlAttrPtr attr);
1.1.1.2 ! misho     297: XMLPUBFUN int XMLCALL
        !           298:                xmlRemoveRef           (xmlDocPtr doc,
1.1       misho     299:                                        xmlAttrPtr attr);
1.1.1.2 ! misho     300: XMLPUBFUN xmlListPtr XMLCALL
1.1       misho     301:                xmlGetRefs             (xmlDocPtr doc,
                    302:                                        const xmlChar *ID);
                    303: 
                    304: /**
                    305:  * The public function calls related to validity checking.
                    306:  */
                    307: #ifdef LIBXML_VALID_ENABLED
                    308: /* Allocate/Release Validation Contexts */
1.1.1.2 ! misho     309: XMLPUBFUN xmlValidCtxtPtr XMLCALL
1.1       misho     310:                xmlNewValidCtxt(void);
1.1.1.2 ! misho     311: XMLPUBFUN void XMLCALL
1.1       misho     312:                xmlFreeValidCtxt(xmlValidCtxtPtr);
                    313: 
1.1.1.2 ! misho     314: XMLPUBFUN int XMLCALL
1.1       misho     315:                xmlValidateRoot         (xmlValidCtxtPtr ctxt,
                    316:                                         xmlDocPtr doc);
1.1.1.2 ! misho     317: XMLPUBFUN int XMLCALL
1.1       misho     318:                xmlValidateElementDecl  (xmlValidCtxtPtr ctxt,
                    319:                                         xmlDocPtr doc,
                    320:                                         xmlElementPtr elem);
1.1.1.2 ! misho     321: XMLPUBFUN xmlChar * XMLCALL
1.1       misho     322:                xmlValidNormalizeAttributeValue(xmlDocPtr doc,
                    323:                                         xmlNodePtr elem,
                    324:                                         const xmlChar *name,
                    325:                                         const xmlChar *value);
1.1.1.2 ! misho     326: XMLPUBFUN xmlChar * XMLCALL
1.1       misho     327:                xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
                    328:                                         xmlDocPtr doc,
                    329:                                         xmlNodePtr elem,
                    330:                                         const xmlChar *name,
                    331:                                         const xmlChar *value);
1.1.1.2 ! misho     332: XMLPUBFUN int XMLCALL
1.1       misho     333:                xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
                    334:                                         xmlDocPtr doc,
                    335:                                         xmlAttributePtr attr);
1.1.1.2 ! misho     336: XMLPUBFUN int XMLCALL
1.1       misho     337:                xmlValidateAttributeValue(xmlAttributeType type,
                    338:                                         const xmlChar *value);
1.1.1.2 ! misho     339: XMLPUBFUN int XMLCALL
1.1       misho     340:                xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
                    341:                                         xmlDocPtr doc,
                    342:                                         xmlNotationPtr nota);
1.1.1.2 ! misho     343: XMLPUBFUN int XMLCALL
1.1       misho     344:                xmlValidateDtd          (xmlValidCtxtPtr ctxt,
                    345:                                         xmlDocPtr doc,
                    346:                                         xmlDtdPtr dtd);
1.1.1.2 ! misho     347: XMLPUBFUN int XMLCALL
1.1       misho     348:                xmlValidateDtdFinal     (xmlValidCtxtPtr ctxt,
                    349:                                         xmlDocPtr doc);
1.1.1.2 ! misho     350: XMLPUBFUN int XMLCALL
1.1       misho     351:                xmlValidateDocument     (xmlValidCtxtPtr ctxt,
                    352:                                         xmlDocPtr doc);
1.1.1.2 ! misho     353: XMLPUBFUN int XMLCALL
1.1       misho     354:                xmlValidateElement      (xmlValidCtxtPtr ctxt,
                    355:                                         xmlDocPtr doc,
                    356:                                         xmlNodePtr elem);
1.1.1.2 ! misho     357: XMLPUBFUN int XMLCALL
1.1       misho     358:                xmlValidateOneElement   (xmlValidCtxtPtr ctxt,
                    359:                                         xmlDocPtr doc,
                    360:                                         xmlNodePtr elem);
1.1.1.2 ! misho     361: XMLPUBFUN int XMLCALL
1.1       misho     362:                xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
                    363:                                         xmlDocPtr doc,
                    364:                                         xmlNodePtr     elem,
                    365:                                         xmlAttrPtr attr,
                    366:                                         const xmlChar *value);
1.1.1.2 ! misho     367: XMLPUBFUN int XMLCALL
1.1       misho     368:                xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
                    369:                                         xmlDocPtr doc,
                    370:                                         xmlNodePtr elem,
                    371:                                         const xmlChar *prefix,
                    372:                                         xmlNsPtr ns,
                    373:                                         const xmlChar *value);
1.1.1.2 ! misho     374: XMLPUBFUN int XMLCALL
1.1       misho     375:                xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
                    376:                                         xmlDocPtr doc);
                    377: #endif /* LIBXML_VALID_ENABLED */
                    378: 
                    379: #if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
1.1.1.2 ! misho     380: XMLPUBFUN int XMLCALL
1.1       misho     381:                xmlValidateNotationUse  (xmlValidCtxtPtr ctxt,
                    382:                                         xmlDocPtr doc,
                    383:                                         const xmlChar *notationName);
                    384: #endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
                    385: 
1.1.1.2 ! misho     386: XMLPUBFUN int XMLCALL
1.1       misho     387:                xmlIsMixedElement       (xmlDocPtr doc,
                    388:                                         const xmlChar *name);
1.1.1.2 ! misho     389: XMLPUBFUN xmlAttributePtr XMLCALL
1.1       misho     390:                xmlGetDtdAttrDesc       (xmlDtdPtr dtd,
                    391:                                         const xmlChar *elem,
                    392:                                         const xmlChar *name);
1.1.1.2 ! misho     393: XMLPUBFUN xmlAttributePtr XMLCALL
1.1       misho     394:                xmlGetDtdQAttrDesc      (xmlDtdPtr dtd,
                    395:                                         const xmlChar *elem,
                    396:                                         const xmlChar *name,
                    397:                                         const xmlChar *prefix);
1.1.1.2 ! misho     398: XMLPUBFUN xmlNotationPtr XMLCALL
1.1       misho     399:                xmlGetDtdNotationDesc   (xmlDtdPtr dtd,
                    400:                                         const xmlChar *name);
1.1.1.2 ! misho     401: XMLPUBFUN xmlElementPtr XMLCALL
1.1       misho     402:                xmlGetDtdQElementDesc   (xmlDtdPtr dtd,
                    403:                                         const xmlChar *name,
                    404:                                         const xmlChar *prefix);
1.1.1.2 ! misho     405: XMLPUBFUN xmlElementPtr XMLCALL
1.1       misho     406:                xmlGetDtdElementDesc    (xmlDtdPtr dtd,
                    407:                                         const xmlChar *name);
                    408: 
                    409: #ifdef LIBXML_VALID_ENABLED
                    410: 
1.1.1.2 ! misho     411: XMLPUBFUN int XMLCALL
1.1       misho     412:                xmlValidGetPotentialChildren(xmlElementContent *ctree,
                    413:                                         const xmlChar **names,
                    414:                                         int *len,
                    415:                                         int max);
                    416: 
1.1.1.2 ! misho     417: XMLPUBFUN int XMLCALL
1.1       misho     418:                xmlValidGetValidElements(xmlNode *prev,
                    419:                                         xmlNode *next,
                    420:                                         const xmlChar **names,
                    421:                                         int max);
1.1.1.2 ! misho     422: XMLPUBFUN int XMLCALL
1.1       misho     423:                xmlValidateNameValue    (const xmlChar *value);
1.1.1.2 ! misho     424: XMLPUBFUN int XMLCALL
1.1       misho     425:                xmlValidateNamesValue   (const xmlChar *value);
1.1.1.2 ! misho     426: XMLPUBFUN int XMLCALL
1.1       misho     427:                xmlValidateNmtokenValue (const xmlChar *value);
1.1.1.2 ! misho     428: XMLPUBFUN int XMLCALL
1.1       misho     429:                xmlValidateNmtokensValue(const xmlChar *value);
                    430: 
                    431: #ifdef LIBXML_REGEXP_ENABLED
                    432: /*
                    433:  * Validation based on the regexp support
                    434:  */
1.1.1.2 ! misho     435: XMLPUBFUN int XMLCALL
1.1       misho     436:                xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
                    437:                                         xmlElementPtr elem);
                    438: 
1.1.1.2 ! misho     439: XMLPUBFUN int XMLCALL
1.1       misho     440:                xmlValidatePushElement  (xmlValidCtxtPtr ctxt,
                    441:                                         xmlDocPtr doc,
                    442:                                         xmlNodePtr elem,
                    443:                                         const xmlChar *qname);
1.1.1.2 ! misho     444: XMLPUBFUN int XMLCALL
1.1       misho     445:                xmlValidatePushCData    (xmlValidCtxtPtr ctxt,
                    446:                                         const xmlChar *data,
                    447:                                         int len);
1.1.1.2 ! misho     448: XMLPUBFUN int XMLCALL
1.1       misho     449:                xmlValidatePopElement   (xmlValidCtxtPtr ctxt,
                    450:                                         xmlDocPtr doc,
                    451:                                         xmlNodePtr elem,
                    452:                                         const xmlChar *qname);
                    453: #endif /* LIBXML_REGEXP_ENABLED */
                    454: #endif /* LIBXML_VALID_ENABLED */
                    455: #ifdef __cplusplus
                    456: }
                    457: #endif
                    458: #endif /* __XML_VALID_H__ */

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