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 xmlregexp 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-xmlreader.htmlPrev libxml-xmlreader.htmlxmlreader index.htmlUp index.htmlAPI documentation ../index.htmlHome ../index.htmlThe XML C parser and toolkit of Gnome libxml-xmlsave.htmlxmlsave libxml-xmlsave.htmlNext basic API for libxml regular expressions handling used for XML Schemas and validation. 
Table of Contents
Structure #xmlExpCtxtxmlExpCtxt struct _xmlExpCtxt
The content of this structure is not made public by the API.
Typedef libxml-xmlregexp.html#xmlExpCtxtxmlExpCtxt  * xmlExpCtxtPtr Structure #xmlExpNodexmlExpNode struct _xmlExpNode
The content of this structure is not made public by the API.
Typedef libxml-xmlregexp.html#xmlExpNodexmlExpNode  * xmlExpNodePtr Enum #xmlExpNodeTypexmlExpNodeType Structure #xmlRegExecCtxtxmlRegExecCtxt struct _xmlRegExecCtxt
The content of this structure is not made public by the API.
Typedef libxml-xmlregexp.html#xmlRegExecCtxtxmlRegExecCtxt  * xmlRegExecCtxtPtr Structure #xmlRegexpxmlRegexp struct _xmlRegexp
The content of this structure is not made public by the API.
Typedef libxml-xmlregexp.html#xmlRegexpxmlRegexp  * xmlRegexpPtr int	#xmlExpCtxtNbConsxmlExpCtxtNbCons 		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt)int	#xmlExpCtxtNbNodesxmlExpCtxtNbNodes 		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt)void	#xmlExpDumpxmlExpDump 			( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  expr) libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	#xmlExpExpDerivexmlExpExpDerive 		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  sub)void	#xmlExpFreexmlExpFree 			( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp)void	#xmlExpFreeCtxtxmlExpFreeCtxt 			( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt)int	#xmlExpGetLanguagexmlExpGetLanguage 		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 const libxml-xmlstring.html#xmlCharxmlChar  ** langList, 					 int len)int	#xmlExpGetStartxmlExpGetStart 			( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 const libxml-xmlstring.html#xmlCharxmlChar  ** tokList, 					 int len)int	#xmlExpIsNillablexmlExpIsNillable 		( libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp)int	#xmlExpMaxTokenxmlExpMaxToken 			( libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  expr) libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	#xmlExpNewAtomxmlExpNewAtom 		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 int len) libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr 	#xmlExpNewCtxtxmlExpNewCtxt 		(int maxNodes, 					 libxml-dict.html#xmlDictPtrxmlDictPtr  dict) libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	#xmlExpNewOrxmlExpNewOr 		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  left, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  right) libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	#xmlExpNewRangexmlExpNewRange 		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  subset, 					 int min, 					 int max) libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	#xmlExpNewSeqxmlExpNewSeq 		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  left, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  right) libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	#xmlExpParsexmlExpParse 		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 const char * expr)void	#xmlExpRefxmlExpRef 			( libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp) libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	#xmlExpStringDerivexmlExpStringDerive 	( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 const libxml-xmlstring.html#xmlCharxmlChar  * str, 					 int len)int	#xmlExpSubsumexmlExpSubsume 			( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  sub)Function type: #xmlRegExecCallbacksxmlRegExecCallbacks void	
#xmlRegExecCallbacksxmlRegExecCallbacks 		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 const libxml-xmlstring.html#xmlCharxmlChar  * token, 					 void * transdata, 					 void * inputdata)
int	#xmlRegExecErrInfoxmlRegExecErrInfo 		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 const libxml-xmlstring.html#xmlCharxmlChar  ** string, 					 int * nbval, 					 int * nbneg, 					 libxml-xmlstring.html#xmlCharxmlChar  ** values, 					 int * terminal)int	#xmlRegExecNextValuesxmlRegExecNextValues 		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 int * nbval, 					 int * nbneg, 					 libxml-xmlstring.html#xmlCharxmlChar  ** values, 					 int * terminal)int	#xmlRegExecPushStringxmlRegExecPushString 		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value, 					 void * data)int	#xmlRegExecPushString2xmlRegExecPushString2 		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value2, 					 void * data)void	#xmlRegFreeExecCtxtxmlRegFreeExecCtxt 		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec)void	#xmlRegFreeRegexpxmlRegFreeRegexp 		( libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  regexp) libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr 	#xmlRegNewExecCtxtxmlRegNewExecCtxt 	( libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  comp, 						 libxml-xmlregexp.html#xmlRegExecCallbacksxmlRegExecCallbacks  callback, 						 void * data) libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr 	#xmlRegexpCompilexmlRegexpCompile 	(const libxml-xmlstring.html#xmlCharxmlChar  * regexp)int	#xmlRegexpExecxmlRegexpExec 			( libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  comp, 					 const libxml-xmlstring.html#xmlCharxmlChar  * content)int	#xmlRegexpIsDeterministxmlRegexpIsDeterminist 		( libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  comp)void	#xmlRegexpPrintxmlRegexpPrint 			(FILE * output, 					 libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  regexp)Description
Structure xmlExpCtxt 
Structure xmlExpCtxtstruct _xmlExpCtxt {
The content of this structure is not made public by the API.
}
Structure xmlExpNode 
Structure xmlExpNodestruct _xmlExpNode {
The content of this structure is not made public by the API.
}
Enum xmlExpNodeType 
Enum xmlExpNodeType {
    
XML_EXP_EMPTY  = 0
    
XML_EXP_FORBID  = 1
    
XML_EXP_ATOM  = 2
    
XML_EXP_SEQ  = 3
    
XML_EXP_OR  = 4
    
XML_EXP_COUNT  = 5
}
Structure xmlRegExecCtxt 
Structure xmlRegExecCtxtstruct _xmlRegExecCtxt {
The content of this structure is not made public by the API.
}
      A libxml progressive regular expression evaluation context
    
Structure xmlRegexp 
Structure xmlRegexpstruct _xmlRegexp {
The content of this structure is not made public by the API.
}
      A libxml regular expression, they can actually be far more complex thank the POSIX regex expressions.
    
Function: xmlExpCtxtNbCons
int	xmlExpCtxtNbCons		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt)Debugging facility provides the number of allocated nodes over lifetime
ctxt: an expression context Returns: the number of nodes ever allocated or -1 in case of error Function: xmlExpCtxtNbNodes
int	xmlExpCtxtNbNodes		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt)Debugging facility provides the number of allocated nodes at a that point
ctxt: an expression context Returns: the number of nodes in use or -1 in case of error Function: xmlExpDump
void	xmlExpDump			( libxml-tree.html#xmlBufferPtrxmlBufferPtr  buf, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  expr)Serialize the expression as compiled to the buffer
buf: a buffer to receive the output expr: the compiled expression Function: xmlExpExpDerive
libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	xmlExpExpDerive		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  sub)Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually tatkes less than linear time and can handle expressions generating infinite languages.
ctxt: the expressions context exp: the englobing expression sub: the subexpression Returns: the resulting expression or NULL in case of internal error, the result must be freed Function: xmlExpFree
void	xmlExpFree			( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp)Dereference the expression
ctxt: the expression context exp: the expression Function: xmlExpFreeCtxt
void	xmlExpFreeCtxt			( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt)Free an expression context
ctxt: an expression context Function: xmlExpGetLanguage
int	xmlExpGetLanguage		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 const libxml-xmlstring.html#xmlCharxmlChar  ** langList, 					 int len)Find all the strings used in @exp and store them in @list
ctxt: the expression context exp: the expression langList: where to store the tokens len: the allocated lenght of @list Returns: the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings Function: xmlExpGetStart
int	xmlExpGetStart			( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 const libxml-xmlstring.html#xmlCharxmlChar  ** tokList, 					 int len)Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]
ctxt: the expression context exp: the expression tokList: where to store the tokens len: the allocated lenght of @list Returns: the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings Function: xmlExpIsNillable
int	xmlExpIsNillable		( libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp)Finds if the expression is nillable, i.e. if it accepts the empty sequqnce
exp: the expression Returns: 1 if nillable, 0 if not and -1 in case of error Function: xmlExpMaxToken
int	xmlExpMaxToken			( libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  expr)Indicate the maximum number of input a expression can accept
expr: a compiled expression Returns: the maximum length or -1 in case of error Function: xmlExpNewAtom
libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	xmlExpNewAtom		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 const libxml-xmlstring.html#xmlCharxmlChar  * name, 					 int len)Get the atom associated to this name from that context
ctxt: the expression context name: the atom name len: the atom name lenght in byte (or -1); Returns: the node or NULL in case of error Function: xmlExpNewCtxt
libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr 	xmlExpNewCtxt		(int maxNodes, 					 libxml-dict.html#xmlDictPtrxmlDictPtr  dict)Creates a new context for manipulating expressions
maxNodes: the maximum number of nodes dict: optional dictionnary to use internally Returns: the context or NULL in case of error Function: xmlExpNewOr
libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	xmlExpNewOr		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  left, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  right)Get the atom associated to the choice @left | @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).
ctxt: the expression context left: left expression right: right expression Returns: the node or NULL in case of error Function: xmlExpNewRange
libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	xmlExpNewRange		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  subset, 					 int min, 					 int max)Get the atom associated to the range (@subset){@min, @max} Note that @subset is consumed in the operation, to keep an handle on it use xmlExpRef() and use xmlExpFree() to release it, this is true even in case of failure (unless ctxt == NULL).
ctxt: the expression context subset: the expression to be repeated min: the lower bound for the repetition max: the upper bound for the repetition, -1 means infinite Returns: the node or NULL in case of error Function: xmlExpNewSeq
libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	xmlExpNewSeq		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  left, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  right)Get the atom associated to the sequence @left , @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).
ctxt: the expression context left: left expression right: right expression Returns: the node or NULL in case of error Function: xmlExpParse
libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	xmlExpParse		( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 const char * expr)Minimal parser for regexps, it understand the following constructs - string terminals - choice operator | - sequence operator , - subexpressions (...) - usual cardinality operators + * and ? - finite sequences { min, max } - infinite sequences { min, * } There is minimal checkings made especially no checking on strings values
ctxt: the expressions context expr: the 0 terminated string Returns: a new expression or NULL in case of failure Function: xmlExpRef
void	xmlExpRef			( libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp)Increase the libxml-SAX.html#referencereference  count of the expression
exp: the expression Function: xmlExpStringDerive
libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr 	xmlExpStringDerive	( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 const libxml-xmlstring.html#xmlCharxmlChar  * str, 					 int len)Do one step of Brzozowski derivation of the expression @exp with respect to the input string
ctxt: the expression context exp: the expression str: the string len: the string len in bytes if available Returns: the resulting expression or NULL in case of internal error Function: xmlExpSubsume
int	xmlExpSubsume			( libxml-xmlregexp.html#xmlExpCtxtPtrxmlExpCtxtPtr  ctxt, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  exp, 					 libxml-xmlregexp.html#xmlExpNodePtrxmlExpNodePtr  sub)Check whether @exp accepts all the languages accexpted by @sub the input being a subexpression.
ctxt: the expressions context exp: the englobing expression sub: the subexpression Returns: 1 if true 0 if false and -1 in case of failure. Function type: xmlRegExecCallbacks
Function type: xmlRegExecCallbacks
void	xmlRegExecCallbacks		(
libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 const libxml-xmlstring.html#xmlCharxmlChar  * token, 					 void * transdata, 					 void * inputdata)
exec: token: transdata: inputdata: Function: xmlRegExecErrInfo
int	xmlRegExecErrInfo		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 const libxml-xmlstring.html#xmlCharxmlChar  ** string, 					 int * nbval, 					 int * nbneg, 					 libxml-xmlstring.html#xmlCharxmlChar  ** values, 					 int * terminal)Extract error informations from the regexp execution, the parameter @string will be updated with the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values
exec: a regexp execution context generating an error string: return value for the error string nbval: pointer to the number of accepted values IN/OUT nbneg: return number of negative transitions values: pointer to the array of acceptable values terminal: return value if this was a terminal state Returns: will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error. Function: xmlRegExecNextValues
int	xmlRegExecNextValues		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 int * nbval, 					 int * nbneg, 					 libxml-xmlstring.html#xmlCharxmlChar  ** values, 					 int * terminal)Extract informations from the regexp execution, the parameter @values must point to an array of @nbval string pointers on return nbval will contain the number of possible strings in that state and the @values array will be updated with them. The string values
exec: a regexp execution context nbval: pointer to the number of accepted values IN/OUT nbneg: return number of negative transitions values: pointer to the array of acceptable values terminal: return value if this was a terminal state Returns: will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of error. Function: xmlRegExecPushString
int	xmlRegExecPushString		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value, 					 void * data)Push one input token in the execution context
exec: a regexp execution context or NULL to indicate the end value: a string token input data: data associated to the token to reuse in callbacks Returns: 1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error. Function: xmlRegExecPushString2
int	xmlRegExecPushString2		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value, 					 const libxml-xmlstring.html#xmlCharxmlChar  * value2, 					 void * data)Push one input token in the execution context
exec: a regexp execution context or NULL to indicate the end value: the first string token input value2: the second string token input data: data associated to the token to reuse in callbacks Returns: 1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error. Function: xmlRegFreeExecCtxt
void	xmlRegFreeExecCtxt		( libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr  exec)Free the structures associated to a regular expression evaulation context.
exec: a regular expression evaulation context Function: xmlRegFreeRegexp
void	xmlRegFreeRegexp		( libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  regexp)Free a regexp
regexp: the regexp Function: xmlRegNewExecCtxt
libxml-xmlregexp.html#xmlRegExecCtxtPtrxmlRegExecCtxtPtr 	xmlRegNewExecCtxt	( libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  comp, 						 libxml-xmlregexp.html#xmlRegExecCallbacksxmlRegExecCallbacks  callback, 						 void * data)Build a context used for progressive evaluation of a regexp.
comp: a precompiled regular expression callback: a callback function used for handling progresses in the automata matching phase data: the context data associated to the callback in this context Returns: the new context Function: xmlRegexpCompile
libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr 	xmlRegexpCompile	(const libxml-xmlstring.html#xmlCharxmlChar  * regexp)Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and builds an automata suitable for testing strings against that regular expression
regexp: a regular expression string Returns: the compiled expression or NULL in case of error Function: xmlRegexpExec
int	xmlRegexpExec			( libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  comp, 					 const libxml-xmlstring.html#xmlCharxmlChar  * content)Check if the regular expression generates the value
comp: the compiled regular expression content: the value to check against the regular expression Returns: 1 if it matches, 0 if not and a negative value in case of error Function: xmlRegexpIsDeterminist
int	xmlRegexpIsDeterminist		( libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  comp)Check if the regular expression is determinist
comp: the compiled regular expression Returns: 1 if it yes, 0 if not and a negative value in case of error Function: xmlRegexpPrint
void	xmlRegexpPrint			(FILE * output, 					 libxml-xmlregexp.html#xmlRegexpPtrxmlRegexpPtr  regexp)Print the content of the compiled regular expression
output: the file for the output debug regexp: the compiled regexp ../bugs.htmlDaniel Veillard 
