00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef AXIOM_DOCUMENT_H
00019 #define AXIOM_DOCUMENT_H
00020
00021 #include <axutil_env.h>
00022 #include <axiom_node.h>
00023 #include <axutil_utils_defines.h>
00024 #include <axiom_output.h>
00025
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030
00031
00037 #define CHAR_SET_ENCODING "UTF-8"
00038 #define XML_VERSION "1.0"
00039
00040 struct axiom_stax_builder;
00041
00048 typedef struct axiom_document axiom_document_t;
00049
00057 AXIS2_EXTERN axiom_document_t * AXIS2_CALL
00058 axiom_document_create(const axutil_env_t *env,
00059 axiom_node_t * root,
00060 struct axiom_stax_builder *builder);
00067 AXIS2_EXTERN void AXIS2_CALL
00068 axiom_document_free(struct axiom_document *document,
00069 const axutil_env_t *env);
00070
00077 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00078 axiom_document_build_next(struct axiom_document *document,
00079 const axutil_env_t *env);
00080
00088 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00089 axiom_document_get_root_element(struct axiom_document *document,
00090 const axutil_env_t *env);
00091
00100 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101 axiom_document_set_root_element(struct axiom_document *document,
00102 const axutil_env_t *env,
00103 axiom_node_t *om_node);
00110 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00111 axiom_document_build_all(struct axiom_document *document,
00112 const axutil_env_t *env);
00118 AXIS2_EXTERN struct axiom_stax_builder* AXIS2_CALL
00119 axiom_document_get_builder(struct axiom_document *document,
00120 const axutil_env_t *env);
00125 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00126 axiom_document_serialize(struct axiom_document *document,
00127 const axutil_env_t *env,
00128 axiom_output_t *om_output);
00129
00130
00133 #ifdef __cplusplus
00134 }
00135 #endif
00136
00137 #endif