blob: cddfc73a3c06919c2b64d6a5e7e539931178fe6a [file] [log] [blame]
/*
* Copyright 2004,2005 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef AXIOM_XML_WRITER_H
#define AXIOM_XML_WRITER_H
/**
*@file axiom_xml_writer.h
*@brief this is the parser abstraction layer for axis2
*/
#include <axutil_env.h>
#include <axiom_defines.h>
#ifdef __cplusplus
extern "C"
{
#endif
typedef struct axiom_xml_writer_ops axiom_xml_writer_ops_t;
typedef struct axiom_xml_writer axiom_xml_writer_t;
/**
* @defgroup axiom_xml_writer XML writer
* @ingroup axiom_parser
* @{
*/
/**
* \brief axiom_xml_writer ops
* Encapsulator struct for ops of axiom_xml_writer
*/
struct axiom_xml_writer_ops
{
/**
* Free xml writer
* @param writer pointer to xml_writer struct to be freed
* @param env environment, MUST NOT be NULL.
* @returns status of the op.
* AXIS2_SUCCESS on success and AXIS2_FAILURE on error
*/
void(
AXIS2_CALL
* free)(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* Write a start tag to output stream with localname.
* Internally the writer keeps track of the opened tags
* @param writer pointer to xml writer struct
* @param env environment. MUST NOT be NULL.
* @param localname localname of the tag, May not be NULL.
* @return the status of the op, AXIS2_SUCCESS on success
AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_start_element)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname);
/**
* write an end tag to the output relying on the internal
* state of writer to determine the prefix and localname of
* the element
* @param writer xml_writer struct
* @param env environment, MUST NOT be NULL.
* @return status of the op. AXIS2_SUCCESS on success.
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* end_start_element)(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* Write an element tag with localname and namespace uri
* @param writer pointer to xml writer struct
* @param env environment struct
* @param localname localname of the tag, May not be null.
* @param namespace_uri the namespace URI of the the pefix
* to use.may not be null.
* @returns status of the op, AXIS2_SUCCESS on success.
* AXIS2_FAILURE on error
*/
axis2_status_t(
AXIS2_CALL
* write_start_element_with_namespace)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * namespace_uri);
/**
* write a start tag to output
* @param writer pointer to xml_writer struct
* @param environment, MUST NOT be NULL.
* @param localname localname of the tag, May not be null.
* @param namespace_uri namespace to bind the prefix to
* @param prefix the prefix to the tag.May not be NULL.
* @return status of the op
AXIS2_SUCCESS on success. AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_start_element_with_namespace_prefix)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * namespace_uri,
axis2_char_t * prefix);
/**
* write an element tag with localname
* @param writer xml_writer
* @param env environment
* @param localname localname
* @return status of the op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_empty_element)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname);
/**
* write empty_element with localname and namespace uri.
* @param writer xml writer
* @param env environment
* @param localname localname
* @param namespace uri
* @return status of the op, AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_empty_element_with_namespace)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * namespace_uri);
/**
* write empty element with namespace uri and prefix
* @param writer xml_writer
* @param env environment
* @param localname localname
* @param namespace_uri namespace uri
* @param prefix prefix
* @return status of the op, AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_empty_element_with_namespace_prefix)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * namespace_uri,
axis2_char_t * prefix);
/**
* write end tag with correct localname prefix resolved internally
* @param writer xml writer
* @param env environment
* @return status of the op, AXIS2_SUCCESS on success,
* AXIS2_FAILURE on failure
*/
axis2_status_t(
AXIS2_CALL
* write_end_element)(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* write end document
* @param writer xml writer
* @param env environment
* @return status of the op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_end_document)(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* write attribute with localname and value
* @param writer writer
* @param env environment
* @param localname localname
* @param value text value of attribute
* @return status of the op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_attribute)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * value);
/**
* @param writer
* @param env environment
* @param localname
* @param value text value of attribute
* @param namespace uri namespace uri
* @return status code of the op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_attribute_with_namespace)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * value,
axis2_char_t * namespace_uri);
/**
* @param writer xml_writer
* @param env environment
* @param localname localname
* @param value text value of attribute
* @param namespace uri namespaceuri
* @param prefix prefix
*/
axis2_status_t(
AXIS2_CALL
* write_attribute_with_namespace_prefix)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * value,
axis2_char_t * namespace_uri,
axis2_char_t * prefix);
/**
* @param writer xml_writer
* @param env environment
* @param prefix prefix
* @param namespace uri namespaceuri
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_namespace)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * prefix,
axis2_char_t * namespace_uri);
/**
* @param writer xml_writer
* @param env environment
* @param namespace uri namespaceuri
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_default_namespace)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * namespace_uri);
/**
* @param writer xml_writer
* @param env environment
* @param value value
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_comment)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * value);
/**
* @param writer xml_writer
* @param env environment
* @param target pi target
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_processing_instruction)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * target);
/**
* @param writer xml_writer
* @param env environment
* @param target pi target
* @param data pi data
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_processing_instruction_data)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * target,
axis2_char_t * data);
/**
* @param writer xml_writer
* @param env environment
* @param data cdata
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_cdata)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * data);
/**
* @param writer xml_writer
* @param env environment
* @param dtd dtd
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_dtd)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * dtd);
/**
* @param writer xml_writer
* @param env environment
* @param name name
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_entity_ref)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * name);
/**
* @param writer xml_writer
* @param env environment
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_start_document)(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* @param writer xml_writer
* @param env environment
* @param version version
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_start_document_with_version)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * version);
/**
* @param writer xml_writer
* @param env environment
* @param version version
* @param encoding encoding
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_start_document_with_version_encoding)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * version,
axis2_char_t * encoding);
/**
* @param writer xml_writer
* @param env environment
* @param text text
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_characters)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * text);
/**
* @param writer xml_writer
* @param env environment
* @param uri uri
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_char_t *(
AXIS2_CALL
* get_prefix)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * uri);
/**
* @param writer xml_writer
* @param env environment
* @param prefix prefix
* @param uri uri
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* set_prefix)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * prefix,
axis2_char_t * uri);
/**
* @param writer xml_writer
* @param env environment
* @param uri uri
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* set_default_prefix)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * uri);
/**
* @param writer xml_writer
* @param env environment
* @param text text
* @param in_attr
* @return status of op AXIS2_SUCCESS on success,
* AXIS2_FAILURE on error.
*/
axis2_status_t(
AXIS2_CALL
* write_encoded)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * text,
int in_attr);
void *(
AXIS2_CALL
* get_xml)(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
unsigned int(
AXIS2_CALL
* get_xml_size)(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
int(
AXIS2_CALL
* get_type)(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
axis2_status_t(
AXIS2_CALL
* write_raw)(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * content);
axis2_status_t(
AXIS2_CALL
* flush)(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
};
/**
* @brief axis2_pull_parser struct
* Axis2 OM pull_parser
*/
struct axiom_xml_writer
{
const axiom_xml_writer_ops_t *ops;
};
/**
* create function for axiom_xml_writer
* @param env environment
* @param filename filename
* @param encoding encoding
* @param is_prefix_default
* @param compression
* return xml writer wrapper structure
*/
AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL
axiom_xml_writer_create(
const axutil_env_t * env,
axis2_char_t * filename,
axis2_char_t * encoding,
int is_prefix_default,
int compression);
/**
* create fuction for xml writer for memory buffer
* @param env environment struct, must not be null
* @param env environment
* @param encoding encoding
* @param is_prefix_default
* @param compression
* @return xml writer wrapper structure.
*/
AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL
axiom_xml_writer_create_for_memory(
const axutil_env_t * env,
axis2_char_t * encoding,
int is_prefix_default,
int compression,
int type);
/**
* free method for axiom xml writer
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return
*/
AXIS2_EXTERN void AXIS2_CALL
axiom_xml_writer_free(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
* @param localname local name of the start element
* @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_start_element(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_end_start_element(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_start_element_with_namespace(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * namespace_uri);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
* @param localname localname of the start element
* @param namespace_uri namespace uri of that element
* @param prefix prefix of that namespace
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_start_element_with_namespace_prefix(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * namespace_uri,
axis2_char_t * prefix);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
* @param localname local name of the element
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_empty_element(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
* @param localname local name of the element
* @param namespace_uri uri of the namespace
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_empty_element_with_namespace(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * namespace_uri);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
* @param localname local name of the element
* @param namespace_uri uri of the namespace
* @param prefix prefix of the namespace
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_empty_element_with_namespace_prefix(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * namespace_uri,
axis2_char_t * prefix);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_end_element(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_end_document(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
* @param localname local name of the element
* @param value value of the element
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_attribute(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * value);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
* @param localname local name of the element
* @param value value of the element
* @param uri of the namespace
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_attribute_with_namespace(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * value,
axis2_char_t * namespace_uri);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
* @param localname local name of the element
* @param value value of the element
* @param uri of the namespace
* @param prefix of the namespace
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_attribute_with_namespace_prefix(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * localname,
axis2_char_t * value,
axis2_char_t * namespace_uri,
axis2_char_t * prefix);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
* @param prefix prefix of the namespace
* @param uri of the namespace
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_namespace(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * prefix,
axis2_char_t * namespace_uri);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_default_namespace(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * namespace_uri);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_comment(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * value);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_processing_instruction(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * target);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_processing_instruction_data(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * target,
axis2_char_t * data);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_cdata(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * data);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_dtd(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * dtd);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_entity_ref(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * name);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_start_document(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_start_document_with_version(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * version);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_start_document_with_version_encoding(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * version,
axis2_char_t * encoding);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_characters(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * text);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return
*/
AXIS2_EXTERN axis2_char_t *AXIS2_CALL
axiom_xml_writer_get_prefix(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * uri);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return prefix
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_set_prefix(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * prefix,
axis2_char_t * uri);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_set_default_prefix(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * uri);
/**
* sets the default prefix
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_encoded(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * text,
int in_attr);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return
*/
AXIS2_EXTERN void *AXIS2_CALL
axiom_xml_writer_get_xml(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return
*/
AXIS2_EXTERN unsigned int AXIS2_CALL
axiom_xml_writer_get_xml_size(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return size of the xml
*/
AXIS2_EXTERN int AXIS2_CALL
axiom_xml_writer_get_type(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return type
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_write_raw(
axiom_xml_writer_t * writer,
const axutil_env_t * env,
axis2_char_t * content);
/**
* @param writer pointer to the OM XML Writer struct
* @param env environment struct, must not be null
*
* @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE
*/
AXIS2_EXTERN axis2_status_t AXIS2_CALL
axiom_xml_writer_flush(
axiom_xml_writer_t * writer,
const axutil_env_t * env);
/** @} */
#ifdef __cplusplus
}
#endif
#endif /* AXIOM_XML_WRITER_H */