rtEXIAutomaton.h File Reference

EXI automaton structure and functions. More...

#include "rtexisrc/rtEXIEvent.h"
#include "rtexisrc/rtEXIEventCodeGroup.h"
#include "rtxmlsrc/osrtxml.h"
#include "rtxsrc/rtxArrayList.h"

Go to the source code of this file.


Classes

struct  OSEXIStateEvent
 This structure holds state/event information. More...
struct  OSEXIAutomaton
 This structure defines a finite state automata for EXI grammars. More...
struct  OSEXIAtmState
 This structure defines state information from an automaton that must be preserved at each stack level. More...

Typedefs

typedef int(* OSEXIAtmAddTransFunc )(OSCTXT *pctxt, OSEXIAutomaton *pAutomaton, OSEXIState fromState, OSEXIState toState, const OSEXIEvent *pEvent, const OSEXIEventCode *pEventCode)
 Add transition function definition.

Functions

EXTERNEXI void rtEXIAutomatonInit (OSCTXT *pctxt, OSEXIAutomaton *pAutomaton, const OSXMLFullQName *pElemName, OSEXIState numStates)
 This function initializes the automaton to its default state.
EXTERNEXI OSEXIAutomatonrtEXINewAutomaton (OSCTXT *pctxt, const OSXMLFullQName *pElemName, OSEXIState numStates)
 This function allocates memory for a new automaton structure and initializes the structure.
EXTERNEXI OSEXIAutomatonrtEXIAutomatonCopy (OSCTXT *pctxt, OSEXIAutomaton *pAutomaton)
 This function copies an automaton structure.
EXTERNEXI void rtEXIAutomatonFreeMem (OSCTXT *pctxt, OSEXIAutomaton *pAutomaton, OSBOOL dynamic)
 This function frees all memory within an Automaton structure.
EXTERNEXI OSEXIAutomatonrtEXIAutomatonAddTransition (OSCTXT *pctxt, OSEXIAutomaton *pAutomaton, OSEXIState fromState, OSEXIState toState, const OSEXIEventCode *pEventCode)
 This function adds a transition between two states.
EXTERNEXI int rtEXIAtmAddUndeclaredItems (OSCTXT *pctxt, OSEXIAutomaton *pAutomaton, OSEXIState fromState, OSEXIState toState, OSEXIEventCode *pEventCode, size_t numDeclAttrs, const OSXMLFullQName *declAttrs, OSEXIAtmAddTransFunc addTransFunc)
 This function adds all undeclared items (end element, start tag, and content) to an element automaton in schema-informed mode.
EXTERNEXI int rtEXIAtmAddUndeclaredStartTagItems (OSCTXT *pctxt, OSEXIAutomaton *pAutomaton, OSEXIState fromState, OSEXIState toState, OSEXIEventCode *pEventCode, size_t numDeclAttrs, const OSXMLFullQName *declAttrs, OSEXIAtmAddTransFunc addTransFunc)
 This function adds undeclared start tag items to an element automaton in schema-informed mode.
EXTERNEXI int rtEXIAtmAddUndeclaredContentItems (OSCTXT *pctxt, OSEXIAutomaton *pAutomaton, OSEXIState fromState, OSEXIState toState, OSEXIEventCode *pEventCode, OSEXIAtmAddTransFunc addTransFunc)
 This function adds undeclared content items to an element automaton in schema-informed mode.
EXTERNEXI OSEXIAutomatonrtEXIAutomatonInitCopy (OSCTXT *pctxt, OSEXIAutomaton *pDestAtm, OSEXIAutomaton *pSrcAtm)
 This function initializes an automaton structure using the data from an existing automaton.
EXTERNEXI int rtEXIAutomatonPush (OSCTXT *pctxt, OSEXIAutomaton *pAutomaton)
 This function pushes an automaton onto the context stack.
EXTERNEXI OSEXIAutomatonrtEXIAutomatonPop (OSCTXT *pctxt)
 This function pops an automaton from the context stack.
EXTERNEXI OSEXIEventCodeGrouprtEXIAtmGetCurrentEventCodeGroup (OSEXIAutomaton *pAutomaton)
 This function returns a pointer to the event code group corresponding to the current state.
EXTERNEXI OSEXIAutomatonrtEXIGetDocAutomaton (OSCTXT *pctxt, size_t numGblElems, const OSXMLFullQName *gblElems, OSEXIAtmAddTransFunc addTransFunc)
 This functions returns an automaton that accepts the built-in document grammar.
EXTERNEXI OSEXIAutomatonrtEXIGetElemAutomaton (OSCTXT *pctxt, OSXMLFullQName *pqname, int(*addTransFunc)(OSCTXT *pctxt, OSEXIAutomaton *pAutomaton, OSEXIState fromState, OSEXIState toState, const OSEXIEvent *pEvent, const OSEXIEventCode *pEventCode))
 This function returns an automaton that accepts the built-in element grammar.

Detailed Description

EXI automaton structure and functions.

Definition in file rtEXIAutomaton.h.