the API to build regexp automata Table of ContentsStructure 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 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 struct _xmlAutomataState {
The content of this structure is not made public by the API.
}
A state int the automata description,
Function: xmlAutomataCompilexmlRegexpPtr 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: xmlAutomataGetInitStatexmlAutomataStatePtr xmlAutomataGetInitState (xmlAutomataPtr am)
Initial state lookup
am: | an automata | Returns: | the initial state of the automata |
Function: xmlAutomataIsDeterministint 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: xmlAutomataNewAllTransxmlAutomataStatePtr 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: xmlAutomataNewCountTransxmlAutomataStatePtr 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: xmlAutomataNewCountTrans2xmlAutomataStatePtr 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: xmlAutomataNewCountedTransxmlAutomataStatePtr 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: xmlAutomataNewCounterint 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: xmlAutomataNewCounterTransxmlAutomataStatePtr 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: xmlAutomataNewEpsilonxmlAutomataStatePtr 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: xmlAutomataNewNegTransxmlAutomataStatePtr 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: xmlAutomataNewOnceTransxmlAutomataStatePtr 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: xmlAutomataNewOnceTrans2xmlAutomataStatePtr 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: xmlAutomataNewStatexmlAutomataStatePtr 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: xmlAutomataNewTransitionxmlAutomataStatePtr 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: xmlAutomataNewTransition2xmlAutomataStatePtr 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: xmlAutomataSetFinalStateint 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: xmlFreeAutomatavoid xmlFreeAutomata (xmlAutomataPtr am)
Free an automata
Function: xmlNewAutomataxmlAutomataPtr xmlNewAutomata (void)
Create a new automata
Returns: | the new object or NULL in case of failure |
Daniel Veillard |