Module xmlregexp from libxml2

# ## Module xmlregexp from libxml2

API Menu
Main Menu Developer Menu Code Examples API Menu Parser API Tree API Reader API XML Guidelines ChangeLog
API Indexes
Alphabetic Constructors Functions/Types Modules Symbols
Related links
Mail archive XSLT libxslt DOM gdome2 XML-DSig xmlsec FTP Windows binaries Solaris binaries MacOsX binaries Pascal bindings Bug Tracker
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