You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2005/11/16 06:06:03 UTC
svn commit: r344890 - in /webservices/axis2/trunk/c/modules/xml/parser:
axis2_pull_parser.h axis2_xml_writer.h
Author: samisa
Date: Tue Nov 15 21:05:55 2005
New Revision: 344890
URL: http://svn.apache.org/viewcvs?rev=344890&view=rev
Log:
guththila xml writer abstraction api added
Added:
webservices/axis2/trunk/c/modules/xml/parser/axis2_xml_writer.h
Modified:
webservices/axis2/trunk/c/modules/xml/parser/axis2_pull_parser.h
Modified: webservices/axis2/trunk/c/modules/xml/parser/axis2_pull_parser.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/parser/axis2_pull_parser.h?rev=344890&r1=344889&r2=344890&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/parser/axis2_pull_parser.h (original)
+++ webservices/axis2/trunk/c/modules/xml/parser/axis2_pull_parser.h Tue Nov 15 21:05:55 2005
@@ -31,7 +31,6 @@
{
#endif
-
typedef struct axis2_pull_parser_ops axis2_pull_parser_ops_t;
typedef struct axis2_pull_parser axis2_pull_parser_t;
@@ -86,7 +85,10 @@
int (AXIS2_CALL *get_attribute_count)(axis2_pull_parser_t *parser,
axis2_env_t **env);
-
+ /* iterations start with 1 and not zero based
+ *
+ *
+ */
axis2_char_t* (AXIS2_CALL *get_attribute_name_by_number)
(axis2_pull_parser_t *parser,
axis2_env_t **env,
@@ -139,7 +141,7 @@
};
-
+
/**
* @brief axis2_pull_parser struct
* Axis2 OM pull_parser
@@ -155,7 +157,7 @@
*/
AXIS2_DECLARE(axis2_pull_parser_t *)
-axis2_pull_parser_create(axis2_env_t **env);
+axis2_pull_parser_create(axis2_env_t **env,void *stream);
/********************************* Macros *************************************/
Added: webservices/axis2/trunk/c/modules/xml/parser/axis2_xml_writer.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/parser/axis2_xml_writer.h?rev=344890&view=auto
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/parser/axis2_xml_writer.h (added)
+++ webservices/axis2/trunk/c/modules/xml/parser/axis2_xml_writer.h Tue Nov 15 21:05:55 2005
@@ -0,0 +1,331 @@
+/*
+ * 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 AXIS2_XML_WRITER_H
+#define AXIS2_XML_WRITER_H
+
+/**
+ *@file axis2_xml_writer.h
+ *@brief this is the parser abstraction layer for axis2
+ */
+
+ #include <axis2_env.h>
+
+ #ifdef __cplusplus
+extern "C"
+{
+#endif
+
+typedef struct axis2_xml_writer_ops axis2_xml_writer_ops_t;
+typedef struct axis2_xml_writer axis2_xml_writer_t;
+
+
+/**
+ * @defgroup axis2_xml_writer
+ * @ingroup axis2_om_parser
+ * @{
+ */
+
+
+
+ /**
+ * \brief axis2_xml_writer operations
+ * Encapsulator struct for operations of axis2_xml_writer
+ */
+
+ AXIS2_DECLARE_DATA struct axis2_xml_writer_ops
+ {
+
+ axis2_status_t (AXIS2_CALL *free)(axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *write_start_element)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env, axis2_char_t *localname);
+
+ axis2_status_t (AXIS2_CALL *end_start_element)(axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *write_start_element_with_namespace)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri);
+
+ axis2_status_t (AXIS2_CALL *write_start_element_with_namespace_prefix)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri,
+ axis2_char_t *prefix);
+
+ axis2_status_t (AXIS2_CALL *write_empty_element)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname);
+
+ axis2_status_t (AXIS2_CALL *write_empty_element_with_namespace)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri);
+
+ axis2_status_t (AXIS2_CALL *write_empty_element_with_namespace_prefix)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *namespace_uri,
+ axis2_char_t *prefix);
+
+ axis2_status_t (AXIS2_CALL *write_end_element)(axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *write_end_document)(axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *write_attribute)(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *value);
+
+ axis2_status_t (AXIS2_CALL *write_attribute_with_namespace)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *value,
+ axis2_char_t *namespace_uri);
+
+ axis2_status_t (AXIS2_CALL *write_attribute_with_namespace_prefix)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *localname,
+ axis2_char_t *value,
+ axis2_char_t *namespace_uri,
+ axis2_char_t *prefix);
+
+ axis2_status_t (AXIS2_CALL *write_namespace)(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *prefix,
+ axis2_char_t *namespace_uri);
+
+
+ axis2_status_t (AXIS2_CALL *write_default_namespace)
+ (axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *namespace_uri);
+
+ axis2_status_t (AXIS2_CALL *write_comment)(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *value);
+
+ axis2_status_t (AXIS2_CALL *write_processing_instruction)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *target);
+
+ axis2_status_t (AXIS2_CALL *write_processing_instruction_data)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *target,
+ axis2_char_t *data);
+
+ axis2_status_t (AXIS2_CALL *write_cdata)(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *data);
+
+ axis2_status_t (AXIS2_CALL *write_dtd)(axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *dtd);
+
+ axis2_status_t (AXIS2_CALL *write_entity_ref)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *name);
+
+ axis2_status_t (AXIS2_CALL *write_start_document)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env);
+
+ axis2_status_t (AXIS2_CALL *write_start_document_with_version)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *version);
+
+ axis2_status_t (AXIS2_CALL *write_start_document_with_version_encoding)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *encoding,
+ axis2_char_t *version);
+
+ axis2_status_t (AXIS2_CALL *write_characters)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *text);
+
+ axis2_char_t* (AXIS2_CALL *get_prefix)( axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *uri);
+
+ axis2_status_t (AXIS2_CALL *set_prefix)( axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *prefix,
+ axis2_char_t *uri);
+ axis2_status_t (AXIS2_CALL *set_default_prefix)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *uri);
+
+ axis2_status_t (AXIS2_CALL *write_encoded)(
+ axis2_xml_writer_t *writer,
+ axis2_env_t **env,
+ axis2_char_t *text,
+ int in_attr);
+
+ };
+
+/**
+ * @brief axis2_pull_parser struct
+ * Axis2 OM pull_parser
+ */
+
+struct axis2_xml_writer
+{
+ axis2_xml_writer_ops_t *ops;
+};
+
+/**
+ * create function for axis2_xml_writer
+ *
+ */
+AXIS2_DECLARE(axis2_xml_writer_t *)
+axis2_xml_writer_create(axis2_env_t **env,
+ void *stream,
+ axis2_char_t *encoding,
+ int is_prefix_default);
+
+/********************** start macros *******************************************/
+
+#define AXIS2_XML_WRITER_FREE(writer, env) \
+ ((writer)->ops->free(writer,env))
+
+#define AXIS2_XML_WRITER_WRITE_START_ELEMENT(writer, env, localname) \
+ ((writer)->ops->write_start_element(writer, env, localname))
+
+#define AXIS2_XML_WRITER_END_START_ELEMENT(writer, env) \
+ ((writer)->ops->end_start_element(writer,env))
+
+
+#define AXIS2_XML_WRITER_WRITE_START_ELEMENT_WITH_NAMESPACE(\
+ writer, env, localname, namespace_uri)\
+ ((writer)->ops->write_start_element_with_namespace(\
+ writer, env, localname, namespace_uri))
+
+#define AXIS2_XML_WRITER_WRITE_START_ELEMENT_WITH_NAMESPACE_PREFIX(\
+ writer, env, localname, namespace_uri, prefix) \
+ ((writer)->ops->write_start_element_with_namespace_prefix(\
+ writer,env,localname,namespace_uri,prefix))
+
+
+#define AXIS2_XML_WRITER_WRITE_EMPTY_ELEMENT(writer,env,localname) \
+ ((writer)->ops->write_empty_element(writer,env,localname))
+
+#define AXIS2_XML_WRITER_WRITE_EMPTY_ELEMENT_WITH_NAMESPACE(\
+ writer, env,localname,namespace_uri) \
+ ((writer)->ops->write_empty_element(writer,env,localname,namespace_uri))
+
+#define AXIS2_XML_WRITER_WRITE_EMPTY_ELEMENT_WITH_NAMESPACE_WITH_PREFIX(\
+ writer, env, localname, namespace_uri, prefix) \
+ ((writer)->ops->write_empty_element(\
+ writer,env,localname,namespace_uri, prefix))
+
+#define AXIS2_XML_WRITER_WRITE_END_ELEMENT(writer, env) \
+ ((writer)->ops->write_end_element(writer,env))
+
+
+#define AXIS2_XML_WRITER_WRITE_END_DOCUMENT(writer, env) \
+ ((writer)->ops->write_end_document(writer,env))
+
+#define AXIS2_XML_WRITER_WRITE_ATTRIBUTE(writer, env, localname, value) \
+ ((writer)->ops->write_attribute(writer,env, localname, value))
+
+#define AXIS2_XML_WRITER_WRITE_ATTRIBUTE_WITH_NAMESPACE(\
+ writer, env, localname, value, namespace_uri) \
+ ((writer)->ops->write_attribute_with_namespace(\
+ writer,env, localname, value,namespace_uri))
+
+#define AXIS2_XML_WRITER_WRITE_ATTRIBUTE_WITH_NAMESPACE_PREFIX(\
+ writer, env, localname, value, namespace_uri, prefix) \
+ ((writer)->ops->write_attribute_with_namespace_prefix(\
+ writer,env, localname, value,namespace_uri, prefix))
+
+#define AXIS2_XML_WRITER_WRITE_NAMESPACE(writer, env, prefix , namespace_uri) \
+ ((writer)->ops->write_namespace(writer, env, prefix, namespace_uri))
+
+#define AXIS2_XML_WRITER_WRITE_DEFAULT_NAMESPACE(writer, env, namespace_uri) \
+ ((writer)->ops->write_default_namespace(writer, env, namespace_uri))
+
+#define AXIS2_XML_WRITER_WRITE_COMMENT(writer, env, value) \
+ ((writer)->ops->write_comment(writer, env, value))
+
+#define AXIS2_XML_WRITER_WRITE_PROCESSING_INSTRUCTION(writer, env, target) \
+ ((writer)->ops->write_processing_instruction(writer, env, target))
+
+#define AXIS2_XML_WRITER_WRITE_PROCESSING_INSTRUCTION_DATA(writer, env, target, data) \
+ ((writer)->ops->write_processing_instruction_data(writer, env, target, data))
+
+#define AXIS2_XML_WRITER_WRITE_CDATA(writer, env, data) \
+ ((writer)->ops->write_cdata(writer, env, data))
+
+#define AXIS2_XML_WRITER_WRITE_DTD(writer, env, dtd) \
+ ((writer)->ops->write_cdata(writer, env, dtd))
+
+#define AXIS2_XML_WRITER_WRITE_ENTITY_REF(writer, env, entity_ref) \
+ ((writer)->ops->write_entity_ref(writer, env, entity_ref))
+
+#define AXIS2_XML_WRITER_WRITE_START_DOCUMENT(writer, env) \
+ ((writer)->ops->write_start_document(writer,env))
+
+#define AXIS2_XML_WRITER_WRITE_START_DOCUMENT_WITH_VERSION(writer, env, version) \
+ ((writer)->ops->write_start_document_with_version(writer, env, version))
+
+#define AXIS2_XML_WRITER_WRITE_START_DOCUMENT_WITH_VERSION_ENCODING(\
+ writer, env, encoding, version) \
+ ((writer)->ops->write_start_document_with_version_encoding(\
+ writer, env, encoding, version))
+
+#define AXIS2_XML_WRITER_WRITE_CHARACTERS(writer, env, text) \
+ ((writer)->ops->write_characters(writer, env, text))
+
+#define AXIS2_XML_WRITER_GET_PREFIX(writer, env, uri) \
+ ((writer)->ops->get_prefix(writer, env, uri))
+
+#define AXIS2_XML_WRITER_SET_PREFIX(writer, env, prefix, uri) \
+ ((writer)->ops->set_prefix(writer, env, prefix, uri))
+
+#define AXIS2_XML_WRITER_SET_DEFAULT_PREFIX(writer, env, uri) \
+ ((writer)->ops->set_default_prefix(writer, env, uri))
+
+#define AXIS2_XML_WRITER_WRITE_ENCODED(writer, env, text, in_attr) \
+ ((writer)->ops->write_encoded(writer, env, text, in_attr))
+/** @} */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* AXIS2_XML_WRITER_H */