Module xmlautomata from libxml2
Action against software patentsGnome2 LogoW3C LogoRed Hat Logo
Made with Libxml2 Logo

Module xmlautomata from libxml2

API Menu
API Indexes
Related links

the API to build regexp automata

Table of Contents

Structure xmlAutomata
struct _xmlAutomata The content of this structure is not made public by the API.
Typedef xmlAutomata * xmlAutomataPtr
Structure xmlAutomataState
struct _xmlAutomataState The content of this structure is not made public by the API.
Typedef xmlAutomataState * xmlAutomataStatePtr
xmlRegexpPtr	xmlAutomataCompile	(xmlAutomataPtr am)
xmlAutomataStatePtr	xmlAutomataGetInitState	(xmlAutomataPtr am)
int	xmlAutomataIsDeterminist	(xmlAutomataPtr am)
xmlAutomataStatePtr	xmlAutomataNewAllTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
int lax)
xmlAutomataStatePtr	xmlAutomataNewCountTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
int min,
int max,
void * data)
xmlAutomataStatePtr	xmlAutomataNewCountTrans2	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
const xmlChar * token2,
int min,
int max,
void * data)
xmlAutomataStatePtr	xmlAutomataNewCountedTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
int counter)
int	xmlAutomataNewCounter		(xmlAutomataPtr am, 
int min,
int max)
xmlAutomataStatePtr	xmlAutomataNewCounterTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
int counter)
xmlAutomataStatePtr	xmlAutomataNewEpsilon	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to)
xmlAutomataStatePtr	xmlAutomataNewNegTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
const xmlChar * token2,
void * data)
xmlAutomataStatePtr	xmlAutomataNewOnceTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
int min,
int max,
void * data)
xmlAutomataStatePtr	xmlAutomataNewOnceTrans2	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
const xmlChar * token2,
int min,
int max,
void * data)
xmlAutomataStatePtr	xmlAutomataNewState	(xmlAutomataPtr am)
xmlAutomataStatePtr	xmlAutomataNewTransition	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
void * data)
xmlAutomataStatePtr	xmlAutomataNewTransition2	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
const xmlChar * token2,
void * data)
int	xmlAutomataSetFinalState	(xmlAutomataPtr am, 
xmlAutomataStatePtr state)
void	xmlFreeAutomata			(xmlAutomataPtr am)
xmlAutomataPtr	xmlNewAutomata		(void)

Description

Structure xmlAutomata

Structure xmlAutomata
struct _xmlAutomata { The content of this structure is not made public by the API. }
A libxml automata description, It can be compiled into a regexp

Structure xmlAutomataState

Structure xmlAutomataState
struct _xmlAutomataState { The content of this structure is not made public by the API. }
A state int the automata description,

Function: xmlAutomataCompile

xmlRegexpPtr	xmlAutomataCompile	(xmlAutomataPtr am)

Compile the automata into a Reg Exp ready for being executed. The automata should be free after this point.

am:an automata
Returns:the compiled regexp or NULL in case of error

Function: xmlAutomataGetInitState

xmlAutomataStatePtr	xmlAutomataGetInitState	(xmlAutomataPtr am)

Initial state lookup

am:an automata
Returns:the initial state of the automata

Function: xmlAutomataIsDeterminist

int	xmlAutomataIsDeterminist	(xmlAutomataPtr am)

Checks if an automata is determinist.

am:an automata
Returns:1 if true, 0 if not, and -1 in case of error

Function: xmlAutomataNewAllTrans

xmlAutomataStatePtr	xmlAutomataNewAllTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
int lax)

If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition from the @from state to the target state. That transition is an epsilon transition allowed only when all transitions from the @from node have been activated.

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
lax:allow to transition if not all all transitions have been activated
Returns:the target state or NULL in case of error

Function: xmlAutomataNewCountTrans

xmlAutomataStatePtr	xmlAutomataNewCountTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
int min,
int max,
void * data)

If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
token:the input string associated to that transition
min:the minimum successive occurences of token
max:the maximum successive occurences of token
data:data associated to the transition
Returns:the target state or NULL in case of error

Function: xmlAutomataNewCountTrans2

xmlAutomataStatePtr	xmlAutomataNewCountTrans2	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
const xmlChar * token2,
int min,
int max,
void * data)

If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
token:the input string associated to that transition
token2:the second input string associated to that transition
min:the minimum successive occurences of token
max:the maximum successive occurences of token
data:data associated to the transition
Returns:the target state or NULL in case of error

Function: xmlAutomataNewCountedTrans

xmlAutomataStatePtr	xmlAutomataNewCountedTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
int counter)

If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will increment the counter provided

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
counter:the counter associated to that transition
Returns:the target state or NULL in case of error

Function: xmlAutomataNewCounter

int	xmlAutomataNewCounter		(xmlAutomataPtr am, 
int min,
int max)

Create a new counter

am:an automata
min:the minimal value on the counter
max:the maximal value on the counter
Returns:the counter number or -1 in case of error

Function: xmlAutomataNewCounterTrans

xmlAutomataStatePtr	xmlAutomataNewCounterTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
int counter)

If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state which will be allowed only if the counter is within the right range.

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
counter:the counter associated to that transition
Returns:the target state or NULL in case of error

Function: xmlAutomataNewEpsilon

xmlAutomataStatePtr	xmlAutomataNewEpsilon	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to)

If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition from the @from state to the target state

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
Returns:the target state or NULL in case of error

Function: xmlAutomataNewNegTrans

xmlAutomataStatePtr	xmlAutomataNewNegTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
const xmlChar * token2,
void * data)

If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by any value except (@token,@token2) Note that if @token2 is not NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
token:the first input string associated to that transition
token2:the second input string associated to that transition
data:data passed to the callback function if the transition is activated
Returns:the target state or NULL in case of error

Function: xmlAutomataNewOnceTrans

xmlAutomataStatePtr	xmlAutomataNewOnceTrans	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
int min,
int max,
void * data)

If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and whose number is between @min and @max, moreover that transition can only be crossed once.

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
token:the input string associated to that transition
min:the minimum successive occurences of token
max:the maximum successive occurences of token
data:data associated to the transition
Returns:the target state or NULL in case of error

Function: xmlAutomataNewOnceTrans2

xmlAutomataStatePtr	xmlAutomataNewOnceTrans2	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
const xmlChar * token2,
int min,
int max,
void * data)

If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by a succession of input of value @token and @token2 and whose number is between @min and @max, moreover that transition can only be crossed once.

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
token:the input string associated to that transition
token2:the second input string associated to that transition
min:the minimum successive occurences of token
max:the maximum successive occurences of token
data:data associated to the transition
Returns:the target state or NULL in case of error

Function: xmlAutomataNewState

xmlAutomataStatePtr	xmlAutomataNewState	(xmlAutomataPtr am)

Create a new disconnected state in the automata

am:an automata
Returns:the new state or NULL in case of error

Function: xmlAutomataNewTransition

xmlAutomataStatePtr	xmlAutomataNewTransition	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
void * data)

If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
token:the input string associated to that transition
data:data passed to the callback function if the transition is activated
Returns:the target state or NULL in case of error

Function: xmlAutomataNewTransition2

xmlAutomataStatePtr	xmlAutomataNewTransition2	(xmlAutomataPtr am, 
xmlAutomataStatePtr from,
xmlAutomataStatePtr to,
const xmlChar * token,
const xmlChar * token2,
void * data)

If @to is NULL, this creates first a new target state in the automata and then adds a transition from the @from state to the target state activated by the value of @token

am:an automata
from:the starting point of the transition
to:the target point of the transition or NULL
token:the first input string associated to that transition
token2:the second input string associated to that transition
data:data passed to the callback function if the transition is activated
Returns:the target state or NULL in case of error

Function: xmlAutomataSetFinalState

int	xmlAutomataSetFinalState	(xmlAutomataPtr am, 
xmlAutomataStatePtr state)

Makes that state a final state

am:an automata
state:a state in this automata
Returns:0 or -1 in case of error

Function: xmlFreeAutomata

void	xmlFreeAutomata			(xmlAutomataPtr am)

Free an automata

am:an automata

Function: xmlNewAutomata

xmlAutomataPtr	xmlNewAutomata		(void)

Create a new automata

Returns:the new object or NULL in case of failure

Daniel Veillard