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