Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

constraints.h

Go to the documentation of this file.
00001 /*                               -*- Mode: C -*- 
00002  * constraints.h
00003  * Copyright © 2002-03 Laboratoire de Biologie Informatique et Théorique
00004  *                  Université de Montréal.
00005  * Author           : Martin Larose
00006  * Created On       : Fri Apr 19 09:55:22 2002
00007  * $Revision: 1.13 $
00008  * $Id: constraints.h,v 1.13 2003/10/27 22:31:30 larosem Exp $
00009  *
00010  * This file is part of xmlcpg.
00011  *
00012  * xmlcpg is free software; you can redistribute it and/or modify it under
00013  * the terms of the GNU Lesser General Public License as published by the Free
00014  * Software Foundation; either version 2 of the License, or (at your option)
00015  * any later version.
00016  *
00017  * xmlcpg is distributed in the hope that it will be useful, but WITHOUT ANY
00018  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00019  * FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
00020  * more details.
00021  *
00022  * You should have received a copy of the GNU Lesser General Public License
00023  * along with xmlcpg; if not, write to the Free Software Foundation, Inc.,
00024  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
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 //MEL: changement du parametre ast..
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

Generated on Tue Nov 11 14:59:39 2003 for xmlcpg by doxygen1.2.18