Generated from xml_element.h with ROBODoc v3.2.3 on Sat Sep 29 15:45:37 2001
TABLE OF CONTENTS
- VALUE/XMLRPC_MACROS
- enum/XML_ELEM_ESCAPING
- enum/XML_ELEM_VERBOSITY
- struct/XML_ELEM_ERROR
- struct/XML_ELEM_INPUT_OPTIONS
- struct/XML_ELEM_OUTPUT_OPTIONS
- struct/xml_elem_attr
- struct/xml_elem_attr
NAME
Some Helpful Macros
NOTES
Some macros for making life easier. Should be self-explanatory.
SEE ALSO
XMLRPC_AddValueToVector ()
XMLRPC_VectorGetValueWithID_Case ()
XMLRPC_VALUE
SOURCE
#define xml_elem_next_element(el) ((el) ? (xml_element *)Q_Next(&el->children) : NULL)
#define xml_elem_head_element(el) ((el) ? (xml_element *)Q_Head(&el->children) : NULL)
#define xml_elem_next_attr(el) ((el) ? (xml_element_attr *)Q_Next(&el->attrs) : NULL)
#define xml_elem_head_attr(el) ((el) ? (xml_element_attr *)Q_Head(&el->attrs) : NULL)
#define xml_elem_get_name(el) (char *)((el) ? el->name : NULL)
#define xml_elem_get_val(el) (char *)((el) ? el->text.str : NULL)
NAME
XML_ELEM_ESCAPING
NOTES
xml escaping options for generated xml
SEE ALSO
XML_ELEM_OUTPUT_OPTIONS
SOURCE
typedef enum _xml_elem_escaping {
xml_elem_no_escaping = 0x000,
xml_elem_markup_escaping = 0x002, /* entity escape xml special chars */
xml_elem_non_ascii_escaping = 0x008, /* entity escape chars above 127 */
xml_elem_non_print_escaping = 0x010, /* entity escape non print (illegal) chars */
xml_elem_cdata_escaping = 0x020, /* wrap in cdata section */
} XML_ELEM_ESCAPING;
NAME
XML_ELEM_VERBOSITY
NOTES
verbosity/readability options for generated xml
SEE ALSO
XML_ELEM_OUTPUT_OPTIONS
SOURCE
typedef enum _xml_elem_verbosity {
xml_elem_no_white_space, /* compact xml with no white space */
xml_elem_newlines_only, /* add newlines for enhanced readability */
xml_elem_pretty /* add newlines and indent accordint to depth */
} XML_ELEM_VERBOSITY;
NAME
XML_ELEM_ERROR
NOTES
defines an xml parser error
SOURCE
typedef struct _xml_elem_error {
int parser_code;
const char* parser_error;
long line;
long column;
long byte_index;
} STRUCT_XML_ELEM_ERROR, *XML_ELEM_ERROR;
NAME
XML_ELEM_INPUT_OPTIONS
NOTES
defines various input options
SOURCE
typedef struct _xml_input_options {
ENCODING_ID encoding; /* which encoding to use. */
} STRUCT_XML_ELEM_INPUT_OPTIONS, *XML_ELEM_INPUT_OPTIONS;
NAME
XML_ELEM_OUTPUT_OPTIONS
NOTES
defines various output options
SOURCE
typedef struct _xml_output_options {
XML_ELEM_VERBOSITY verbosity; /* length/verbosity of xml */
XML_ELEM_ESCAPING escaping; /* how to escape special chars */
const char* encoding; /* <?xml encoding="<encoding>" ?> */
} STRUCT_XML_ELEM_OUTPUT_OPTIONS, *XML_ELEM_OUTPUT_OPTIONS;
NAME
xml_elem_attr
NOTES
representation of an xml attribute, foo="bar"
SOURCE
typedef struct _xml_element_attr {
char* key; /* attribute key */
char* val; /* attribute value */
} xml_element_attr;
NAME
xml_elem_attr
NOTES
representation of an xml element, eg <candidate name="Harry Browne" party="Libertarian"/>
SOURCE
typedef struct _xml_element {
const char* name; /* element identifier */
simplestring text; /* text contained between element begin/end pairs */
struct _xml_element* parent; /* element's parent */
queue attrs; /* attribute list */
queue children; /* child element list */
} xml_element;