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 */