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);
00076 AXIS2_EXTERN void AXIS2_CALL
00077 axiom_document_free_self(struct axiom_document *document,
00078 const axutil_env_t *env);
00079
00086 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00087 axiom_document_build_next(struct axiom_document *document,
00088 const axutil_env_t *env);
00089
00097 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00098 axiom_document_get_root_element(struct axiom_document *document,
00099 const axutil_env_t *env);
00100
00109 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00110 axiom_document_set_root_element(struct axiom_document *document,
00111 const axutil_env_t *env,
00112 axiom_node_t *om_node);
00119 AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00120 axiom_document_build_all(struct axiom_document *document,
00121 const axutil_env_t *env);
00127 AXIS2_EXTERN struct axiom_stax_builder* AXIS2_CALL
00128 axiom_document_get_builder(struct axiom_document *document,
00129 const axutil_env_t *env);
00134 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00135 axiom_document_serialize(struct axiom_document *document,
00136 const axutil_env_t *env,
00137 axiom_output_t *om_output);
00138
00139
00142 #ifdef __cplusplus
00143 }
00144 #endif
00145
00146 #endif