model.h

00001 /******************************************************************************
00002  *                             model.h
00003  * This file contains constants, structures, etc useful for implementing the
00004  * finite state engine used to validate the xml.
00005  *
00006  ****************************************************************************/
00007 
00008 #ifndef MODEL_H_INCLUDED
00009 #define MODEL_H_INCLUDED
00010 
00011 #define MAXOMITTED 32
00012 
00013 #define CDATA_ELEMENT   ((dtd_element *)1)
00014 
00015 typedef struct _dtd_state
00016 { struct _state_transition *transitions;
00017   struct _state_expander *expander;
00018 } dtd_state;
00019 
00020 dtd_state      *new_dtd_state(void);
00021 dtd_state *     make_dtd_transition(dtd_state *here, dtd_element *e);
00022 int             same_state(dtd_state *final, dtd_state *here);
00023 int             find_omitted_path(dtd_state *state, dtd_element *e,
00024                                   dtd_element **path);
00025 dtd_state *     make_state_engine(dtd_element *e);
00026 void            free_state_engine(dtd_state *state);
00027 void            state_allows_for(dtd_state *state,
00028                                  dtd_element **allow, int *n);
00029 
00030 #endif /*MODEL_H_INCLUDED*/

Generated on Wed Jul 26 13:30:45 2006 for XSB by  doxygen 1.4.5