00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef AXIOM_DOCUMENT_H
00020 #define AXIOM_DOCUMENT_H
00021
00022 #include <axutil_env.h>
00023 #include <axiom_node.h>
00024 #include <axutil_utils_defines.h>
00025 #include <axiom_output.h>
00026
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
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(
00059 const axutil_env_t * env,
00060 axiom_node_t * root,
00061 struct axiom_stax_builder *builder);
00062
00069 AXIS2_EXTERN void AXIS2_CALL
00070 axiom_document_free(
00071 struct axiom_document *document,
00072 const axutil_env_t * env);
00073
00080 AXIS2_EXTERN void AXIS2_CALL
00081 axiom_document_free_self(
00082 struct axiom_document *document,
00083 const axutil_env_t * env);
00084
00091 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00092 axiom_document_build_next(
00093 struct axiom_document *document,
00094 const axutil_env_t * env);
00095
00103 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00104 axiom_document_get_root_element(
00105 struct axiom_document *document,
00106 const axutil_env_t * env);
00107
00116 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00117 axiom_document_set_root_element(
00118 struct axiom_document *document,
00119 const axutil_env_t * env,
00120 axiom_node_t * om_node);
00121
00128 AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00129 axiom_document_build_all(
00130 struct axiom_document *document,
00131 const axutil_env_t * env);
00132
00140 AXIS2_EXTERN struct axiom_stax_builder *AXIS2_CALL
00141 axiom_document_get_builder(
00142 struct axiom_document *document,
00143 const axutil_env_t * env);
00144
00151 AXIS2_EXTERN void AXIS2_CALL
00152 axiom_document_set_builder(
00153 axiom_document_t * document,
00154 const axutil_env_t * env,
00155 struct axiom_stax_builder * builder);
00156
00161 AXIS2_EXTERN axis2_status_t AXIS2_CALL
00162 axiom_document_serialize(
00163 struct axiom_document *document,
00164 const axutil_env_t * env,
00165 axiom_output_t * om_output);
00166
00169 #ifdef __cplusplus
00170 }
00171 #endif
00172
00173 #endif