annotate modules/javafx.web/src/main/native/Source/ThirdParty/libxml/src/include/libxml/valid.h @ 10839:d4868b8fd76f

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