Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

Module xmlregexp from libxml2

API Menu
API Indexes
Related links

basic API for libxml regular expressions handling used for XML Schemas and validation.

Table of Contents

Structure xmlRegExecCtxt
struct _xmlRegExecCtxt The content of this structure is not made public by the API.
Typedef xmlRegExecCtxt * xmlRegExecCtxtPtr
Structure xmlRegexp
struct _xmlRegexp The content of this structure is not made public by the API.
Typedef xmlRegexp * xmlRegexpPtr
Function type: xmlRegExecCallbacks
void	xmlRegExecCallbacks		(xmlRegExecCtxtPtr exec, 
const xmlChar * token,
void * transdata,
void * inputdata)
int	xmlRegExecErrInfo		(xmlRegExecCtxtPtr exec, 
const xmlChar ** string,
int * nbval,
int * nbneg,
xmlChar ** values,
int * terminal)
int	xmlRegExecNextValues		(xmlRegExecCtxtPtr exec, 
int * nbval,
int * nbneg,
xmlChar ** values,
int * terminal)
int	xmlRegExecPushString		(xmlRegExecCtxtPtr exec, 
const xmlChar * value,
void * data)
int	xmlRegExecPushString2		(xmlRegExecCtxtPtr exec, 
const xmlChar * value,
const xmlChar * value2,
void * data)
void	xmlRegFreeExecCtxt		(xmlRegExecCtxtPtr exec)
void	xmlRegFreeRegexp		(xmlRegexpPtr regexp)
xmlRegExecCtxtPtr	xmlRegNewExecCtxt	(xmlRegexpPtr comp, 
xmlRegExecCallbacks callback,
void * data)
xmlRegexpPtr	xmlRegexpCompile	(const xmlChar * regexp)
int	xmlRegexpExec			(xmlRegexpPtr comp, 
const xmlChar * content)
int	xmlRegexpIsDeterminist		(xmlRegexpPtr comp)
void	xmlRegexpPrint			(FILE * output, 
xmlRegexpPtr regexp)

Description

Structure xmlRegExecCtxt

Structure xmlRegExecCtxt
struct _xmlRegExecCtxt { The content of this structure is not made public by the API. }

Structure xmlRegexp

Structure xmlRegexp
struct _xmlRegexp { The content of this structure is not made public by the API. }

Function type: xmlRegExecCallbacks

Function type: xmlRegExecCallbacks
void	xmlRegExecCallbacks		(xmlRegExecCtxtPtr exec, 
const xmlChar * token,
void * transdata,
void * inputdata)

exec:
token:
transdata:
inputdata:

Function: xmlRegExecErrInfo

int	xmlRegExecErrInfo		(xmlRegExecCtxtPtr exec, 
const xmlChar ** string,
int * nbval,
int * nbneg,
xmlChar ** 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		(xmlRegExecCtxtPtr exec, 
int * nbval,
int * nbneg,
xmlChar ** 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		(xmlRegExecCtxtPtr exec, 
const xmlChar * 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		(xmlRegExecCtxtPtr exec, 
const xmlChar * value,
const xmlChar * 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		(xmlRegExecCtxtPtr exec)

Free the structures associated to a regular expression evaulation context.

exec:a regular expression evaulation context

Function: xmlRegFreeRegexp

void	xmlRegFreeRegexp		(xmlRegexpPtr regexp)

Free a regexp

regexp:the regexp

Function: xmlRegNewExecCtxt

xmlRegExecCtxtPtr	xmlRegNewExecCtxt	(xmlRegexpPtr comp, 
xmlRegExecCallbacks 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

xmlRegexpPtr	xmlRegexpCompile	(const xmlChar * 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			(xmlRegexpPtr comp, 
const xmlChar * 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		(xmlRegexpPtr 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, 
xmlRegexpPtr regexp)

Print the content of the compiled regular expression

output:the file for the output debug
regexp:the compiled regexp

Daniel Veillard