35 #ifndef __XML_PARSER_H__ 36 #define __XML_PARSER_H__ 38 #if !defined(CHAR_SIZE) 43 # error EST can only handle 8 bit characters 90 static InputSource
open_entity(Entity ent,
void *arg);
155 const char *instruction);
247 bool p_track_context;
250 bool p_track_contents;
282 Entity initial_entity,
286 InputSource
open(Entity ent);
300 void track_context(
bool flag);
305 void track_contents(
bool flag);
XBit current_bit
The piece of markup being processed.
virtual void element_close(XML_Parser_Class &c, XML_Parser &p, void *data, const char *name)
virtual void pcdata(XML_Parser_Class &c, XML_Parser &p, void *data, const char *chars)
virtual void document_close(XML_Parser_Class &c, XML_Parser &p, void *data)
virtual void element_open(XML_Parser_Class &c, XML_Parser &p, void *data, const char *name, XML_Attribute_List &attributes)
A Regular expression class to go with the CSTR EST_String class.
void registered_ids(EST_TList< EST_String > &list)
const char * get_error(XML_Parser &p)
Get the error message for the last error.
A specialised hash table for when the key is an EST_String.
void * data
Arbitrary data which can be used by callbacks.
Parser p
The RXP parser object.
void register_id(EST_Regex id_pattern, EST_String directory)
InputSource try_and_open(Entity ent)
static InputSource open_entity(Entity ent, void *arg)
virtual void element(XML_Parser_Class &c, XML_Parser &p, void *data, const char *name, XML_Attribute_List &attributes)
EST_TStringHash< EST_String > XML_Attribute_List
Nice name for list of attribute-value pairs.
virtual void cdata(XML_Parser_Class &c, XML_Parser &p, void *data, const char *chars)
XML_Parser_Class * pclass
XML_Parser * make_parser(InputSource source, void *data)
Create a parser for the RXP InputSource.
InputSource source
Where we are reading from.
FILE16 *(* open)(const char *, const char *, int, const char *, const char *)
virtual void error(XML_Parser_Class &c, XML_Parser &p, void *data)
virtual void processing(XML_Parser_Class &c, XML_Parser &p, void *data, const char *instruction)
EST_Item * parent(const EST_Item *n)
return parent of n
virtual void document_open(XML_Parser_Class &c, XML_Parser &p, void *data)
virtual ~XML_Parser_Class()
EST_TDeque< EST_String > p_context
If context is being tracked, this is a stack of element names.