00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _xmlcpg_constraints_h_
00029 #define _xmlcpg_constraints_h_
00030
00031
00032 #include "xmlcpg.h"
00033
00034
00035
00041 extern int xmlcpgnameForm (const char *s);
00042
00050 extern int xmlcpgwellFormednessElementTypeMatch (char* stag, char* etag);
00051
00077 extern void xmlcpgvalidityElementValid (xmlcpgElement *element, xmlcpgObject *specs);
00078
00086 extern int xmlcpgwellFormednessUniqueAttSpec (const char *name, const xmlcpgList *atts);
00087
00095 extern void xmlcpgvalidityAttributeValueType (xmlcpgAttribute *attribute, xmlcpgMap* specs, xmlcpgElement* element);
00096
00104 extern int xmlcpgwellFormednessNoExternalEntityReferences (const char *entityName);
00105
00112 extern int xmlcpgwellFormednessNoLessThanInAttributeValues (const xmlcpgAttribute *attribute);
00113
00134 extern int xmlcpgwellFormednessEntityDeclared (const char *entity);
00135
00149 extern int xmlcpgvalidityEntityDeclared (xmlcpgObject *ast);
00150
00158 extern int xmlcpgwellFormednessParsedEntity (const char *entity);
00159
00166 extern int xmlcpgwellFormednessNoRecursion (xmlcpgObject *ast);
00167
00173 extern void xmlcpgwellFormednessInDTD (const char* entity);
00174
00180 extern int xmlcpgvalidityNotationDeclared (xmlcpgObject *ast);
00181
00187 extern void xmlcpgvalidityUniqueNotationName (xmlcpgString *name);
00188
00195
00196 extern int xmlcpgvalidityRootElementType (xmlcpgDocument *document);
00197
00203 extern int xmlcpgwellFormednessExternalSubset (xmlcpgObject *ast);
00204
00205
00226 extern int xmlcpgvalidityStandaloneDocumentDeclaration (xmlcpgList *dtd);
00227
00237 extern void xmlcpgvalidityProperDeclarationPENesting (xmlcpgPEDecl *entity);
00238
00247 extern int xmlcpgwellFormednessPEsinInternalSubset (xmlcpgObject *ast);
00248
00254 extern int xmlcpgvalidityUniqueElementTypeDeclaration (xmlcpgString *elementName);
00255
00269 extern void xmlcpgvalidityProperGroupPENesting (xmlcpgList *list);
00270
00276 extern void xmlcpgvalidityNoDuplicateTypes (xmlcpgList *list);
00277
00285 extern void xmlcpgvalidityID (xmlcpgString *attributeValue, xmlcpgElement *element);
00286
00292 extern void xmlcpgvalidityOneIDperElementType (xmlcpgElement*element,xmlcpgMap* specs);
00293
00299 extern int xmlcpgvalidityIDAttributeDefault (xmlcpgObject *attType, xmlcpgObject* defaultDecl, char* name);
00300
00309 extern void xmlcpgvalidityIDREF (xmlcpgString *attribute, xmlcpgElement *element);
00310
00319 extern void xmlcpgvalidityIDREFS (xmlcpgString *attribute, xmlcpgElement *element);
00320
00328 extern void xmlcpgvalidityEntityName (xmlcpgString *attribute, xmlcpgElement *element);
00329
00337 extern void xmlcpgvalidityEntityNames (xmlcpgString *attribute, xmlcpgElement *element);
00338
00344 extern void xmlcpgvalidityNameToken (xmlcpgString *attribute, xmlcpgElement *element);
00345
00352 extern void xmlcpgvalidityNameTokens (xmlcpgString *attribute, xmlcpgElement *element);
00353
00362 extern void xmlcpgvalidityNotationAttributes (xmlcpgString *attribute, xmlcpgObject *names, xmlcpgElement *element);
00363
00369 extern void xmlcpgvalidityOneNotationPerElementType (xmlcpgObject *ast,xmlcpgMap* specs);
00370
00377 extern void xmlcpgvalidityNoNotationonEmptyElement (xmlcpgElement *element, xmlcpgMap* specs);
00378
00386 extern void xmlcpgvalidityEnumeration (xmlcpgString *attribute, xmlcpgObject *names, xmlcpgElement *element);
00387
00396 extern void xmlcpgvalidityRequiredAttribute (xmlcpgObject* container, xmlcpgElement *element);
00397
00398
00405 extern void xmlcpgvalidityAttributeDefaultLegal (xmlcpgAttDef *attDef);
00406
00414 extern void xmlcpgvalidityFixedAttributeDefault (xmlcpgString *attribute, xmlcpgFixed *defaultDecl, xmlcpgElement *element);
00415
00422 extern void xmlcpgvalidityLegalCharacter (xmlcpgObject* ast);
00423
00430 extern int xmlcpgwellFormednessPEBetweenDeclarations (xmlcpgObject *ast);
00431
00432
00438 extern void xmlcpgvalidityIDReferences ();
00439
00444 extern void xmlcpgcompatibilityError (const char *message);
00445
00450 extern void xmlcpgvalidityWarning (const char *message);
00451
00456 extern void xmlcpgwellFormedConstraintFailure (const char *message);
00457
00462 void xmlcpgconstraintsInit ();
00463
00467 void xmlcpgconstraintsDestroy ();
00468
00469 #endif