http://swpat.ffii.org/Action against software patents http://www.gnome.org/Gnome2 Logo http://www.w3.org/StatusW3C Logo http://www.redhat.com/Red Hat Logo http://xmlsoft.org/Made with Libxml2 Logo 
Module valid from libxml2
API Menu ../index.htmlMain Menu ../docs.htmlDeveloper Menu ../examples/index.htmlCode Examples index.htmlAPI Menu libxml-parser.htmlParser API libxml-tree.htmlTree API libxml-xmlreader.htmlReader API ../guidelines.htmlXML Guidelines ../ChangeLog.htmlChangeLog API Indexes ../APIchunk0.htmlAlphabetic ../APIconstructors.htmlConstructors ../APIfunctions.htmlFunctions/Types ../APIfiles.htmlModules ../APIsymbols.htmlSymbols Related links http://mail.gnome.org/archives/xml/Mail archive http://xmlsoft.org/XSLT/XSLT libxslt http://phd.cs.unibo.it/gdome2/DOM gdome2 http://www.aleksey.com/xmlsec/XML-DSig xmlsec ftp://xmlsoft.org/FTP http://www.zlatkovic.com/projects/libxml/Windows binaries http://www.blastwave.org/packages.php/libxml2Solaris binaries http://www.explain.com.au/oss/libxml2xslt.htmlMacOsX binaries http://libxmlplusplus.sourceforge.net/C++ bindings http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4PHP bindings http://sourceforge.net/projects/libxml2-pas/Pascal bindings http://rubyforge.org/projects/xml-tools/Ruby bindings http://tclxml.sourceforge.net/Tcl bindings http://bugzilla.gnome.org/buglist.cgi?product=libxml2Bug Tracker libxml-uri.htmlPrev libxml-uri.htmluri index.htmlUp index.htmlAPI documentation ../index.htmlHome ../index.htmlThe XML C parser and toolkit of Gnome libxml-xinclude.htmlxinclude libxml-xinclude.htmlNext API for the DTD handling and the validity checking 
Table of Contents
#define #XML_CTXT_FINISH_DTD_0XML_CTXT_FINISH_DTD_0 #define #XML_CTXT_FINISH_DTD_1XML_CTXT_FINISH_DTD_1 Structure #xmlAttributeTablexmlAttributeTable struct _xmlHashTable
The content of this structure is not made public by the API.
Typedef libxml-valid.html#xmlAttributeTablexmlAttributeTable  * xmlAttributeTablePtr Structure #xmlElementTablexmlElementTable struct _xmlHashTable
The content of this structure is not made public by the API.
Typedef libxml-valid.html#xmlElementTablexmlElementTable  * xmlElementTablePtr Structure #xmlIDTablexmlIDTable struct _xmlHashTable
The content of this structure is not made public by the API.
Typedef libxml-valid.html#xmlIDTablexmlIDTable  * xmlIDTablePtr Structure #xmlNotationTablexmlNotationTable struct _xmlHashTable
The content of this structure is not made public by the API.
Typedef libxml-valid.html#xmlNotationTablexmlNotationTable  * xmlNotationTablePtr Structure #xmlRefTablexmlRefTable struct _xmlHashTable
The content of this structure is not made public by the API.
Typedef libxml-valid.html#xmlRefTablexmlRefTable  * xmlRefTablePtr Structure #xmlValidCtxtxmlValidCtxt struct _xmlValidCtxt
Typedef libxml-valid.html#xmlValidCtxtxmlValidCtxt  * xmlValidCtxtPtr Structure #xmlValidStatexmlValidState struct _xmlValidState
The content of this structure is not made public by the API.
Typedef libxml-valid.html#xmlValidStatexmlValidState  * xmlValidStatePtr libxml-tree.html#xmlAttributePtrxmlAttributePtr 	#xmlAddAttributeDeclxmlAddAttributeDecl 	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml-xmlstring.html#xmlCharxmlChar  * ns, 					 libxml-tree.html#xmlAttributeTypexmlAttributeType  type, 					 libxml-tree.html#xmlAttributeDefaultxmlAttributeDefault  def, 					 const libxml-xmlstring.html#xmlCharxmlChar  * defaultValue, 					 libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr  tree) libxml-tree.html#xmlElementPtrxmlElementPtr 	#xmlAddElementDeclxmlAddElementDecl 	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 libxml-tree.html#xmlElementTypeValxmlElementTypeVal  type, 					 libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  content) libxml-tree.html#xmlIDPtrxmlIDPtr 	#xmlAddIDxmlAddID 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr) libxml-tree.html#xmlNotationPtrxmlNotationPtr 	#xmlAddNotationDeclxmlAddNotationDecl 	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml-xmlstring.html#xmlCharxmlChar  * PublicID, 					 const libxml-xmlstring.html#xmlCharxmlChar  * SystemID) libxml-tree.html#xmlRefPtrxmlRefPtr 	#xmlAddRefxmlAddRef 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr) libxml-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr 	#xmlCopyAttributeTablexmlCopyAttributeTable 	( libxml-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table) libxml-tree.html#xmlElementContentPtrxmlElementContentPtr 	#xmlCopyDocElementContentxmlCopyDocElementContent 	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 							 libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  cur) libxml-tree.html#xmlElementContentPtrxmlElementContentPtr 	#xmlCopyElementContentxmlCopyElementContent 	( libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  cur) libxml-valid.html#xmlElementTablePtrxmlElementTablePtr 	#xmlCopyElementTablexmlCopyElementTable 	( libxml-valid.html#xmlElementTablePtrxmlElementTablePtr  table) libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr 	#xmlCopyEnumerationxmlCopyEnumeration 	( libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr  cur) libxml-valid.html#xmlNotationTablePtrxmlNotationTablePtr 	#xmlCopyNotationTablexmlCopyNotationTable 	( libxml-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table) libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr 	#xmlCreateEnumerationxmlCreateEnumeration 	(const libxml-xmlstring.html#xmlCharxmlChar  * name)void	#xmlDumpAttributeDeclxmlDumpAttributeDecl 		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-tree.html#xmlAttributePtrxmlAttributePtr  attr)void	#xmlDumpAttributeTablexmlDumpAttributeTable 		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table)void	#xmlDumpElementDeclxmlDumpElementDecl 		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-tree.html#xmlElementPtrxmlElementPtr  elem)void	#xmlDumpElementTablexmlDumpElementTable 		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-valid.html#xmlElementTablePtrxmlElementTablePtr  table)void	#xmlDumpNotationDeclxmlDumpNotationDecl 		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-tree.html#xmlNotationPtrxmlNotationPtr  nota)void	#xmlDumpNotationTablexmlDumpNotationTable 		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table)void	#xmlFreeAttributeTablexmlFreeAttributeTable 		( libxml-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table)void	#xmlFreeDocElementContentxmlFreeDocElementContent 	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  cur)void	#xmlFreeElementContentxmlFreeElementContent 		( libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  cur)void	#xmlFreeElementTablexmlFreeElementTable 		( libxml-valid.html#xmlElementTablePtrxmlElementTablePtr  table)void	#xmlFreeEnumerationxmlFreeEnumeration 		( libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr  cur)void	#xmlFreeIDTablexmlFreeIDTable 			( libxml-valid.html#xmlIDTablePtrxmlIDTablePtr  table)void	#xmlFreeNotationTablexmlFreeNotationTable 		( libxml-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table)void	#xmlFreeRefTablexmlFreeRefTable 			( libxml-valid.html#xmlRefTablePtrxmlRefTablePtr  table)void	#xmlFreeValidCtxtxmlFreeValidCtxt 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  cur) libxml-tree.html#xmlAttributePtrxmlAttributePtr 	#xmlGetDtdAttrDescxmlGetDtdAttrDesc 	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name) libxml-tree.html#xmlElementPtrxmlElementPtr 	#xmlGetDtdElementDescxmlGetDtdElementDesc 	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name) libxml-tree.html#xmlNotationPtrxmlNotationPtr 	#xmlGetDtdNotationDescxmlGetDtdNotationDesc 	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name) libxml-tree.html#xmlAttributePtrxmlAttributePtr 	#xmlGetDtdQAttrDescxmlGetDtdQAttrDesc 	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml-xmlstring.html#xmlCharxmlChar  * prefix) libxml-tree.html#xmlElementPtrxmlElementPtr 	#xmlGetDtdQElementDescxmlGetDtdQElementDesc 	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml-xmlstring.html#xmlCharxmlChar  * prefix) libxml-tree.html#xmlAttrPtrxmlAttrPtr 	#xmlGetIDxmlGetID 		( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-xmlstring.html#xmlCharxmlChar  * ID) libxml-list.html#xmlListPtrxmlListPtr 	#xmlGetRefsxmlGetRefs 		( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-xmlstring.html#xmlCharxmlChar  * ID)int	#xmlIsIDxmlIsID 			( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr)int	#xmlIsMixedElementxmlIsMixedElement 		( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name)int	#xmlIsRefxmlIsRef 			( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr) libxml-tree.html#xmlElementContentPtrxmlElementContentPtr 	#xmlNewDocElementContentxmlNewDocElementContent 	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 						 const libxml-xmlstring.html#xmlCharxmlChar  * name, 						 libxml-tree.html#xmlElementContentTypexmlElementContentType  type) libxml-tree.html#xmlElementContentPtrxmlElementContentPtr 	#xmlNewElementContentxmlNewElementContent 	(const libxml-xmlstring.html#xmlCharxmlChar  * name, 						 libxml-tree.html#xmlElementContentTypexmlElementContentType  type) libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr 	#xmlNewValidCtxtxmlNewValidCtxt 		(void)int	#xmlRemoveIDxmlRemoveID 			( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr)int	#xmlRemoveRefxmlRemoveRef 			( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr)void	#xmlSnprintfElementContentxmlSnprintfElementContent 	(char * buf, 					 int size, 					 libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  content, 					 int englob)void	#xmlSprintfElementContentxmlSprintfElementContent 	(char * buf, 					 libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  content, 					 int englob)int	#xmlValidBuildContentModelxmlValidBuildContentModel 	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlElementPtrxmlElementPtr  elem) libxml-xmlstring.html#xmlCharxmlChar  *	#xmlValidCtxtNormalizeAttributeValuexmlValidCtxtNormalizeAttributeValue 	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 							 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 							 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 							 const libxml-xmlstring.html#xmlCharxmlChar  * name, 							 const libxml-xmlstring.html#xmlCharxmlChar  * value)int	#xmlValidGetPotentialChildrenxmlValidGetPotentialChildren 	( libxml-tree.html#xmlElementContentxmlElementContent  * ctree, 					 const libxml-xmlstring.html#xmlCharxmlChar  ** names, 					 int * len, 					 int max)int	#xmlValidGetValidElementsxmlValidGetValidElements 	( libxml-tree.html#xmlNodexmlNode  * prev, 					 libxml-tree.html#xmlNodexmlNode  * next, 					 const libxml-xmlstring.html#xmlCharxmlChar  ** names, 					 int max) libxml-xmlstring.html#xmlCharxmlChar  *	#xmlValidNormalizeAttributeValuexmlValidNormalizeAttributeValue 	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 						 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 						 const libxml-xmlstring.html#xmlCharxmlChar  * name, 						 const libxml-xmlstring.html#xmlCharxmlChar  * value)int	#xmlValidateAttributeDeclxmlValidateAttributeDecl 	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlAttributePtrxmlAttributePtr  attr)int	#xmlValidateAttributeValuexmlValidateAttributeValue 	( libxml-tree.html#xmlAttributeTypexmlAttributeType  type, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value)int	#xmlValidateDocumentxmlValidateDocument 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc)int	#xmlValidateDocumentFinalxmlValidateDocumentFinal 	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc)int	#xmlValidateDtdxmlValidateDtd 			( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd)int	#xmlValidateDtdFinalxmlValidateDtdFinal 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc)int	#xmlValidateElementxmlValidateElement 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem)int	#xmlValidateElementDeclxmlValidateElementDecl 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlElementPtrxmlElementPtr  elem)int	#xmlValidateNameValuexmlValidateNameValue 		(const libxml-xmlstring.html#xmlCharxmlChar  * value)int	#xmlValidateNamesValuexmlValidateNamesValue 		(const libxml-xmlstring.html#xmlCharxmlChar  * value)int	#xmlValidateNmtokenValuexmlValidateNmtokenValue 		(const libxml-xmlstring.html#xmlCharxmlChar  * value)int	#xmlValidateNmtokensValuexmlValidateNmtokensValue 	(const libxml-xmlstring.html#xmlCharxmlChar  * value)int	#xmlValidateNotationDeclxmlValidateNotationDecl 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNotationPtrxmlNotationPtr  nota)int	#xmlValidateNotationUsexmlValidateNotationUse 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-xmlstring.html#xmlCharxmlChar  * notationName)int	#xmlValidateOneAttributexmlValidateOneAttribute 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value)int	#xmlValidateOneElementxmlValidateOneElement 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem)int	#xmlValidateOneNamespacexmlValidateOneNamespace 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * prefix, 					 libxml-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value)int	#xmlValidatePopElementxmlValidatePopElement 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * qname)int	#xmlValidatePushCDataxmlValidatePushCData 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 const libxml-xmlstring.html#xmlCharxmlChar  * data, 					 int len)int	#xmlValidatePushElementxmlValidatePushElement 		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * qname)int	#xmlValidateRootxmlValidateRoot 			( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc)Function type: #xmlValidityErrorFuncxmlValidityErrorFunc void	
#xmlValidityErrorFuncxmlValidityErrorFunc 		(void * ctx, 					 const char * msg, 					 ... ...)
Function type: #xmlValidityWarningFuncxmlValidityWarningFunc void	
#xmlValidityWarningFuncxmlValidityWarningFunc 		(void * ctx, 					 const char * msg, 					 ... ...)
Description
Macro: XML_CTXT_FINISH_DTD_0
#define XML_CTXT_FINISH_DTD_0Special value for finishDtd field when embedded in an libxml-tree.html#xmlParserCtxtxmlParserCtxt 
Macro: XML_CTXT_FINISH_DTD_1
#define XML_CTXT_FINISH_DTD_1Special value for finishDtd field when embedded in an libxml-tree.html#xmlParserCtxtxmlParserCtxt 
Structure xmlAttributeTable 
Structure xmlAttributeTablestruct _xmlHashTable {
The content of this structure is not made public by the API.
}
Structure xmlElementTable 
Structure xmlElementTablestruct _xmlHashTable {
The content of this structure is not made public by the API.
}
Structure xmlIDTable 
Structure xmlIDTablestruct _xmlHashTable {
The content of this structure is not made public by the API.
}
Structure xmlNotationTable 
Structure xmlNotationTablestruct _xmlHashTable {
The content of this structure is not made public by the API.
}
Structure xmlRefTable 
Structure xmlRefTablestruct _xmlHashTable {
The content of this structure is not made public by the API.
}
Structure xmlValidCtxt 
Structure xmlValidCtxtstruct _xmlValidCtxt {
    void *	userData	: user specific data block
    
libxml-valid.html#xmlValidityErrorFuncxmlValidityErrorFunc 	error	: the callback in case of errors
    
libxml-valid.html#xmlValidityWarningFuncxmlValidityWarningFunc 	warning	: the callback in case of warning Node an
    
libxml-tree.html#xmlNodePtrxmlNodePtr 	node	: Current parsed Node
    int	nodeNr	: Depth of the parsing stack
    int	nodeMax	: Max depth of the parsing stack
    
libxml-tree.html#xmlNodePtrxmlNodePtr  *	nodeTab	: array of nodes
    unsigned int	finishDtd	: finished validating the Dtd ?
    
libxml-tree.html#xmlDocPtrxmlDocPtr 	doc	: the document
    int	valid	: temporary validity check result state s
    
libxml-valid.html#xmlValidStatexmlValidState  *	vstate	: current state
    int	vstateNr	: Depth of the validation stack
    int	vstateMax	: Max depth of the validation stack
    
libxml-valid.html#xmlValidStatexmlValidState  *	vstateTab	: array of validation states
    
libxml-xmlautomata.html#xmlAutomataPtrxmlAutomataPtr 	am	: the automata
    
libxml-xmlautomata.html#xmlAutomataStatePtrxmlAutomataStatePtr 	state	: used to build the automata
    void *	am
    void *	state
}
Structure xmlValidState 
Structure xmlValidStatestruct _xmlValidState {
The content of this structure is not made public by the API.
}
Function: xmlAddAttributeDecl
libxml-tree.html#xmlAttributePtrxmlAttributePtr 	xmlAddAttributeDecl	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml-xmlstring.html#xmlCharxmlChar  * ns, 					 libxml-tree.html#xmlAttributeTypexmlAttributeType  type, 					 libxml-tree.html#xmlAttributeDefaultxmlAttributeDefault  def, 					 const libxml-xmlstring.html#xmlCharxmlChar  * defaultValue, 					 libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr  tree)Register a new libxml-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 libxml-SAX.html#attributeattribute  name ns: the libxml-SAX.html#attributeattribute  namespace prefix type: the libxml-SAX.html#attributeattribute  type def: the libxml-SAX.html#attributeattribute  default type defaultValue: the libxml-SAX.html#attributeattribute  default value tree: if it's an enumeration, the associated list Returns: NULL if not new, otherwise the libxml-SAX.html#attributeattribute  decl Function: xmlAddElementDecl
libxml-tree.html#xmlElementPtrxmlElementPtr 	xmlAddElementDecl	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 libxml-tree.html#xmlElementTypeValxmlElementTypeVal  type, 					 libxml-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 Function: xmlAddID
libxml-tree.html#xmlIDPtrxmlIDPtr 	xmlAddID		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr)Register a new id declaration
ctxt: the validation context doc: pointer to the document value: the value name attr: the libxml-SAX.html#attributeattribute  holding the ID Returns: NULL if not, otherwise the new libxml-tree.html#xmlIDPtrxmlIDPtr Function: xmlAddNotationDecl
libxml-tree.html#xmlNotationPtrxmlNotationPtr 	xmlAddNotationDecl	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml-xmlstring.html#xmlCharxmlChar  * PublicID, 					 const libxml-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 Function: xmlAddRef
libxml-tree.html#xmlRefPtrxmlRefPtr 	xmlAddRef		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr)Register a new ref declaration
ctxt: the validation context doc: pointer to the document value: the value name attr: the libxml-SAX.html#attributeattribute  holding the Ref Returns: NULL if not, otherwise the new libxml-tree.html#xmlRefPtrxmlRefPtr Function: xmlCopyAttributeTable
libxml-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr 	xmlCopyAttributeTable	( libxml-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table)Build a copy of an libxml-SAX.html#attributeattribute  table.
table: An libxml-SAX.html#attributeattribute  table Returns: the new libxml-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  or NULL in case of error. Function: xmlCopyDocElementContent
libxml-tree.html#xmlElementContentPtrxmlElementContentPtr 	xmlCopyDocElementContent	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 							 libxml-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 libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  or NULL in case of error. Function: xmlCopyElementContent
libxml-tree.html#xmlElementContentPtrxmlElementContentPtr 	xmlCopyElementContent	( libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  cur)Build a copy of an element content description. Deprecated, use libxml-valid.html#xmlCopyDocElementContentxmlCopyDocElementContent  instead
cur: An element content pointer. Returns: the new libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  or NULL in case of error. Function: xmlCopyElementTable
libxml-valid.html#xmlElementTablePtrxmlElementTablePtr 	xmlCopyElementTable	( libxml-valid.html#xmlElementTablePtrxmlElementTablePtr  table)Build a copy of an element table.
table: An element table Returns: the new libxml-valid.html#xmlElementTablePtrxmlElementTablePtr  or NULL in case of error. Function: xmlCopyEnumeration
libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr 	xmlCopyEnumeration	( libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr  cur)Copy an enumeration libxml-SAX.html#attributeattribute  node (recursive).
cur: the tree to copy. Returns: the libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr  just created or NULL in case of error. Function: xmlCopyNotationTable
libxml-valid.html#xmlNotationTablePtrxmlNotationTablePtr 	xmlCopyNotationTable	( libxml-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table)Build a copy of a notation table.
table: A notation table Returns: the new libxml-valid.html#xmlNotationTablePtrxmlNotationTablePtr  or NULL in case of error. Function: xmlCreateEnumeration
libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr 	xmlCreateEnumeration	(const libxml-xmlstring.html#xmlCharxmlChar  * name)create and initialize an enumeration libxml-SAX.html#attributeattribute  node.
name: the enumeration name or NULL Returns: the libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr  just created or NULL in case of error. Function: xmlDumpAttributeDecl
void	xmlDumpAttributeDecl		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-tree.html#xmlAttributePtrxmlAttributePtr  attr)This will dump the content of the libxml-SAX.html#attributeattribute  declaration as an XML DTD definition
buf: the XML buffer output attr: An libxml-SAX.html#attributeattribute  declaration Function: xmlDumpAttributeTable
void	xmlDumpAttributeTable		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table)This will dump the content of the libxml-SAX.html#attributeattribute  table as an XML DTD definition
buf: the XML buffer output table: An libxml-SAX.html#attributeattribute  table Function: xmlDumpElementDecl
void	xmlDumpElementDecl		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-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 Function: xmlDumpElementTable
void	xmlDumpElementTable		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-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 Function: xmlDumpNotationDecl
void	xmlDumpNotationDecl		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-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 Function: xmlDumpNotationTable
void	xmlDumpNotationTable		( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-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 Function: xmlFreeAttributeTable
void	xmlFreeAttributeTable		( libxml-valid.html#xmlAttributeTablePtrxmlAttributeTablePtr  table)Deallocate the memory used by an entities hash table.
table: An libxml-SAX.html#attributeattribute  table Function: xmlFreeDocElementContent
void	xmlFreeDocElementContent	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-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 Function: xmlFreeElementContent
void	xmlFreeElementContent		( libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  cur)Free an element content structure. The whole subtree is removed. Deprecated, use libxml-valid.html#xmlFreeDocElementContentxmlFreeDocElementContent  instead
cur: the element content tree to free Function: xmlFreeElementTable
void	xmlFreeElementTable		( libxml-valid.html#xmlElementTablePtrxmlElementTablePtr  table)Deallocate the memory used by an element hash table.
table: An element table Function: xmlFreeEnumeration
void	xmlFreeEnumeration		( libxml-tree.html#xmlEnumerationPtrxmlEnumerationPtr  cur)free an enumeration libxml-SAX.html#attributeattribute  node (recursive).
cur: the tree to free. Function: xmlFreeIDTable
void	xmlFreeIDTable			( libxml-valid.html#xmlIDTablePtrxmlIDTablePtr  table)Deallocate the memory used by an ID hash table.
table: An id table Function: xmlFreeNotationTable
void	xmlFreeNotationTable		( libxml-valid.html#xmlNotationTablePtrxmlNotationTablePtr  table)Deallocate the memory used by an entities hash table.
table: An notation table Function: xmlFreeRefTable
void	xmlFreeRefTable			( libxml-valid.html#xmlRefTablePtrxmlRefTablePtr  table)Deallocate the memory used by an Ref hash table.
table: An ref table Function: xmlFreeValidCtxt
void	xmlFreeValidCtxt		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  cur)Free a validation context structure.
cur: the validation context to free Function: xmlGetDtdAttrDesc
libxml-tree.html#xmlAttributePtrxmlAttributePtr 	xmlGetDtdAttrDesc	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name)Search the DTD for the description of this libxml-SAX.html#attributeattribute  on this element.
dtd: a pointer to the DtD to search elem: the element name name: the libxml-SAX.html#attributeattribute  name Returns: the libxml-tree.html#xmlAttributePtrxmlAttributePtr  if found or NULL Function: xmlGetDtdElementDesc
libxml-tree.html#xmlElementPtrxmlElementPtr 	xmlGetDtdElementDesc	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-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 libxml-tree.html#xmlElementPtrxmlElementPtr  if found or NULL Function: xmlGetDtdNotationDesc
libxml-tree.html#xmlNotationPtrxmlNotationPtr 	xmlGetDtdNotationDesc	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-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 libxml-tree.html#xmlNotationPtrxmlNotationPtr  if found or NULL Function: xmlGetDtdQAttrDesc
libxml-tree.html#xmlAttributePtrxmlAttributePtr 	xmlGetDtdQAttrDesc	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml-xmlstring.html#xmlCharxmlChar  * prefix)Search the DTD for the description of this qualified libxml-SAX.html#attributeattribute  on this element.
dtd: a pointer to the DtD to search elem: the element name name: the libxml-SAX.html#attributeattribute  name prefix: the libxml-SAX.html#attributeattribute  namespace prefix Returns: the libxml-tree.html#xmlAttributePtrxmlAttributePtr  if found or NULL Function: xmlGetDtdQElementDesc
libxml-tree.html#xmlElementPtrxmlElementPtr 	xmlGetDtdQElementDesc	( libxml-tree.html#xmlDtdPtrxmlDtdPtr  dtd, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 const libxml-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 libxml-tree.html#xmlElementPtrxmlElementPtr  if found or NULL Function: xmlGetID
libxml-tree.html#xmlAttrPtrxmlAttrPtr 	xmlGetID		( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-xmlstring.html#xmlCharxmlChar  * ID)Search the libxml-SAX.html#attributeattribute  declaring the given ID
doc: pointer to the document ID: the ID value Returns: NULL if not found, otherwise the libxml-tree.html#xmlAttrPtrxmlAttrPtr  defining the ID Function: xmlGetRefs
libxml-list.html#xmlListPtrxmlListPtr 	xmlGetRefs		( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-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. Function: xmlIsID
int	xmlIsID			( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr)Determine whether an libxml-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 libxml-SAX.html#attributeattribute attr: the libxml-SAX.html#attributeattribute Returns: 0 or 1 depending on the lookup result Function: xmlIsMixedElement
int	xmlIsMixedElement		( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-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 Function: xmlIsRef
int	xmlIsRef			( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr)Determine whether an libxml-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 libxml-SAX.html#attributeattribute attr: the libxml-SAX.html#attributeattribute Returns: 0 or 1 depending on the lookup result Function: xmlNewDocElementContent
libxml-tree.html#xmlElementContentPtrxmlElementContentPtr 	xmlNewDocElementContent	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 						 const libxml-xmlstring.html#xmlCharxmlChar  * name, 						 libxml-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 Function: xmlNewElementContent
libxml-tree.html#xmlElementContentPtrxmlElementContentPtr 	xmlNewElementContent	(const libxml-xmlstring.html#xmlCharxmlChar  * name, 						 libxml-tree.html#xmlElementContentTypexmlElementContentType  type)Allocate an element content structure. Deprecated in favor of libxml-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 Function: xmlNewValidCtxt
libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr 	xmlNewValidCtxt		(void)Allocate a validation context structure.
Returns: NULL if not, otherwise the new validation context structure Function: xmlRemoveID
int	xmlRemoveID			( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr)Remove the given libxml-SAX.html#attributeattribute  from the ID table maintained internally.
doc: the document attr: the libxml-SAX.html#attributeattribute Returns: -1 if the lookup failed and 0 otherwise Function: xmlRemoveRef
int	xmlRemoveRef			( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr)Remove the given libxml-SAX.html#attributeattribute  from the Ref table maintained internally.
doc: the document attr: the libxml-SAX.html#attributeattribute Returns: -1 if the lookup failed and 0 otherwise Function: xmlSnprintfElementContent
void	xmlSnprintfElementContent	(char * buf, 					 int size, 					 libxml-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 Function: xmlSprintfElementContent
void	xmlSprintfElementContent	(char * buf, 					 libxml-tree.html#xmlElementContentPtrxmlElementContentPtr  content, 					 int englob)Deprecated, unsafe, use libxml-valid.html#xmlSnprintfElementContentxmlSnprintfElementContent 
buf: an output buffer content: An element table englob: 1 if one must print the englobing parenthesis, 0 otherwise Function: xmlValidBuildContentModel
int	xmlValidBuildContentModel	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-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 Function: xmlValidCtxtNormalizeAttributeValue
libxml-xmlstring.html#xmlCharxmlChar  *	xmlValidCtxtNormalizeAttributeValue	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 							 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 							 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 							 const libxml-xmlstring.html#xmlCharxmlChar  * name, 							 const libxml-xmlstring.html#xmlCharxmlChar  * value)Does the validation related extra step of the normalization of libxml-SAX.html#attributeattribute  values: If the declared value is not CDATA, then the XML processor must further process the normalized libxml-SAX.html#attributeattribute  value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) libxml-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 libxml-SAX.html#attributeattribute  name value: the libxml-SAX.html#attributeattribute  value Returns: a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value. Function: xmlValidGetPotentialChildren
int	xmlValidGetPotentialChildren	( libxml-tree.html#xmlElementContentxmlElementContent  * ctree, 					 const libxml-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. Function: xmlValidGetValidElements
int	xmlValidGetValidElements	( libxml-tree.html#xmlNodexmlNode  * prev, 					 libxml-tree.html#xmlNodexmlNode  * next, 					 const libxml-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. Function: xmlValidNormalizeAttributeValue
libxml-xmlstring.html#xmlCharxmlChar  *	xmlValidNormalizeAttributeValue	( libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 						 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 						 const libxml-xmlstring.html#xmlCharxmlChar  * name, 						 const libxml-xmlstring.html#xmlCharxmlChar  * value)Does the validation related extra step of the normalization of libxml-SAX.html#attributeattribute  values: If the declared value is not CDATA, then the XML processor must further process the normalized libxml-SAX.html#attributeattribute  value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) libxml-SAX.html#characterscharacters  by single space (#x20) character.
doc: the document elem: the parent name: the libxml-SAX.html#attributeattribute  name value: the libxml-SAX.html#attributeattribute  value Returns: a new normalized string if normalization is needed, NULL otherwise the caller must free the returned value. Function: xmlValidateAttributeDecl
int	xmlValidateAttributeDecl	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlAttributePtrxmlAttributePtr  attr)Try to validate a single libxml-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 libxml-SAX.html#attributeattribute  definition Returns: 1 if valid or 0 otherwise Function: xmlValidateAttributeValue
int	xmlValidateAttributeValue	( libxml-tree.html#xmlAttributeTypexmlAttributeType  type, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value)Validate that the given libxml-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 libxml-SAX.html#attributeattribute  type value: an libxml-SAX.html#attributeattribute  value Returns: 1 if valid or 0 otherwise Function: xmlValidateDocument
int	xmlValidateDocument		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-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 Function: xmlValidateDocumentFinal
int	xmlValidateDocumentFinal	( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-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 Function: xmlValidateDtd
int	xmlValidateDtd			( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-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 Function: xmlValidateDtdFinal
int	xmlValidateDtdFinal		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-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 Function: xmlValidateElement
int	xmlValidateElement		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-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 Function: xmlValidateElementDecl
int	xmlValidateElementDecl		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-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 Function: xmlValidateNameValue
int	xmlValidateNameValue		(const libxml-xmlstring.html#xmlCharxmlChar  * value)Validate that the given value match Name production
value: an Name value Returns: 1 if valid or 0 otherwise Function: xmlValidateNamesValue
int	xmlValidateNamesValue		(const libxml-xmlstring.html#xmlCharxmlChar  * value)Validate that the given value match Names production
value: an Names value Returns: 1 if valid or 0 otherwise Function: xmlValidateNmtokenValue
int	xmlValidateNmtokenValue		(const libxml-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 Function: xmlValidateNmtokensValue
int	xmlValidateNmtokensValue	(const libxml-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 Function: xmlValidateNotationDecl
int	xmlValidateNotationDecl		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-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 Function: xmlValidateNotationUse
int	xmlValidateNotationUse		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 const libxml-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 Function: xmlValidateOneAttribute
int	xmlValidateOneAttribute		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 libxml-tree.html#xmlAttrPtrxmlAttrPtr  attr, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value)Try to validate a single libxml-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 libxml-SAX.html#attributeattribute  instance value: the libxml-SAX.html#attributeattribute  value (without entities processing) Returns: 1 if valid or 0 otherwise Function: xmlValidateOneElement
int	xmlValidateOneElement		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-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 libxml-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 Function: xmlValidateOneNamespace
int	xmlValidateOneNamespace		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml-xmlstring.html#xmlCharxmlChar  * prefix, 					 libxml-tree.html#xmlNsPtrxmlNsPtr  ns, 					 const libxml-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 libxml-SAX.html#attributeattribute  value (without entities processing) Returns: 1 if valid or 0 otherwise Function: xmlValidatePopElement
int	xmlValidatePopElement		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml-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 Function: xmlValidatePushCData
int	xmlValidatePushCData		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 const libxml-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 Function: xmlValidatePushElement
int	xmlValidatePushElement		( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-tree.html#xmlDocPtrxmlDocPtr  doc, 					 libxml-tree.html#xmlNodePtrxmlNodePtr  elem, 					 const libxml-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 Function: xmlValidateRoot
int	xmlValidateRoot			( libxml-valid.html#xmlValidCtxtPtrxmlValidCtxtPtr  ctxt, 					 libxml-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 Function type: xmlValidityErrorFunc
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 libxml-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
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 libxml-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 ../bugs.htmlDaniel Veillard 
