XML reader
[parser]


Classes

struct  axiom_xml_reader_ops
 AXIOM_XML_READER ops Encapsulator struct for ops of axiom_xml_reader. More...
struct  axiom_xml_reader
 axiom_xml_reader struct Axis2 OM pull_parser More...

Defines

#define AXIOM_XML_READER_NEXT(parser, env)   ((parser)->ops->next(parser, env))
#define AXIOM_XML_READER_FREE(parser, env)   ((parser)->ops->free(parser, env))
#define AXIOM_XML_READER_GET_ATTRIBUTE_COUNT(parser, env)   ((parser)->ops->get_attribute_count(parser, env))
#define AXIOM_XML_READER_GET_ATTRIBUTE_NAME_BY_NUMBER(parser, env, i)   ((parser)->ops->get_attribute_name_by_number(parser, env, i))
#define AXIOM_XML_READER_GET_ATTRIBUTE_VALUE_BY_NUMBER(parser, env, i)   ((parser)->ops->get_attribute_value_by_number(parser,env, i))
#define AXIOM_XML_READER_GET_ATTRIBUTE_NAMESPACE_BY_NUMBER(parser, env, i)   ((parser)->ops->get_attribute_namespace_by_number(parser, env, i))
#define AXIOM_XML_READER_GET_ATTRIBUTE_PREFIX_BY_NUMBER(parser, env, i)   ((parser)->ops->get_attribute_prefix_by_number(parser, env, i))
#define AXIOM_XML_READER_GET_NAME(parser, env)   ((parser)->ops->get_name(parser, env))
#define AXIOM_XML_READER_GET_VALUE(parser, env)   ((parser)->ops->get_value(parser, env))
#define AXIOM_XML_READER_GET_PREFIX(parser, env)   ((parser)->ops->get_prefix(parser, env))
#define AXIOM_XML_READER_GET_NAMESPACE_COUNT(parser, env)   ((parser)->ops->get_namespace_count(parser, env))
#define AXIOM_XML_READER_GET_NAMESPACE_URI_BY_NUMBER(parser, env, i)   ((parser)->ops->get_namespace_uri_by_number(parser, env, i))
#define AXIOM_XML_READER_GET_NAMESPACE_PREFIX_BY_NUMBER(parser, env, i)   ((parser)->ops->get_namespace_prefix_by_number(parser, env, i))
#define AXIOM_XML_READER_GET_PI_DATA(parser, env)   ((parser)->ops->get_pi_data(parser, env))
#define AXIOM_XML_READER_GET_PI_TARGET(parser, env)   ((parser)->ops->get_pi_target(parser, env))
#define AXIOM_XML_READER_GET_DTD(parser, env)   ((parser)->ops->get_dtd(parser, env))
#define AXIOM_XML_READER_XML_FREE(parser, env, data)   ((parser)->ops->xml_free(parser, env, data))
#define AXIOM_XML_READER_GET_CHAR_SET_ENCODING(parser, env)   ((parser)->ops->get_char_set_encoding(parser, env))
#define AXIOM_XML_READER_GET_NAMESPACE_URI(parser, env)   ((parser)->ops->get_namespace_uri(parser, env))
#define AXIOM_XML_READER_GET_NAMESPACE_URI_BY_PREFIX(parser, env, prefix)   ((parser)->ops->get_namespace_uri_by_prefix(parser, env, prefix))

Enumerations

enum  axiom_xml_reader_event_types {
  AXIOM_XML_READER_START_DOCUMENT = 0, AXIOM_XML_READER_START_ELEMENT, AXIOM_XML_READER_END_ELEMENT, AXIOM_XML_READER_SPACE,
  AXIOM_XML_READER_EMPTY_ELEMENT, AXIOM_XML_READER_CHARACTER, AXIOM_XML_READER_ENTITY_REFERENCE, AXIOM_XML_READER_COMMENT,
  AXIOM_XML_READER_PROCESSING_INSTRUCTION, AXIOM_XML_READER_CDATA, AXIOM_XML_READER_DOCUMENT_TYPE
}

Functions

AXIS2_EXTERN axiom_xml_reader_taxiom_xml_reader_create_for_file (const axis2_env_t *env, char *filename, const axis2_char_t *encoding)
AXIS2_EXTERN axiom_xml_reader_taxiom_xml_reader_create_for_io (const axis2_env_t *env, AXIS2_READ_INPUT_CALLBACK, AXIS2_CLOSE_INPUT_CALLBACK, void *ctx, const axis2_char_t *encoding)
AXIS2_EXTERN axiom_xml_reader_taxiom_xml_reader_create_for_memory (const axis2_env_t *env, void *container, int size, const axis2_char_t *encoding, int type)
AXIS2_EXTERN axis2_status_t axiom_xml_reader_init ()
AXIS2_EXTERN axis2_status_t axiom_xml_reader_cleanup ()

Define Documentation

#define AXIOM_XML_READER_FREE ( parser,
env   )     ((parser)->ops->free(parser, env))

Free pull parser struct

#define AXIOM_XML_READER_GET_ATTRIBUTE_COUNT ( parser,
env   )     ((parser)->ops->get_attribute_count(parser, env))

Get the Number of attributes in an element

#define AXIOM_XML_READER_GET_ATTRIBUTE_NAME_BY_NUMBER ( parser,
env,
 )     ((parser)->ops->get_attribute_name_by_number(parser, env, i))

Get the localname of the attribute corresponding to index i

#define AXIOM_XML_READER_GET_ATTRIBUTE_NAMESPACE_BY_NUMBER ( parser,
env,
 )     ((parser)->ops->get_attribute_namespace_by_number(parser, env, i))

Get namespace uri of attribute corresponding to index i

#define AXIOM_XML_READER_GET_ATTRIBUTE_PREFIX_BY_NUMBER ( parser,
env,
 )     ((parser)->ops->get_attribute_prefix_by_number(parser, env, i))

get prefix of attribute corresponding to index i

#define AXIOM_XML_READER_GET_ATTRIBUTE_VALUE_BY_NUMBER ( parser,
env,
 )     ((parser)->ops->get_attribute_value_by_number(parser,env, i))

Get value of attribute corresponding to index i

#define AXIOM_XML_READER_GET_DTD ( parser,
env   )     ((parser)->ops->get_dtd(parser, env))

get document type declaration text

#define AXIOM_XML_READER_GET_NAME ( parser,
env   )     ((parser)->ops->get_name(parser, env))

get the localname of element

#define AXIOM_XML_READER_GET_NAMESPACE_COUNT ( parser,
env   )     ((parser)->ops->get_namespace_count(parser, env))

get the number of namespaces declared in an element

#define AXIOM_XML_READER_GET_NAMESPACE_PREFIX_BY_NUMBER ( parser,
env,
 )     ((parser)->ops->get_namespace_prefix_by_number(parser, env, i))

get the elements namespace prefix corresponding to index i

#define AXIOM_XML_READER_GET_NAMESPACE_URI_BY_NUMBER ( parser,
env,
 )     ((parser)->ops->get_namespace_uri_by_number(parser, env, i))

get the elements namespace uri corresponding to index i

#define AXIOM_XML_READER_GET_PI_DATA ( parser,
env   )     ((parser)->ops->get_pi_data(parser, env))

get processing instruction data

#define AXIOM_XML_READER_GET_PI_TARGET ( parser,
env   )     ((parser)->ops->get_pi_target(parser, env))

get processing instruction target

#define AXIOM_XML_READER_GET_PREFIX ( parser,
env   )     ((parser)->ops->get_prefix(parser, env))

get prefix of element

#define AXIOM_XML_READER_GET_VALUE ( parser,
env   )     ((parser)->ops->get_value(parser, env))

get value of element

#define AXIOM_XML_READER_NEXT ( parser,
env   )     ((parser)->ops->next(parser, env))

causes the reader to read the next parse event. returns an integer which identifies the type of event just read.

#define AXIOM_XML_READER_XML_FREE ( parser,
env,
data   )     ((parser)->ops->xml_free(parser, env, data))

macro to free values returned by pull parser


Function Documentation

AXIS2_EXTERN axis2_status_t axiom_xml_reader_cleanup (  ) 

parser cleanup function

AXIS2_EXTERN axiom_xml_reader_t* axiom_xml_reader_create_for_file ( const axis2_env_t env,
char *  filename,
const axis2_char_t *  encoding 
)

create an instance of axiom_xml_reader to parse a file using an xml document in a file system

Parameters:
env environment struct, must not be null
filename url of an xml document
Returns:
a pointer to xml_pull_parser_t struct NULL on error with error code set in the environment's error

AXIS2_EXTERN axiom_xml_reader_t* axiom_xml_reader_create_for_io ( const axis2_env_t env,
AXIS2_READ_INPUT_CALLBACK  ,
AXIS2_CLOSE_INPUT_CALLBACK  ,
void *  ctx,
const axis2_char_t *  encoding 
)

This create an instance of axiom_xml_reader to parse a xml document in a buffer. It takes a callback function that takes a buffer and the size of the buffer The user must implement a function that takes in buffer and size and fill the buffer with specified size with xml stream, parser will call this function to fill the buffer on the fly while parsing.

Parameters:
env environment MUST NOT be NULL.
read_input_callback() callback function that fills a char buffer with size
buffer a character buffer
size size of the buffer to be filled
encoding encoding scheme of the xml stream

AXIS2_EXTERN axiom_xml_reader_t* axiom_xml_reader_create_for_memory ( const axis2_env_t env,
void *  container,
int  size,
const axis2_char_t *  encoding,
int  type 
)

create an axiom_xml_reader_t using a buffer, which is the xml input

Parameters:
env environment, MUST not be NULL
buffer xml input string in a char buffer
size size of the
encoding encoding of the xml
Returns:
pointer to axiom_xml_reader_t struct on success , NULL otherwise

AXIS2_EXTERN axis2_status_t axiom_xml_reader_init (  ) 

init function initializes the parser


Generated on Wed Dec 20 20:35:01 2006 for Axis2/C by  doxygen 1.5.1