  
    
    
    
    
    
    
    
  
  
    
      
        
          
libxml2-uri.html            
Prev          
        
        
          
general.html            
Up          
        
        
          
index.html            
Home          
        
        
          
libxml2-xinclude.html            
Next          
        
        
libxml2 Reference Manual      
    
    
      
valid    
    
valid - The DTD validation
    
API for the DTD handling and the validity checking 
    
Author(s): Daniel Veillard 
    
      
Synopsis
      
#define #XML_CTXT_FINISH_DTD_0XML_CTXT_FINISH_DTD_0 ;
#define 
#XML_CTXT_FINISH_DTD_1XML_CTXT_FINISH_DTD_1 ;
typedef struct _xmlHashTable 
#xmlElementTablexmlElementTable ;
typedef 
libxml2-valid.html#xmlValidStatexmlValidState  * #xmlValidStatePtrxmlValidStatePtr ;
typedef 
libxml2-valid.html#xmlIDTablexmlIDTable  * #xmlIDTablePtrxmlIDTablePtr ;
typedef 
libxml2-valid.html#xmlNotationTablexmlNotationTable  * #xmlNotationTablePtrxmlNotationTablePtr ;
typedef struct _xmlValidCtxt 
#xmlValidCtxtxmlValidCtxt ;
typedef 
libxml2-valid.html#xmlElementTablexmlElementTable  * #xmlElementTablePtrxmlElementTablePtr ;
typedef 
libxml2-valid.html#xmlRefTablexmlRefTable  * #xmlRefTablePtrxmlRefTablePtr ;
typedef struct _xmlHashTable 
#xmlNotationTablexmlNotationTable ;
typedef struct _xmlHashTable 
#xmlRefTablexmlRefTable ;
typedef struct _xmlValidState 
#xmlValidStatexmlValidState ;
typedef struct _xmlHashTable 
#xmlAttributeTablexmlAttributeTable ;
typedef 
libxml2-valid.html#xmlAttributeTablexmlAttributeTable  * #xmlAttributeTablePtrxmlAttributeTablePtr ;
typedef struct _xmlHashTable 
#xmlIDTablexmlIDTable ;
typedef 
libxml2-valid.html#xmlValidCtxtxmlValidCtxt  * #xmlValidCtxtPtrxmlValidCtxtPtr ;
void	
#xmlFreeNotationTablexmlFreeNotationTable 		( libxml2-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table);
int	
#xmlValidateNameValuexmlValidateNameValue 		(const libxml2-xmlstring.html#xmlCharxmlChar  * value);
void	
#xmlSnprintfElementContentxmlSnprintfElementContent 	(char * buf, 					 int size, 					 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  content, 					 int englob);
libxml2-tree.html#xmlRefPtrxmlRefPtr 	#xmlAddRefxmlAddRef 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr);
void	
#xmlDumpAttributeDeclxmlDumpAttributeDecl 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlAttributePtrxmlAttributePtr  attr);
int	
#xmlValidateDocumentFinalxmlValidateDocumentFinal 	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
int	
#xmlValidateDtdFinalxmlValidateDtdFinal 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
void	
#xmlDumpAttributeTablexmlDumpAttributeTable 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table);
libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr 	#xmlCreateEnumerationxmlCreateEnumeration 	(const libxml2-xmlstring.html#xmlCharxmlChar  * name);
int	
#xmlValidateOneAttributexmlValidateOneAttribute 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
int	
#xmlValidGetValidElementsxmlValidGetValidElements 	( libxml2-tree.html#xmlNodexmlNode  * prev, 					 libxml2-tree.html#xmlNodexmlNode  * next, 					 const libxml2-xmlstring.html#xmlCharxmlChar  ** names, 					 int max);
int	
#xmlIsMixedElementxmlIsMixedElement 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
void	
#xmlDumpNotationDeclxmlDumpNotationDecl 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlNotationPtrxmlNotationPtr  nota);
int	
#xmlIsIDxmlIsID 			( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr);
libxml2-tree.html#xmlAttributePtrxmlAttributePtr 	#xmlGetDtdQAttrDescxmlGetDtdQAttrDesc 	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix);
libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr 	#xmlNewDocElementContentxmlNewDocElementContent 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 						 libxml2-tree.html#xmlElementContentTypexmlElementContentType  type);
void	
#xmlFreeAttributeTablexmlFreeAttributeTable 		( libxml2-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table);
typedef void 
#xmlValidityErrorFuncxmlValidityErrorFunc 		(void * ctx, 					 const char * msg, 					 ... ...);
int	
#xmlValidateAttributeDeclxmlValidateAttributeDecl 	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlAttributePtrxmlAttributePtr  attr);
libxml2-tree.html#xmlElementPtrxmlElementPtr 	#xmlGetDtdQElementDescxmlGetDtdQElementDesc 	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix);
libxml2-valid.html#xmlNotationTablePtrxmlNotationTablePtr 	#xmlCopyNotationTablexmlCopyNotationTable 	( libxml2-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table);
int	
#xmlValidateDocumentxmlValidateDocument 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
int	
#xmlValidGetPotentialChildrenxmlValidGetPotentialChildren 	( libxml2-tree.html#xmlElementContentxmlElementContent  * ctree, 					 const libxml2-xmlstring.html#xmlCharxmlChar  ** names, 					 int * len, 					 int max);
libxml2-tree.html#xmlNotationPtrxmlNotationPtr 	#xmlAddNotationDeclxmlAddNotationDecl 	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * PublicID, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * SystemID);
int	
#xmlValidateElementDeclxmlValidateElementDecl 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlElementPtrxmlElementPtr  elem);
libxml2-tree.html#xmlAttributePtrxmlAttributePtr 	#xmlAddAttributeDeclxmlAddAttributeDecl 	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ns, 					 libxml2-tree.html#xmlAttributeTypexmlAttributeType  type, 					 libxml2-tree.html#xmlAttributeDefaultxmlAttributeDefault  def, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * defaultValue, 					 libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr  tree);
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlGetIDxmlGetID 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ID);
libxml2-valid.html#xmlElementTablePtrxmlElementTablePtr 	#xmlCopyElementTablexmlCopyElementTable 	( libxml2-valid.html#xmlElementTablePtrxmlElementTablePtr  table);
libxml2-list.html#xmlListPtrxmlListPtr 	#xmlGetRefsxmlGetRefs 		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ID);
void	
#xmlSprintfElementContentxmlSprintfElementContent 	(char * buf, 					 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  content, 					 int englob);
int	
#xmlValidateOneElementxmlValidateOneElement 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem);
int	
#xmlValidateNmtokenValuexmlValidateNmtokenValue 		(const libxml2-xmlstring.html#xmlCharxmlChar  * value);
void	
#xmlDumpElementTablexmlDumpElementTable 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-valid.html#xmlElementTablePtrxmlElementTablePtr  table);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlValidCtxtNormalizeAttributeValuexmlValidCtxtNormalizeAttributeValue 	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 							 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 							 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 							 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 							 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
void	
#xmlDumpElementDeclxmlDumpElementDecl 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlElementPtrxmlElementPtr  elem);
void	
#xmlFreeElementContentxmlFreeElementContent 		( libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  cur);
int	
#xmlValidateOneNamespacexmlValidateOneNamespace 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
int	
#xmlValidatePushElementxmlValidatePushElement 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * qname);
int	
#xmlIsRefxmlIsRef 			( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr);
libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr 	#xmlCopyDocElementContentxmlCopyDocElementContent 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 							 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  cur);
libxml2-tree.html#xmlIDPtrxmlIDPtr 	#xmlAddIDxmlAddID 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr);
void	
#xmlFreeRefTablexmlFreeRefTable 			( libxml2-valid.html#xmlRefTablePtrxmlRefTablePtr  table);
int	
#xmlRemoveIDxmlRemoveID 			( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr);
void	
#xmlFreeElementTablexmlFreeElementTable 		( libxml2-valid.html#xmlElementTablePtrxmlElementTablePtr  table);
void	
#xmlFreeIDTablexmlFreeIDTable 			( libxml2-valid.html#xmlIDTablePtrxmlIDTablePtr  table);
void	
#xmlFreeValidCtxtxmlFreeValidCtxt 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  cur);
libxml2-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr 	#xmlCopyAttributeTablexmlCopyAttributeTable 	( libxml2-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table);
libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr 	#xmlCopyElementContentxmlCopyElementContent 	( libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  cur);
int	
#xmlValidateAttributeValuexmlValidateAttributeValue 	( libxml2-tree.html#xmlAttributeTypexmlAttributeType  type, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
int	
#xmlRemoveRefxmlRemoveRef 			( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr);
typedef void 
#xmlValidityWarningFuncxmlValidityWarningFunc 		(void * ctx, 					 const char * msg, 					 ... ...);
int	
#xmlValidatePopElementxmlValidatePopElement 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * qname);
void	
#xmlFreeEnumerationxmlFreeEnumeration 		( libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr  cur);
int	
#xmlValidateNamesValuexmlValidateNamesValue 		(const libxml2-xmlstring.html#xmlCharxmlChar  * value);
libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr 	#xmlCopyEnumerationxmlCopyEnumeration 	( libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr  cur);
libxml2-tree.html#xmlAttributePtrxmlAttributePtr 	#xmlGetDtdAttrDescxmlGetDtdAttrDesc 	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
int	
#xmlValidateDtdxmlValidateDtd 			( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd);
libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr 	#xmlNewValidCtxtxmlNewValidCtxt 		(void);
void	
#xmlDumpNotationTablexmlDumpNotationTable 		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table);
libxml2-tree.html#xmlElementPtrxmlElementPtr 	#xmlAddElementDeclxmlAddElementDecl 	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 libxml2-tree.html#xmlElementTypeValxmlElementTypeVal  type, 					 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  content);
libxml2-xmlstring.html#xmlCharxmlChar  *	#xmlValidNormalizeAttributeValuexmlValidNormalizeAttributeValue 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 						 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * value);
int	
#xmlValidBuildContentModelxmlValidBuildContentModel 	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlElementPtrxmlElementPtr  elem);
int	
#xmlValidateElementxmlValidateElement 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem);
int	
#xmlValidateNotationUsexmlValidateNotationUse 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * notationName);
int	
#xmlValidateRootxmlValidateRoot 			( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc);
int	
#xmlValidateNotationDeclxmlValidateNotationDecl 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNotationPtrxmlNotationPtr  nota);
libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr 	#xmlNewElementContentxmlNewElementContent 	(const libxml2-xmlstring.html#xmlCharxmlChar  * name, 						 libxml2-tree.html#xmlElementContentTypexmlElementContentType  type);
libxml2-tree.html#xmlElementPtrxmlElementPtr 	#xmlGetDtdElementDescxmlGetDtdElementDesc 	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
libxml2-tree.html#xmlNotationPtrxmlNotationPtr 	#xmlGetDtdNotationDescxmlGetDtdNotationDesc 	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name);
int	
#xmlValidatePushCDataxmlValidatePushCData 		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * data, 					 int len);
int	
#xmlValidateNmtokensValuexmlValidateNmtokensValue 	(const libxml2-xmlstring.html#xmlCharxmlChar  * value);
void	
#xmlFreeDocElementContentxmlFreeDocElementContent 	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  cur);
    
    
      
Description
    
    
      
Details
      
        
Macro XML_CTXT_FINISH_DTD_0
#define #XML_CTXT_FINISH_DTD_0XML_CTXT_FINISH_DTD_0 ;
Special value for finishDtd field when embedded in an libxml2-tree.html#xmlParserCtxtxmlParserCtxt 
        
        
Macro XML_CTXT_FINISH_DTD_1
#define #XML_CTXT_FINISH_DTD_1XML_CTXT_FINISH_DTD_1 ;
Special value for finishDtd field when embedded in an libxml2-tree.html#xmlParserCtxtxmlParserCtxt 
        
        
Structure xmlAttributeTable
struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlAttributeTable;
        
        
Typedef xmlAttributeTablePtr
libxml2-valid.html#xmlAttributeTablexmlAttributeTable  * xmlAttributeTablePtr;
        
        
Structure xmlElementTable
struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlElementTable;
        
        
Typedef xmlElementTablePtr
libxml2-valid.html#xmlElementTablexmlElementTable  * xmlElementTablePtr;
        
        
Structure xmlIDTable
struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlIDTable;
        
        
Typedef xmlIDTablePtr
libxml2-valid.html#xmlIDTablexmlIDTable  * xmlIDTablePtr;
        
        
Structure xmlNotationTable
struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlNotationTable;
        
        
Typedef xmlNotationTablePtr
libxml2-valid.html#xmlNotationTablexmlNotationTable  * xmlNotationTablePtr;
        
        
Structure xmlRefTable
struct _xmlHashTable {
The content of this structure is not made public by the API.
} xmlRefTable;
        
        
Typedef xmlRefTablePtr
libxml2-valid.html#xmlRefTablexmlRefTable  * xmlRefTablePtr;
        
        
Structure xmlValidCtxt
struct _xmlValidCtxt {
    void *	userData	: user specific data block
    
libxml2-valid.html#xmlValidityErrorFuncxmlValidityErrorFunc 	error	: the callback in case of errors
    
libxml2-valid.html#xmlValidityWarningFuncxmlValidityWarningFunc 	warning	: the callback in case of warning Node analysis stack used when validat
    
libxml2-tree.html#xmlNodePtrxmlNodePtr 	node	: Current parsed Node
    int	nodeNr	: Depth of the parsing stack
    int	nodeMax	: Max depth of the parsing stack
    
libxml2-tree.html#xmlNodePtrxmlNodePtr  *	nodeTab	: array of nodes
    unsigned int	finishDtd	: finished validating the Dtd ?
    
libxml2-tree.html#xmlDocPtrxmlDocPtr 	doc	: the document
    int	valid	: temporary validity check result state state used for non-determinist
    
libxml2-valid.html#xmlValidStatexmlValidState  *	vstate	: current state
    int	vstateNr	: Depth of the validation stack
    int	vstateMax	: Max depth of the validation stack
    
libxml2-valid.html#xmlValidStatexmlValidState  *	vstateTab	: array of validation states
    
libxml2-xmlautomata.html#xmlAutomataPtrxmlAutomataPtr 	am	: the automata
    
libxml2-xmlautomata.html#xmlAutomataStatePtrxmlAutomataStatePtr 	state	: used to build the automata
    void *	am
    void *	state
} xmlValidCtxt;
        
        
Typedef xmlValidCtxtPtr
libxml2-valid.html#xmlValidCtxtxmlValidCtxt  * xmlValidCtxtPtr;
        
        
Structure xmlValidState
struct _xmlValidState {
The content of this structure is not made public by the API.
} xmlValidState;
        
        
Typedef xmlValidStatePtr
libxml2-valid.html#xmlValidStatexmlValidState  * xmlValidStatePtr;
        
        
Function type xmlValidityErrorFunc
void	xmlValidityErrorFunc		(void * ctx, 					 const char * msg, 					 ... ...)Callback called when a validity error is found. This is a message oriented function similar to an *printf function.
ctx: usually an libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  to a validity error context, but comes from ctxt->userData (which normally contains such a pointer); ctxt->userData can be changed by the user. msg: the string to format *printf like vararg ...: remaining arguments to the format         
        
Function type xmlValidityWarningFunc
void	xmlValidityWarningFunc		(void * ctx, 					 const char * msg, 					 ... ...)Callback called when a validity warning is found. This is a message oriented function similar to an *printf function.
ctx: usually an libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  to a validity error context, but comes from ctxt->userData (which normally contains such a pointer); ctxt->userData can be changed by the user. msg: the string to format *printf like vararg ...: remaining arguments to the format         
        
xmlAddAttributeDecl ()
libxml2-tree.html#xmlAttributePtrxmlAttributePtr 	xmlAddAttributeDecl	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ns, 					 libxml2-tree.html#xmlAttributeTypexmlAttributeType  type, 					 libxml2-tree.html#xmlAttributeDefaultxmlAttributeDefault  def, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * defaultValue, 					 libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr  tree)Register a new libxml2-SAX.html#attributeattribute  declaration Note that @tree becomes the ownership of the DTD
ctxt: the validation context dtd: pointer to the DTD elem: the element name name: the libxml2-SAX.html#attributeattribute  name ns: the libxml2-SAX.html#attributeattribute  namespace prefix type: the libxml2-SAX.html#attributeattribute  type def: the libxml2-SAX.html#attributeattribute  default type defaultValue: the libxml2-SAX.html#attributeattribute  default value tree: if it's an enumeration, the associated list Returns: NULL if not new, otherwise the libxml2-SAX.html#attributeattribute  decl         
        
xmlAddElementDecl ()
libxml2-tree.html#xmlElementPtrxmlElementPtr 	xmlAddElementDecl	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 libxml2-tree.html#xmlElementTypeValxmlElementTypeVal  type, 					 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  content)Register a new element declaration
ctxt: the validation context dtd: pointer to the DTD name: the entity name type: the element type content: the element content tree or NULL Returns: NULL if not, otherwise the entity         
        
xmlAddID ()
libxml2-tree.html#xmlIDPtrxmlIDPtr 	xmlAddID		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr)Register a new id declaration
ctxt: the validation context doc: pointer to the document value: the value name attr: the libxml2-SAX.html#attributeattribute  holding the ID Returns: NULL if not, otherwise the new libxml2-tree.html#xmlIDPtrxmlIDPtr         
        
xmlAddNotationDecl ()
libxml2-tree.html#xmlNotationPtrxmlNotationPtr 	xmlAddNotationDecl	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * PublicID, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * SystemID)Register a new notation declaration
ctxt: the validation context dtd: pointer to the DTD name: the entity name PublicID: the public identifier or NULL SystemID: the system identifier or NULL Returns: NULL if not, otherwise the entity         
        
xmlAddRef ()
libxml2-tree.html#xmlRefPtrxmlRefPtr 	xmlAddRef		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr)Register a new ref declaration
ctxt: the validation context doc: pointer to the document value: the value name attr: the libxml2-SAX.html#attributeattribute  holding the Ref Returns: NULL if not, otherwise the new libxml2-tree.html#xmlRefPtrxmlRefPtr         
        
xmlCopyAttributeTable ()
libxml2-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr 	xmlCopyAttributeTable	( libxml2-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table)Build a copy of an libxml2-SAX.html#attributeattribute  table.
table: An libxml2-SAX.html#attributeattribute  table Returns: the new libxml2-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  or NULL in case of error.         
        
xmlCopyDocElementContent ()
libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr 	xmlCopyDocElementContent	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 							 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  cur)Build a copy of an element content description.
doc: the document owning the element declaration cur: An element content pointer. Returns: the new libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  or NULL in case of error.         
        
xmlCopyElementContent ()
libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr 	xmlCopyElementContent	( libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  cur)Build a copy of an element content description. Deprecated, use libxml2-valid.html#xmlCopyDocElementContentxmlCopyDocElementContent  instead
cur: An element content pointer. Returns: the new libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  or NULL in case of error.         
        
xmlCopyElementTable ()
libxml2-valid.html#xmlElementTablePtrxmlElementTablePtr 	xmlCopyElementTable	( libxml2-valid.html#xmlElementTablePtrxmlElementTablePtr  table)Build a copy of an element table.
table: An element table Returns: the new libxml2-valid.html#xmlElementTablePtrxmlElementTablePtr  or NULL in case of error.         
        
xmlCopyEnumeration ()
libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr 	xmlCopyEnumeration	( libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr  cur)Copy an enumeration libxml2-SAX.html#attributeattribute  node (recursive).
cur: the tree to copy. Returns: the libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr  just created or NULL in case of error.         
        
xmlCopyNotationTable ()
libxml2-valid.html#xmlNotationTablePtrxmlNotationTablePtr 	xmlCopyNotationTable	( libxml2-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table)Build a copy of a notation table.
table: A notation table Returns: the new libxml2-valid.html#xmlNotationTablePtrxmlNotationTablePtr  or NULL in case of error.         
        
xmlCreateEnumeration ()
libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr 	xmlCreateEnumeration	(const libxml2-xmlstring.html#xmlCharxmlChar  * name)create and initialize an enumeration libxml2-SAX.html#attributeattribute  node.
name: the enumeration name or NULL Returns: the libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr  just created or NULL in case of error.         
        
xmlDumpAttributeDecl ()
void	xmlDumpAttributeDecl		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlAttributePtrxmlAttributePtr  attr)This will dump the content of the libxml2-SAX.html#attributeattribute  declaration as an XML DTD definition
buf: the XML buffer output attr: An libxml2-SAX.html#attributeattribute  declaration         
        
xmlDumpAttributeTable ()
void	xmlDumpAttributeTable		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table)This will dump the content of the libxml2-SAX.html#attributeattribute  table as an XML DTD definition
buf: the XML buffer output table: An libxml2-SAX.html#attributeattribute  table         
        
xmlDumpElementDecl ()
void	xmlDumpElementDecl		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlElementPtrxmlElementPtr  elem)This will dump the content of the element declaration as an XML DTD definition
buf: the XML buffer output elem: An element table         
        
xmlDumpElementTable ()
void	xmlDumpElementTable		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-valid.html#xmlElementTablePtrxmlElementTablePtr  table)This will dump the content of the element table as an XML DTD definition
buf: the XML buffer output table: An element table         
        
xmlDumpNotationDecl ()
void	xmlDumpNotationDecl		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-tree.html#xmlNotationPtrxmlNotationPtr  nota)This will dump the content the notation declaration as an XML DTD definition
buf: the XML buffer output nota: A notation declaration         
        
xmlDumpNotationTable ()
void	xmlDumpNotationTable		( libxml2-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml2-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table)This will dump the content of the notation table as an XML DTD definition
buf: the XML buffer output table: A notation table         
        
xmlFreeAttributeTable ()
void	xmlFreeAttributeTable		( libxml2-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table)Deallocate the memory used by an entities hash table.
table: An libxml2-SAX.html#attributeattribute  table         
        
xmlFreeDocElementContent ()
void	xmlFreeDocElementContent	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  cur)Free an element content structure. The whole subtree is removed.
doc: the document owning the element declaration cur: the element content tree to free         
        
xmlFreeElementContent ()
void	xmlFreeElementContent		( libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  cur)Free an element content structure. The whole subtree is removed. Deprecated, use libxml2-valid.html#xmlFreeDocElementContentxmlFreeDocElementContent  instead
cur: the element content tree to free         
        
xmlFreeElementTable ()
void	xmlFreeElementTable		( libxml2-valid.html#xmlElementTablePtrxmlElementTablePtr  table)Deallocate the memory used by an element hash table.
table: An element table         
        
xmlFreeEnumeration ()
void	xmlFreeEnumeration		( libxml2-tree.html#xmlEnumerationPtrxmlEnumerationPtr  cur)free an enumeration libxml2-SAX.html#attributeattribute  node (recursive).
cur: the tree to free.         
        
xmlFreeIDTable ()
void	xmlFreeIDTable			( libxml2-valid.html#xmlIDTablePtrxmlIDTablePtr  table)Deallocate the memory used by an ID hash table.
table: An id table         
        
xmlFreeNotationTable ()
void	xmlFreeNotationTable		( libxml2-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table)Deallocate the memory used by an entities hash table.
table: An notation table         
        
xmlFreeRefTable ()
void	xmlFreeRefTable			( libxml2-valid.html#xmlRefTablePtrxmlRefTablePtr  table)Deallocate the memory used by an Ref hash table.
table: An ref table         
        
xmlFreeValidCtxt ()
void	xmlFreeValidCtxt		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  cur)Free a validation context structure.
cur: the validation context to free         
        
xmlGetDtdAttrDesc ()
libxml2-tree.html#xmlAttributePtrxmlAttributePtr 	xmlGetDtdAttrDesc	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Search the DTD for the description of this libxml2-SAX.html#attributeattribute  on this element.
dtd: a pointer to the DtD to search elem: the element name name: the libxml2-SAX.html#attributeattribute  name Returns: the libxml2-tree.html#xmlAttributePtrxmlAttributePtr  if found or NULL         
        
xmlGetDtdElementDesc ()
libxml2-tree.html#xmlElementPtrxmlElementPtr 	xmlGetDtdElementDesc	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Search the DTD for the description of this element
dtd: a pointer to the DtD to search name: the element name Returns: the libxml2-tree.html#xmlElementPtrxmlElementPtr  if found or NULL         
        
xmlGetDtdNotationDesc ()
libxml2-tree.html#xmlNotationPtrxmlNotationPtr 	xmlGetDtdNotationDesc	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Search the DTD for the description of this notation
dtd: a pointer to the DtD to search name: the notation name Returns: the libxml2-tree.html#xmlNotationPtrxmlNotationPtr  if found or NULL         
        
xmlGetDtdQAttrDesc ()
libxml2-tree.html#xmlAttributePtrxmlAttributePtr 	xmlGetDtdQAttrDesc	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix)Search the DTD for the description of this qualified libxml2-SAX.html#attributeattribute  on this element.
dtd: a pointer to the DtD to search elem: the element name name: the libxml2-SAX.html#attributeattribute  name prefix: the libxml2-SAX.html#attributeattribute  namespace prefix Returns: the libxml2-tree.html#xmlAttributePtrxmlAttributePtr  if found or NULL         
        
xmlGetDtdQElementDesc ()
libxml2-tree.html#xmlElementPtrxmlElementPtr 	xmlGetDtdQElementDesc	( libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix)Search the DTD for the description of this element
dtd: a pointer to the DtD to search name: the element name prefix: the element namespace prefix Returns: the libxml2-tree.html#xmlElementPtrxmlElementPtr  if found or NULL         
        
xmlGetID ()
libxml2-tree.html#xmlAttrPtrxmlAttrPtr 	xmlGetID		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ID)Search the libxml2-SAX.html#attributeattribute  declaring the given ID
doc: pointer to the document ID: the ID value Returns: NULL if not found, otherwise the libxml2-tree.html#xmlAttrPtrxmlAttrPtr  defining the ID         
        
xmlGetRefs ()
libxml2-list.html#xmlListPtrxmlListPtr 	xmlGetRefs		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * ID)Find the set of references for the supplied ID.
doc: pointer to the document ID: the ID value Returns: NULL if not found, otherwise node set for the ID.         
        
xmlIsID ()
int	xmlIsID			( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr)Determine whether an libxml2-SAX.html#attributeattribute  is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.
doc: the document elem: the element carrying the libxml2-SAX.html#attributeattribute attr: the libxml2-SAX.html#attributeattribute Returns: 0 or 1 depending on the lookup result         
        
xmlIsMixedElement ()
int	xmlIsMixedElement		( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * name)Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept text childs
doc: the document name: the element name Returns: 0 if no, 1 if yes, and -1 if no element description is available         
        
xmlIsRef ()
int	xmlIsRef			( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr)Determine whether an libxml2-SAX.html#attributeattribute  is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).
doc: the document elem: the element carrying the libxml2-SAX.html#attributeattribute attr: the libxml2-SAX.html#attributeattribute Returns: 0 or 1 depending on the lookup result         
        
xmlNewDocElementContent ()
libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr 	xmlNewDocElementContent	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 						 libxml2-tree.html#xmlElementContentTypexmlElementContentType  type)Allocate an element content structure for the document.
doc: the document name: the subelement name or NULL type: the type of element content decl Returns: NULL if not, otherwise the new element content structure         
        
xmlNewElementContent ()
libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr 	xmlNewElementContent	(const libxml2-xmlstring.html#xmlCharxmlChar  * name, 						 libxml2-tree.html#xmlElementContentTypexmlElementContentType  type)Allocate an element content structure. Deprecated in favor of libxml2-valid.html#xmlNewDocElementContentxmlNewDocElementContent 
name: the subelement name or NULL type: the type of element content decl Returns: NULL if not, otherwise the new element content structure         
        
xmlNewValidCtxt ()
libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr 	xmlNewValidCtxt		(void)Allocate a validation context structure.
Returns: NULL if not, otherwise the new validation context structure         
        
xmlRemoveID ()
int	xmlRemoveID			( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr)Remove the given libxml2-SAX.html#attributeattribute  from the ID table maintained internally.
doc: the document attr: the libxml2-SAX.html#attributeattribute Returns: -1 if the lookup failed and 0 otherwise         
        
xmlRemoveRef ()
int	xmlRemoveRef			( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr)Remove the given libxml2-SAX.html#attributeattribute  from the Ref table maintained internally.
doc: the document attr: the libxml2-SAX.html#attributeattribute Returns: -1 if the lookup failed and 0 otherwise         
        
xmlSnprintfElementContent ()
void	xmlSnprintfElementContent	(char * buf, 					 int size, 					 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  content, 					 int englob)This will dump the content of the element content definition Intended just for the debug routine
buf: an output buffer size: the buffer size content: An element table englob: 1 if one must print the englobing parenthesis, 0 otherwise         
        
xmlSprintfElementContent ()
void	xmlSprintfElementContent	(char * buf, 					 libxml2-tree.html#xmlElementContentPtrxmlElementContentPtr  content, 					 int englob)Deprecated, unsafe, use libxml2-valid.html#xmlSnprintfElementContentxmlSnprintfElementContent 
buf: an output buffer content: An element table englob: 1 if one must print the englobing parenthesis, 0 otherwise         
        
xmlValidBuildContentModel ()
int	xmlValidBuildContentModel	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlElementPtrxmlElementPtr  elem)(Re)Build the automata associated to the content model of this element
ctxt: a validation context elem: an element declaration node Returns: 1 in case of success, 0 in case of error         
        
xmlValidCtxtNormalizeAttributeValue ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlValidCtxtNormalizeAttributeValue	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 							 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 							 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 							 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 							 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Does the validation related extra step of the normalization of libxml2-SAX.html#attributeattribute  values: If the declared value is not CDATA, then the XML processor must further process the normalized libxml2-SAX.html#attributeattribute  value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) libxml2-SAX.html#characterscharacters  by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt->valid accordingly
ctxt: the validation context or NULL doc: the document elem: the parent name: the libxml2-SAX.html#attributeattribute  name value: the libxml2-SAX.html#attributeattribute  value Returns: a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.         
        
xmlValidGetPotentialChildren ()
int	xmlValidGetPotentialChildren	( libxml2-tree.html#xmlElementContentxmlElementContent  * ctree, 					 const libxml2-xmlstring.html#xmlCharxmlChar  ** names, 					 int * len, 					 int max)Build/extend a list of potential children allowed by the content tree
ctree: an element content tree names: an array to store the list of child names len: a pointer to the number of element in the list max: the size of the array Returns: the number of element in the list, or -1 in case of error.         
        
xmlValidGetValidElements ()
int	xmlValidGetValidElements	( libxml2-tree.html#xmlNodexmlNode  * prev, 					 libxml2-tree.html#xmlNodexmlNode  * next, 					 const libxml2-xmlstring.html#xmlCharxmlChar  ** names, 					 int max)This function returns the list of authorized children to insert within an existing tree while respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next in the following ways: to insert before 'node': xmlValidGetValidElements(node->prev, node, ... to insert next 'node': xmlValidGetValidElements(node, node->next, ... to replace 'node': xmlValidGetValidElements(node->prev, node->next, ... to prepend a child to 'node': xmlValidGetValidElements(NULL, node->childs, to append a child to 'node': xmlValidGetValidElements(node->last, NULL, ... pointers to the element names are inserted at the beginning of the array and do not need to be freed.
prev: an element to insert after next: an element to insert next names: an array to store the list of child names max: the size of the array Returns: the number of element in the list, or -1 in case of error. If the function returns the value @max the caller is invited to grow the receiving array and retry.         
        
xmlValidNormalizeAttributeValue ()
libxml2-xmlstring.html#xmlCharxmlChar  *	xmlValidNormalizeAttributeValue	( libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 						 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * name, 						 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Does the validation related extra step of the normalization of libxml2-SAX.html#attributeattribute  values: If the declared value is not CDATA, then the XML processor must further process the normalized libxml2-SAX.html#attributeattribute  value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) libxml2-SAX.html#characterscharacters  by single space (#x20) character.
doc: the document elem: the parent name: the libxml2-SAX.html#attributeattribute  name value: the libxml2-SAX.html#attributeattribute  value Returns: a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value.         
        
xmlValidateAttributeDecl ()
int	xmlValidateAttributeDecl	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlAttributePtrxmlAttributePtr  attr)Try to validate a single libxml2-SAX.html#attributeattribute  definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Default Legal ] - [ VC: Enumeration ] - [ VC: ID Attribute Default ] The ID/IDREF uniqueness and matching are done separately
ctxt: the validation context doc: a document instance attr: an libxml2-SAX.html#attributeattribute  definition Returns: 1 if valid or 0 otherwise         
        
xmlValidateAttributeValue ()
int	xmlValidateAttributeValue	( libxml2-tree.html#xmlAttributeTypexmlAttributeType  type, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Validate that the given libxml2-SAX.html#attributeattribute  value match the proper production [ VC: ID ] Values of type ID must match the Name production.... [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ... [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ... [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.
type: an libxml2-SAX.html#attributeattribute  type value: an libxml2-SAX.html#attributeattribute  value Returns: 1 if valid or 0 otherwise         
        
xmlValidateDocument ()
int	xmlValidateDocument		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)Try to validate the document instance basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.
ctxt: the validation context doc: a document instance Returns: 1 if valid or 0 otherwise         
        
xmlValidateDocumentFinal ()
int	xmlValidateDocumentFinal	( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)Does the final step for the document validation once all the incremental validation steps have been completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS attributes definition for validity
ctxt: the validation context doc: a document instance Returns: 1 if valid or 0 otherwise         
        
xmlValidateDtd ()
int	xmlValidateDtd			( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlDtdPtrxmlDtdPtr  dtd)Try to validate the document against the dtd instance Basically it does check all the definitions in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.
ctxt: the validation context doc: a document instance dtd: a dtd instance Returns: 1 if valid or 0 otherwise         
        
xmlValidateDtdFinal ()
int	xmlValidateDtdFinal		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)Does the final step for the dtds validation once all the subsets have been parsed basically it does the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or possible values matches one of the defined entities. - check that NOTATION type attributes default or possible values matches one of the defined notations.
ctxt: the validation context doc: a document instance Returns: 1 if valid or 0 if invalid and -1 if not well-formed         
        
xmlValidateElement ()
int	xmlValidateElement		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem)Try to validate the subtree under an element
ctxt: the validation context doc: a document instance elem: an element instance Returns: 1 if valid or 0 otherwise         
        
xmlValidateElementDecl ()
int	xmlValidateElementDecl		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlElementPtrxmlElementPtr  elem)Try to validate a single element definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: One ID per Element Type ] - [ VC: No Duplicate Types ] - [ VC: Unique Element Type Declaration ]
ctxt: the validation context doc: a document instance elem: an element definition Returns: 1 if valid or 0 otherwise         
        
xmlValidateNameValue ()
int	xmlValidateNameValue		(const libxml2-xmlstring.html#xmlCharxmlChar  * value)Validate that the given value match Name production
value: an Name value Returns: 1 if valid or 0 otherwise         
        
xmlValidateNamesValue ()
int	xmlValidateNamesValue		(const libxml2-xmlstring.html#xmlCharxmlChar  * value)Validate that the given value match Names production
value: an Names value Returns: 1 if valid or 0 otherwise         
        
xmlValidateNmtokenValue ()
int	xmlValidateNmtokenValue		(const libxml2-xmlstring.html#xmlCharxmlChar  * value)Validate that the given value match Nmtoken production [ VC: Name Token ]
value: an Nmtoken value Returns: 1 if valid or 0 otherwise         
        
xmlValidateNmtokensValue ()
int	xmlValidateNmtokensValue	(const libxml2-xmlstring.html#xmlCharxmlChar  * value)Validate that the given value match Nmtokens production [ VC: Name Token ]
value: an Nmtokens value Returns: 1 if valid or 0 otherwise         
        
xmlValidateNotationDecl ()
int	xmlValidateNotationDecl		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNotationPtrxmlNotationPtr  nota)Try to validate a single notation definition basically it does the following checks as described by the XML-1.0 recommendation: - it seems that no validity constraint exists on notation declarations But this function get called anyway ...
ctxt: the validation context doc: a document instance nota: a notation definition Returns: 1 if valid or 0 otherwise         
        
xmlValidateNotationUse ()
int	xmlValidateNotationUse		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * notationName)Validate that the given name match a notation declaration. - [ VC: Notation Declared ]
ctxt: the validation context doc: the document notationName: the notation name to check Returns: 1 if valid or 0 otherwise         
        
xmlValidateOneAttribute ()
int	xmlValidateOneAttribute		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml2-tree.html#xmlAttrPtrxmlAttrPtr  attr, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Try to validate a single libxml2-SAX.html#attributeattribute  for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately
ctxt: the validation context doc: a document instance elem: an element instance attr: an libxml2-SAX.html#attributeattribute  instance value: the libxml2-SAX.html#attributeattribute  value (without entities processing) Returns: 1 if valid or 0 otherwise         
        
xmlValidateOneElement ()
int	xmlValidateOneElement		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem)Try to validate a single element and it's attributes, basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC: Required Attribute ] Then call xmlValidateOneAttribute() for each libxml2-SAX.html#attributeattribute  present. The ID/IDREF checkings are done separately
ctxt: the validation context doc: a document instance elem: an element instance Returns: 1 if valid or 0 otherwise         
        
xmlValidateOneNamespace ()
int	xmlValidateOneNamespace		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * prefix, 					 libxml2-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * value)Try to validate a single namespace declaration for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately
ctxt: the validation context doc: a document instance elem: an element instance prefix: the namespace prefix ns: an namespace declaration instance value: the libxml2-SAX.html#attributeattribute  value (without entities processing) Returns: 1 if valid or 0 otherwise         
        
xmlValidatePopElement ()
int	xmlValidatePopElement		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * qname)Pop the element end from the validation stack.
ctxt: the validation context doc: a document instance elem: an element instance qname: the qualified name as appearing in the serialization Returns: 1 if no validation problem was found or 0 otherwise         
        
xmlValidatePushCData ()
int	xmlValidatePushCData		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * data, 					 int len)check the CData parsed for validation in the current stack
ctxt: the validation context data: some character data read len: the lenght of the data Returns: 1 if no validation problem was found or 0 otherwise         
        
xmlValidatePushElement ()
int	xmlValidatePushElement		( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml2-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml2-xmlstring.html#xmlCharxmlChar  * qname)Push a new element start on the validation stack.
ctxt: the validation context doc: a document instance elem: an element instance qname: the qualified name as appearing in the serialization Returns: 1 if no validation problem was found or 0 otherwise         
        
xmlValidateRoot ()
int	xmlValidateRoot			( libxml2-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml2-tree.html#xmlDocPtrxmlDocPtr  doc)Try to validate a the root element basically it does the following check as described by the XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element
ctxt: the validation context doc: a document instance Returns: 1 if valid or 0 otherwise         
      
    
  
