You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by na...@apache.org on 2006/05/23 06:08:11 UTC

svn commit: r408827 [1/2] - in /webservices/axis2/trunk/c: axiom/include/ axiom/src/om/ axiom/src/parser/libxml2/ util/include/ xml_schema/ xml_schema/include/xml_schema/

Author: nandika
Date: Mon May 22 21:08:10 2006
New Revision: 408827

URL: http://svn.apache.org/viewvc?rev=408827&view=rev
Log:
schema files updated

Added:
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_includes.h
Modified:
    webservices/axis2/trunk/c/axiom/include/axis2_om.h
    webservices/axis2/trunk/c/axiom/include/axis2_om_element.h
    webservices/axis2/trunk/c/axiom/src/om/om_element.c
    webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_writer_wrapper.c
    webservices/axis2/trunk/c/util/include/axis2_string_util.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_om_util.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_annotation.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_builder.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_collection.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_documentation.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_element.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_external.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_identity_constraint.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_import.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_obj_table.h
    webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_xpath.h
    webservices/axis2/trunk/c/xml_schema/om_util.c
    webservices/axis2/trunk/c/xml_schema/xml_schema_annotation.c
    webservices/axis2/trunk/c/xml_schema/xml_schema_builder.c
    webservices/axis2/trunk/c/xml_schema/xml_schema_collection.c
    webservices/axis2/trunk/c/xml_schema/xml_schema_documentation.c
    webservices/axis2/trunk/c/xml_schema/xml_schema_enum.c
    webservices/axis2/trunk/c/xml_schema/xml_schema_obj_table.c
    webservices/axis2/trunk/c/xml_schema/xml_schema_type.c
    webservices/axis2/trunk/c/xml_schema/xml_schema_xpath.c

Modified: webservices/axis2/trunk/c/axiom/include/axis2_om.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/include/axis2_om.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/include/axis2_om.h (original)
+++ webservices/axis2/trunk/c/axiom/include/axis2_om.h Mon May 22 21:08:10 2006
@@ -16,7 +16,7 @@
  
 #ifndef AXIS2_OM_H
 #define AXIS2_OM_H
-
+#include <axis2_om_node.h>
 #include <axis2_om_attribute.h>
 #include <axis2_om_child_element_iterator.h>
 #include <axis2_om_children_iterator.h>
@@ -28,7 +28,6 @@
 #include <axis2_om_element.h>
 #include <axis2_om_namespace.h>
 #include <axis2_om_navigator.h>
-#include <axis2_om_node.h>
 #include <axis2_om_output.h>
 #include <axis2_om_processing_instruction.h>
 #include <axis2_om_stax_builder.h>

Modified: webservices/axis2/trunk/c/axiom/include/axis2_om_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/include/axis2_om_element.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/include/axis2_om_element.h (original)
+++ webservices/axis2/trunk/c/axiom/include/axis2_om_element.h Mon May 22 21:08:10 2006
@@ -331,30 +331,33 @@
          *         return null if no text children is avilable or on error
          */                                              
         axis2_char_t* (AXIS2_CALL *
-        get_text)(axis2_om_element_t *om_element,
-                  axis2_env_t **env,
-                  axis2_om_node_t *element_node);
-        
+        get_text)(
+                axis2_om_element_t *om_element,
+                axis2_env_t **env,
+                axis2_om_node_t *element_node);
+    
         /**
          * returns the first child om element of this om element node
          * @param element_node the container node of this om_element
          * @return om_element if one is availble otherwise return NULL
          */
         axis2_om_element_t* (AXIS2_CALL *
-        get_first_element)(axis2_om_element_t *om_element,
-                             axis2_env_t **env,
-                             axis2_om_node_t *element_node,
-                             axis2_om_node_t **first_element_node);  
+        get_first_element)(
+                axis2_om_element_t *om_element,
+                axis2_env_t **env,
+                axis2_om_node_t *element_node,
+                axis2_om_node_t **first_element_node);  
         /**
          * returns the serilized text of this element and its children
          * @param element_node the container node this on element is contained 
          * @return a char array of xml , returns NULL on error
          */
         axis2_char_t* (AXIS2_CALL *
-        to_string)(axis2_om_element_t *om_element,
-                   axis2_env_t **env,
-                   axis2_om_node_t *element_node);
-        /**
+        to_string)(
+                axis2_om_element_t *om_element,
+            axis2_env_t **env,
+            axis2_om_node_t *element_node);
+        /** 
          * returns an iterator with child elements of type AXIS2_OM_ELEMENT
          * iterator is freed when om_element node is freed
          * @param om_element
@@ -363,9 +366,10 @@
          * @returns axis2_om_child_element_iterator_t , NULL on error                                             
          */
          axis2_om_child_element_iterator_t* (AXIS2_CALL *
-         get_child_elements)(axis2_om_element_t *om_element,
-                             axis2_env_t **env,
-                             axis2_om_node_t *element_node);                                                                            
+         get_child_elements)(
+                axis2_om_element_t *om_element,
+                axis2_env_t **env,
+                axis2_om_node_t *element_node);                                                                            
         /**
          * builds this om_element_node completely, This is only possible 
          * if the om_stax_builder is associated with the om_element_node,
@@ -388,10 +392,11 @@
          * @returns pointer to default namespace if availale , NULL otherwise
          */
          axis2_om_namespace_t* (AXIS2_CALL *
-         get_default_namespace)(axis2_om_element_t *om_element,
-                               axis2_env_t **env,
-                               axis2_om_node_t *element_node);
-                                               
+         get_default_namespace)(
+                axis2_om_element_t *om_element,
+                axis2_env_t **env,
+                axis2_om_node_t *element_node);
+                                
         /**
          * declared a default namespace explicitly 
          * @param om_element pointer to om element
@@ -400,10 +405,11 @@
          * @returns the declared namespace
                                                      */
          axis2_om_namespace_t* (AXIS2_CALL *
-         declare_default_namespace)(axis2_om_element_t *om_element,
-                                    axis2_env_t **env,
-                                    axis2_char_t *uri);
-                                    
+         declare_default_namespace)(
+                axis2_om_element_t *om_element,
+                axis2_env_t **env,
+                axis2_char_t *uri);
+                
         /** 
          * checks for the namespace in the context of this element 
          * with the given prefix 
@@ -414,10 +420,11 @@
          */
          
          axis2_om_namespace_t* (AXIS2_CALL *
-         find_namespace_uri)(axis2_om_element_t *om_element,
-                             axis2_env_t **env,
-                             axis2_char_t *prefix,
-                             axis2_om_node_t *element_node);  
+         find_namespace_uri)(
+                axis2_om_element_t *om_element,
+                axis2_env_t **env,
+                axis2_char_t *prefix,
+                axis2_om_node_t *element_node);  
         /**
          *This will not search the namespace in the scope nor will 
          * declare in the current element, as in set_namespace. This will
@@ -427,19 +434,26 @@
          */
          axis2_status_t (AXIS2_CALL *
          set_namespace_with_no_find_in_current_scope)(
-                        axis2_om_element_t *om_element,
-                        axis2_env_t **env,
-                        axis2_om_namespace_t *om_ns); 
-                        
+                axis2_om_element_t *om_element,
+                axis2_env_t **env,
+                axis2_om_namespace_t *om_ns); 
+                
         /**
          *  Extract attributes , returns a clones hash table of attributes,
          *  if attributes are associated with a namespace it is also cloned
          */                                                       
          axis2_hash_t* (AXIS2_CALL *
-         extract_attributes)(axis2_om_element_t *om_element,
-                             axis2_env_t **env,
-                             axis2_om_node_t *ele_node);
-    
+         extract_attributes)(
+                axis2_om_element_t *om_element,
+                axis2_env_t **env,
+                axis2_om_node_t *ele_node);
+                
+         axis2_char_t* (AXIS2_CALL*
+         get_attribute_value_by_name)(
+                axis2_om_element_t *om_ele,
+                axis2_env_t **env,
+                axis2_char_t *attr_name);
+                
     };
 
     
@@ -589,12 +603,19 @@
         
 #define AXIS2_OM_ELEMENT_GET_ATTRIBUTE_VALUE(om_element, env, qname) \
         ((om_element)->ops->get_attribute_value(om_element, env, qname))
+
+#define AXIS2_OM_ELEMENT_GET_ATTRIBUTE_VALUE_BY_NAME(om_element, env, attr_name) \
+        ((om_element)->ops->get_attribute_value_by_name(om_element, env, attr_name))
         
+                
 #define AXIS2_OM_ELEMENT_SET_NAMESPACE_WITH_NO_FIND_IN_CURRENT_SCOPE(om_element, env, om_ns) \
         ((om_element)->ops->set_namespace_with_no_find_in_current_scope(om_element, env, om_ns))
                
 #define AXIS2_OM_ELEMENT_EXTRACT_ATTRIBUTES(om_element, env, ele_node) \
-        ((om_element)->ops->extract_attributes(om_element, env, ele_node))                                       
+        ((om_element)->ops->extract_attributes(om_element, env, ele_node))
+        
+
+                                                      
 /** @} */
 
 

Modified: webservices/axis2/trunk/c/axiom/src/om/om_element.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/om/om_element.c?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/om/om_element.c (original)
+++ webservices/axis2/trunk/c/axiom/src/om/om_element.c Mon May 22 21:08:10 2006
@@ -203,6 +203,12 @@
 axis2_om_element_extract_attributes(axis2_om_element_t *om_element,
                                     axis2_env_t **env,
                                     axis2_om_node_t *ele_node);
+                                    
+axis2_char_t* AXIS2_CALL
+axis2_om_element_get_attribute_value_by_name(
+        axis2_om_element_t *om_element,
+        axis2_env_t **env,
+        axis2_char_t *attr_name);                                    
                                         
                                                                
                                          
@@ -419,7 +425,10 @@
         axis2_om_element_set_namespace_with_no_find_in_current_scope;
         
     element->om_element.ops->extract_attributes =
-        axis2_om_element_extract_attributes;                
+        axis2_om_element_extract_attributes;  
+        
+    element->om_element.ops->get_attribute_value_by_name =
+        axis2_om_element_get_attribute_value_by_name;                      
 
     return &(element->om_element);
 }
@@ -1723,3 +1732,39 @@
     }        
     return ht_cloned;
 }                                    
+
+axis2_char_t* AXIS2_CALL
+axis2_om_element_get_attribute_value_by_name(
+        axis2_om_element_t *om_element,
+        axis2_env_t **env,
+        axis2_char_t *attr_name)
+{
+    axis2_om_element_impl_t *om_ele_impl = NULL;
+    axis2_hash_index_t *hi = NULL;
+
+    AXIS2_PARAM_CHECK((*env)->error, attr_name, NULL);
+    om_ele_impl = AXIS2_INTF_TO_IMPL(om_element);
+    if(!om_ele_impl->attributes)
+        return NULL;
+    for(hi = axis2_hash_first(om_ele_impl->attributes, env); hi;
+        hi = axis2_hash_next(env, hi))
+    {
+        void *attr = NULL;
+        axis2_om_attribute_t *om_attr = NULL;
+        axis2_hash_this(hi, NULL, NULL, &attr);
+        if(NULL != attr)
+        {
+            axis2_char_t *this_attr_name;
+            axis2_char_t *this_attr_value;
+            
+            om_attr = (axis2_om_attribute_t*)attr;
+            this_attr_name = AXIS2_OM_ATTRIBUTE_GET_LOCALNAME(om_attr, env);
+            this_attr_value = AXIS2_OM_ATTRIBUTE_GET_VALUE(om_attr, env);
+            if(NULL != this_attr_name && AXIS2_STRCMP(this_attr_name, attr_name) == 0)
+            {
+                return this_attr_value;
+            }
+        }
+    }
+    return NULL;        
+}        
\ No newline at end of file

Modified: webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_writer_wrapper.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_writer_wrapper.c?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_writer_wrapper.c (original)
+++ webservices/axis2/trunk/c/axiom/src/parser/libxml2/libxml2_writer_wrapper.c Mon May 22 21:08:10 2006
@@ -84,241 +84,265 @@
 
 /*********************** function prototypes ***********************************/
 axis2_status_t AXIS2_CALL 
-axis2_libxml2_writer_wrapper_free(axis2_xml_writer_t *writer,
-                                  axis2_env_t **env);
+axis2_libxml2_writer_wrapper_free(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);
         
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_start_element(
-                                    axis2_xml_writer_t *writer,
-                                    axis2_env_t **env,
-                                    axis2_char_t *localname);
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *localname);
         
 axis2_status_t AXIS2_CALL
-axis2_libxml2_writer_wrapper_end_start_element(axis2_xml_writer_t *writer,
-                                               axis2_env_t **env);
-        
+axis2_libxml2_writer_wrapper_end_start_element(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);
+
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_start_element_with_namespace(
-                                        axis2_xml_writer_t *writer,
-                                        axis2_env_t **env,
-                                        axis2_char_t *localname,
-                                        axis2_char_t *namespace_uri);
-        
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *localname,
+        axis2_char_t *namespace_uri);
+
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_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_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
 axis2_libxml2_writer_wrapper_write_empty_element(
-                                        axis2_xml_writer_t *writer,
-                                        axis2_env_t **env,
-                                        axis2_char_t *localname);
-        
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *localname);
+
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_empty_element_with_namespace(
-                                        axis2_xml_writer_t *writer,
-                                        axis2_env_t **env,
-                                        axis2_char_t *localname,
-                                        axis2_char_t *namespace_uri);
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *localname,
+        axis2_char_t *namespace_uri);
 
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_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_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
-axis2_libxml2_writer_wrapper_write_end_element(axis2_xml_writer_t *writer,
-                                               axis2_env_t **env);
+axis2_libxml2_writer_wrapper_write_end_element(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);
 
 axis2_status_t AXIS2_CALL
-axis2_libxml2_writer_wrapper_write_end_document(axis2_xml_writer_t *writer,
-                                               axis2_env_t **env);
+axis2_libxml2_writer_wrapper_write_end_document(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);
 
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_attribute(axis2_xml_writer_t *writer,
-                                           axis2_env_t **env,
-                                           axis2_char_t *localname,
-                                           axis2_char_t *value);
-                                               
+        axis2_env_t **env,
+        axis2_char_t *localname,
+        axis2_char_t *value);
+            
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_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_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
 axis2_libxml2_writer_wrapper_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
-axis2_libxml2_writer_wrapper_write_namespace(axis2_xml_writer_t *writer,
-                                             axis2_env_t **env,
-                                             axis2_char_t *prefix,
-                                             axis2_char_t *namespace_uri);   
+        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
+axis2_libxml2_writer_wrapper_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
-axis2_libxml2_writer_wrapper_write_default_namespace
-                                            (axis2_xml_writer_t *writer,
-                                             axis2_env_t **env,
-                                             axis2_char_t *namespace_uri);  
-
-axis2_status_t AXIS2_CALL
-axis2_libxml2_writer_wrapper_write_comment(axis2_xml_writer_t *writer,
-                                           axis2_env_t **env,
-                                           axis2_char_t *value);
-                                           
+axis2_libxml2_writer_wrapper_write_default_namespace(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *namespace_uri);  
+
+axis2_status_t AXIS2_CALL
+axis2_libxml2_writer_wrapper_write_comment(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *value);
+        
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_processing_instruction(
-                                           axis2_xml_writer_t *writer,
-                                           axis2_env_t **env,
-                                           axis2_char_t *target);
-                                           
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *target);
+        
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_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
-axis2_libxml2_writer_wrapper_write_cdata(axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *data);
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *target,
+        axis2_char_t *data);
+        
+axis2_status_t AXIS2_CALL
+axis2_libxml2_writer_wrapper_write_cdata(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *data);
 
 axis2_status_t AXIS2_CALL
-axis2_libxml2_writer_wrapper_write_dtd(axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *dtd); 
+axis2_libxml2_writer_wrapper_write_dtd(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *dtd); 
 
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_entity_ref(
-                                         axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *name); 
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *name); 
 
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_start_document(
-                                         axis2_xml_writer_t *writer,
-                                         axis2_env_t **env);  
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);  
 
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_start_document_with_version(
-                                         axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *version);   
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *version);   
 
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_start_document_with_version_encoding(
-                                         axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *encoding,
-                                         axis2_char_t *version);
-                                         
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *encoding,
+        axis2_char_t *version);
+        
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_characters(
-                                         axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *text);   
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *text);   
 
 axis2_char_t* AXIS2_CALL
-axis2_libxml2_writer_wrapper_get_prefix(  axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *uri);
+axis2_libxml2_writer_wrapper_get_prefix(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *uri);
 
 axis2_status_t AXIS2_CALL 
-axis2_libxml2_writer_wrapper_set_prefix(  axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *prefix,
-                                         axis2_char_t *uri);
+axis2_libxml2_writer_wrapper_set_prefix( 
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *prefix,
+        axis2_char_t *uri);
+        
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_set_default_prefix(
-                                         axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *uri);                                                 
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *uri);                                                 
 
 axis2_status_t AXIS2_CALL
 axis2_libxml2_writer_wrapper_write_encoded(
-                                         axis2_xml_writer_t *writer,
-                                         axis2_env_t **env,
-                                         axis2_char_t *text,
-                                         int in_attr);
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *text,
+        int in_attr);
 
 void* AXIS2_CALL
-axis2_libxml2_writer_wrapper_get_xml(axis2_xml_writer_t *writer,
-                                     axis2_env_t **env);
+axis2_libxml2_writer_wrapper_get_xml(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);
 
 int AXIS2_CALL
-axis2_libxml2_writer_wrapper_get_type(axis2_xml_writer_t *writer,
-                                     axis2_env_t **env);
-                                     
+axis2_libxml2_writer_wrapper_get_type(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);
+        
 /*********************** static functions ************************************/
 static axis2_status_t
-axis2_libxml2_writer_wrapper_pop_context(axis2_xml_writer_t *writer,
-                                         axis2_env_t **env);
-                                         
+axis2_libxml2_writer_wrapper_pop_context(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);
+        
 static axis2_status_t
-axis2_libxml2_writer_wrapper_push(axis2_xml_writer_t *writer, 
-                                  axis2_env_t **env,
-                                  axis2_char_t *uri,
-                                  axis2_char_t *prefix);
-                                  
+axis2_libxml2_writer_wrapper_push(
+        axis2_xml_writer_t *writer, 
+        axis2_env_t **env,
+        axis2_char_t *uri,
+        axis2_char_t *prefix);
+        
 static axis2_bool_t
-axis2_libxml2_writer_wrapper_is_namespace_declared(axis2_xml_writer_t *writer,
-                                             axis2_env_t **env,
-                                             axis2_char_t *key);
-                                             
+axis2_libxml2_writer_wrapper_is_namespace_declared(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *key);
+        
 static axis2_status_t
-uri_prefix_element_free(uri_prefix_element_t *up_element,
-                        axis2_env_t **env);
-                                             
+uri_prefix_element_free(
+        uri_prefix_element_t *up_element,
+        axis2_env_t **env);
+                                
 static uri_prefix_element_t *
-uri_prefix_element_create(axis2_env_t **env,
-                          axis2_char_t *uri,
-                          axis2_char_t *prefix,
-                          axis2_char_t *real_prefix,
-                          axis2_char_t *key);    
-                          
+uri_prefix_element_create(
+        axis2_env_t **env,
+        axis2_char_t *uri,
+        axis2_char_t *prefix,
+        axis2_char_t *real_prefix,
+        axis2_char_t *key);    
+        
 static axis2_status_t
-axis2_libxml2_writer_wrapper_push_context(axis2_xml_writer_t *writer,
-                                          axis2_env_t **env);                  
-                                          
+axis2_libxml2_writer_wrapper_push_context(
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);                  
+        
 static axis2_char_t *
-create_key_from_uri_prefix(axis2_env_t **env,
-                           axis2_char_t *uri,
-                           axis2_char_t *prefix);
-                                                                                                static axis2_status_t
+create_key_from_uri_prefix(
+        axis2_env_t **env,
+        axis2_char_t *uri,
+        axis2_char_t *prefix);
+  
+  
+static  axis2_status_t
 axis2_libxml2_writer_wrapper_set_default_lang_namespace(
-                            axis2_xml_writer_t *writer,
-                            axis2_env_t **env);
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env);
                                                  
 static axis2_char_t* 
 axis2_libxml2_writer_wrapper_find_prefix(
-                            axis2_xml_writer_t *writer,
-                            axis2_env_t **env,
-                            axis2_char_t *uri);                                                    
+        axis2_xml_writer_t *writer,
+        axis2_env_t **env,
+        axis2_char_t *uri);                                                    
+
 static uri_prefix_element_t* 
 axis2_libxml2_writer_wrapper_find_prefix_in_context(
-                            axis2_array_list_t  *context,
-                            axis2_env_t **env,
-                            axis2_char_t *uri); 
+        axis2_array_list_t  *context,
+        axis2_env_t **env,
+        axis2_char_t *uri); 
                             
 static void
-axis2_libxml2_writer_wrapper_init_ops(axis2_xml_writer_t *writer);                             
+axis2_libxml2_writer_wrapper_init_ops(
+        axis2_xml_writer_t *writer);                             
   
 /**************************** end function pointers ****************************/
 

Modified: webservices/axis2/trunk/c/util/include/axis2_string_util.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/include/axis2_string_util.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/util/include/axis2_string_util.h (original)
+++ webservices/axis2/trunk/c/util/include/axis2_string_util.h Mon May 22 21:08:10 2006
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-#ifndef AXIS2_STRING_UTILS_H
-#define AXIS2_STRING_UTILS_H
+#ifndef AXIS2_STRING_UTIL_H
+#define AXIS2_STRING_UTIL_H
 
 #include <axis2_array_list.h>
 #include <axis2_string.h>
@@ -42,4 +42,4 @@
 #ifdef __cplusplus
 }
 #endif
-#endif /* AXIS2_STRING_UTILS_H */
+#endif /* AXIS2_STRING_UTIL_H */

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_om_util.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_om_util.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_om_util.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_om_util.h Mon May 22 21:08:10 2006
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-#ifndef AXIS2_OM_UTIL.H
-#define AXIS2_OM_UTIL
+#ifndef AXIS2_OM_UTIL_H
+#define AXIS2_OM_UTIL_H
 
 #include <axis2_array_list.h>
 #include <axis2_string.h>
-#include <axis2_om_element.h>
+#include <axis2_om.h>
 
 #ifdef __cplusplus
 extern "C"
@@ -27,6 +27,22 @@
 #endif
 
 AXIS2_DECLARE(axis2_om_element_t *)
+axis2_om_util_get_first_child_element_with_uri(
+        axis2_om_node_t *ele_node,
+        axis2_env_t **env,
+        axis2_char_t *uri,
+        axis2_om_node_t **child);
+        
+AXIS2_DECLARE(axis2_om_element_t *)
+axis2_om_util_get_next_sibling_element_with_uri(
+        axis2_om_node_t *ele_node,
+        axis2_env_t **env,
+        axis2_char_t *uri,
+        axis2_om_node_t **next_node);        
+
+
+
+AXIS2_DECLARE(axis2_om_element_t *)
 axis2_om_util_get_first_child_element(axis2_om_element_t *ele,
                                       axis2_env_t **env,
                                       axis2_om_node_t *ele_node,
@@ -148,9 +164,13 @@
 AXIS2_DECLARE(axis2_char_t *)
 axis2_om_util_get_node_namespace_uri(axis2_om_node_t *om_node,
                                      axis2_env_t **env);                            
-                                                                                                                      
-
+                                                                                             
+                         
+AXIS2_DECLARE(axis2_om_child_element_iterator_t*)
+axis2_om_util_get_child_elements(axis2_om_element_t *om_ele, 
+                                 axis2_env_t **env,
+                                 axis2_om_node_t *om_node);
 #ifdef __cplusplus
 }
 #endif
-#endif /* AXIS2_OM_UTIL */
+#endif /* AXIS2_OM_UTIL_H */

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema.h Mon May 22 21:08:10 2006
@@ -251,17 +251,17 @@
 		(((axis2_xml_schema_t *) schema)->ops->\
             get_base_impl(schema, env))
             
-#define AXIS2_XML_SCHEMA_GET_NAMESPACE(schema, env) \
+#define AXIS2_XML_SCHEMA_GET_NAMESPACE(schema, env, prefix) \
         (((axis2_xml_schema_t *) schema)->ops->\
-            get_schema(schema, env))            
+            get_namespace(schema, env, prefix))            
 
 #define AXIS2_XML_SCHEMA_GET_ATTR_FORM_DEFAULT(schema, env) \
 		(((axis2_xml_schema_t *) schema)->ops->\
             get_attr_form_default(schema, env))
 
-#define AXIS2_XML_SCHEMA_SET_ATTR_FORM_DEFAULT(schema, env) \
+#define AXIS2_XML_SCHEMA_SET_ATTR_FORM_DEFAULT(schema, env, attr_form) \
 		(((axis2_xml_schema_t *) schema)->ops->\
-            set_attr_form_default(schema, env))
+            set_attr_form_default(schema, env, attr_form))
 
 #define AXIS2_XML_SCHEMA_GET_ATTR_GROUPS(schema, env) \
 		(((axis2_xml_schema_t *) schema)->ops->\

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_annotation.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_annotation.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_annotation.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_annotation.h Mon May 22 21:08:10 2006
@@ -24,6 +24,7 @@
 
 #include <xml_schema/axis2_xml_schema_defines.h>
 #include <xml_schema/axis2_xml_schema_obj.h>
+#include <xml_schema/axis2_xml_schema_obj_collection.h>
 #include <axis2_hash.h>
 
 /** @defgroup axis2_xml_schema_annotation Xml Schema Annotation
@@ -63,7 +64,7 @@
     get_base_impl) (void *annotation,
                         axis2_env_t **env);
     
-    axis2_hash_t *(AXIS2_CALL *
+    axis2_xml_schema_obj_collection_t *(AXIS2_CALL *
     get_items)(void *annotation,
                 axis2_env_t **env);
     

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_builder.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_builder.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_builder.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_builder.h Mon May 22 21:08:10 2006
@@ -27,6 +27,7 @@
 
 #include <xml_schema/axis2_xml_schema_defines.h>
 #include <xml_schema/axis2_xml_schema_annotated.h>
+#include <xml_schema/axis2_xml_schema.h>
 #include <axis2_om.h>
 #include <axis2_hash.h>
 #include <xml_schema/axis2_xml_schema_collection.h>

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_collection.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_collection.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_collection.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_collection.h Mon May 22 21:08:10 2006
@@ -137,7 +137,7 @@
     resolve_type)(
             axis2_xml_schema_collection_t* collection,
             axis2_env_t **env,
-            axis2_qname_t *type_qame, 
+            axis2_qname_t *type_qname, 
             struct axis2_xml_schema_type *type); 
             
 
@@ -159,6 +159,29 @@
     get_systemid2_schemas)(
             axis2_xml_schema_collection_t* collection,
             axis2_env_t **env);
+            
+    axis2_array_list_t* (AXIS2_CALL *
+    get_schemas)(
+            axis2_xml_schema_collection_t* collection,
+            axis2_env_t **env);
+            
+    axis2_status_t* (AXIS2_CALL *
+    set_schemas)(
+            axis2_xml_schema_collection_t *collection,
+            axis2_env_t **env,
+            axis2_array_list_t *schemas);            
+                      
+    axis2_hash_t* (AXIS2_CALL *
+    get_namespaces)(
+            axis2_xml_schema_collection_t *collection,
+            axis2_env_t **env);
+            
+    axis2_status_t (AXIS2_CALL *
+    set_namespaces)(
+            axis2_xml_schema_collection_t *collection,
+            axis2_env_t **env);
+            
+                            
 };            
 
 struct axis2_xml_schema_collection
@@ -209,8 +232,8 @@
 #define AXIS2_XML_SCHEMA_COLLECTION_ADD_UNRESOLVED_TYPE(collection, env, qtype, receiver) \
         ((collection)->ops->add_unresolved_type(collection, env, qtype, receiver))
         
-#define AXIS2_XML_SCHEMA_COLLECTION_RESOLVE_TYPE(collection, env, type) \
-        ((collection)->ops->resolve_type(collection, env, type))
+#define AXIS2_XML_SCHEMA_COLLECTION_RESOLVE_TYPE(collection, env, type_qname, type) \
+        ((collection)->ops->resolve_type(collection, env, type_qname, type))
         
 #define AXIS2_XML_SCHEMA_COLLECTION_GET_NAMESPACE_FOR_PREFIX(collection, env, prefix) \
         ((collection)->ops->get_namespace_for_prefix(collection, env, prefix))
@@ -218,6 +241,18 @@
 #define AXIS2_XML_SCHEMA_COLLECTION_GET_SYSTEMID2_SCHEMAS(collection, env) \
         ((collection)->ops->get_systemid2_schemas(collection, env))
         
+#define AXIS2_XML_SCHEMA_COLLECTION_GET_SCHEMAS(collection, env) \
+        ((collection)->ops->get_schemas(collection, env))
+        
+#define AXIS2_XML_SCHEMA_COLLECTION_SET_SCHEMAS(collection, env) \
+        ((collection)->ops->set_schemas(collection, env))
+        
+#define AXIS2_XML_SCHEMA_COLLECTION_GET_NAMESPACES(collection, env) \
+        ((collection)->ops->get_namespaces(collection, env))
+        
+#define AXIS2_XML_SCHEMA_COLLECTION_SET_NAMESPACES(collection, env, ht_ns) \
+        ((collection)->ops->set_namespaces(collection, env, ht_ns))                
+                
         
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_documentation.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_documentation.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_documentation.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_documentation.h Mon May 22 21:08:10 2006
@@ -28,6 +28,7 @@
 #include <xml_schema/axis2_xml_schema_defines.h>
 #include <xml_schema/axis2_xml_schema_obj.h>
 #include <axis2_hash.h>
+#include <axis2_om.h>
 
 /** @defgroup axis2_xml_schema_documentation Xml Schema App Info
   * @ingroup axis2_xml_schema
@@ -76,17 +77,25 @@
                 axis2_env_t **env,
                 axis2_char_t *source);
 
-    /* TODO replace (void *) mark up with node list */
-    void *(AXIS2_CALL *
+    axis2_om_child_element_iterator_t *(AXIS2_CALL *
     get_markup) (void *documentation,
                     axis2_env_t **env);
 
-    /* TODO replace (void *) mark up with node list */
     axis2_status_t (AXIS2_CALL *
     set_markup) (void *documentation,
-                    axis2_env_t **env,
-                    void *markup);
-
+                 axis2_env_t **env,
+                 axis2_om_child_element_iterator_t *markup);
+                 
+    axis2_char_t *(AXIS2_CALL *
+    get_language)(
+            void *documentation,
+            axis2_env_t **env);
+            
+    axis2_status_t (AXIS2_CALL *
+    set_language)(
+            void *documentation,
+            axis2_env_t **env,
+            axis2_char_t *language);            
 };
 
 struct axis2_xml_schema_documentation
@@ -128,6 +137,15 @@
 #define AXIS2_XML_SCHEMA_DOCUMENTATION_SET_MARKUP(documentation, env, markup) \
 		(((axis2_xml_schema_documentation_t *) documentation)->ops->\
             set_markup(documentation, env, markup))
+
+
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_GET_LANGUAGE(documentation, env) \
+        (((axis2_xml_schema_documentation_t*) documentation)->ops->\
+            get_language(documentation, env))
+            
+#define AXIS2_XML_SCHEMA_DOCUMENTATION_SET_LANGUAGE(documentation, env, language)\
+        (((axis2_xml_schema_documentation_t *) documentation)->ops->\
+            set_language(documentation, env, language))            
 
 /************************ end macros ******************************************/
 /** @} */

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_element.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_element.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_element.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_element.h Mon May 22 21:08:10 2006
@@ -158,65 +158,78 @@
                         axis2_env_t **env);
 
     axis2_status_t (AXIS2_CALL * 
-    set_name) (void *element,
-                        axis2_env_t **env,
-                        axis2_char_t *name);
+    set_name)(
+            void *element,
+            axis2_env_t **env,
+            axis2_char_t *name);
 
     axis2_qname_t *(AXIS2_CALL * 
-    get_ref_qname) (void *element,
-                            axis2_env_t **env);
+    get_ref_qname)(
+            void *element,
+            axis2_env_t **env);
 
     axis2_status_t (AXIS2_CALL * 
-    set_ref_qname) (void *element,
-                            axis2_env_t **env,
-                            axis2_qname_t *ref_qname);
+    set_ref_qname)(
+            void *element,
+            axis2_env_t **env,
+            axis2_qname_t *ref_qname);
 
     axis2_qname_t *(AXIS2_CALL * 
-    get_qname) (void *element,
-                        axis2_env_t **env);
+    get_qname)(
+            void *element,
+            axis2_env_t **env);
 
     axis2_status_t (AXIS2_CALL * 
-    set_qname) (void *element,
-                        axis2_env_t **env,
-                        axis2_qname_t *qualified_name); 
+    set_qname)(
+            void *element,
+            axis2_env_t **env,
+            axis2_qname_t *qualified_name); 
 
     struct axis2_xml_schema_type *(AXIS2_CALL *
-    get_schema_type) (void *element,
-                                axis2_env_t **env);
+    get_schema_type)(
+            void *element,
+            axis2_env_t **env);
 
     axis2_status_t (AXIS2_CALL * 
-    set_schema_type) (void *element,
-                                axis2_env_t **env,
-                                struct axis2_xml_schema_type *schema_type);
+    set_schema_type)(
+            void *element,
+            axis2_env_t **env,
+            struct axis2_xml_schema_type *schema_type);
 
     axis2_qname_t *(AXIS2_CALL * 
-    get_schema_type_qname) (void *element,
-                                    axis2_env_t **env);
+    get_schema_type_qname)(
+            void *element,
+            axis2_env_t **env);
 
     axis2_status_t (AXIS2_CALL * 
-    set_schema_type_qname) (void *element,
-                                    axis2_env_t **env,
-                                    axis2_qname_t *schema_type_qname);
+    set_schema_type_qname)(
+            void *element,
+            axis2_env_t **env,
+            axis2_qname_t *schema_type_qname);
 
     axis2_qname_t *(AXIS2_CALL * 
-    get_substitution_group) (void *element,
-                                    axis2_env_t **env);
+    get_substitution_group)(
+            void *element,
+            axis2_env_t **env);
 
     axis2_status_t (AXIS2_CALL * 
-    set_substitution_group) (void *element,
-                                    axis2_env_t **env,
-                                    axis2_qname_t *substitution_group);
+    set_substitution_group)(
+            void *element,
+            axis2_env_t **env,
+            axis2_qname_t *substitution_group);
 
     axis2_char_t *(AXIS2_CALL * 
-    to_string) (void *element,
-                        axis2_env_t **env,
-                        axis2_char_t *prefix, 
-                        int tab);
+    to_string)(
+            void *element,
+            axis2_env_t **env,
+            axis2_char_t *prefix, 
+            int tab);
 
     axis2_status_t (AXIS2_CALL * 
-    set_type) (void *element,
-                    axis2_env_t **env,
-                    struct axis2_xml_schema_type *type);
+    set_type)(
+            void *element,
+            axis2_env_t **env,
+            struct axis2_xml_schema_type *type);
 
 };
 
@@ -229,16 +242,8 @@
 AXIS2_DECLARE(axis2_xml_schema_element_t *)
 axis2_xml_schema_element_create(axis2_env_t **env);
 
-/**
- * This method is internal to Axis2 C. It is called from Child Constructor
- 
-AXIS2_DECLARE(axis2_status_t)
-axis2_xml_schema_element_resolve_methods(
-                                axis2_xml_schema_element_t *element,
-                                axis2_env_t **env,
-                                axis2_xml_schema_element_t *element_impl,
-                                axis2_hash_t *methods);
-*/
+/************ macros **********************************************************/
+
 #define AXIS2_XML_SCHEMA_ELEMENT_FREE(element, env) \
 		(((axis2_xml_schema_element_t *) element)->ops->free(\
             element, env))
@@ -255,34 +260,120 @@
 		(((axis2_xml_schema_element_t *) element)->ops->super_objs(\
             element, env))
 
-
-#define AXIS2_XML_SCHEMA_ELEMENT_GET_ID(element, env) \
-		(((axis2_xml_schema_element_t *) element)->ops->get_id(\
-            element, env))
-
-#define AXIS2_XML_SCHEMA_ELEMENT_SET_ID(element, env, id) \
-		(((axis2_xml_schema_element_t *) element)->ops->set_id(\
-            element, env, id))
-
-#define AXIS2_XML_SCHEMA_ELEMENT_GET_ANNOTATION(element, env) \
-		(((axis2_xml_schema_element_t *) element)->ops->get_annotation(\
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_CONSTRAINTS(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_constraints(\
             element, env))
-
-#define AXIS2_XML_SCHEMA_ELEMENT_SET_ANNOTATION(element, env, \
-        annotation) \
-		(((axis2_xml_schema_element_t *) element)->ops->set_annotation(\
-            element, env, annotation))
-
-#define AXIS2_XML_SCHEMA_ELEMENT_GET_UNHANDLED_ATTRS(element, env) \
-		(((axis2_xml_schema_element_t *) element)->ops->get_unhandled_attrs(\
-            element, env))
-
-#define AXIS2_XML_SCHEMA_ELEMENT_SET_UNHANDLED_ATTRS(element, \
-        env, unhandled_attrs) \
-		(((axis2_xml_schema_element_t *) element)->ops->set_unhandled_attrs(\
-            element, env, unhandled_attrs))
-
-
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_DEFAULT_VALUE(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_default_value(\
+            element, env))            
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_DEFAULT_VALUE(element, env, def_value) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_default_value(\
+            element, env, def_value))            
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_BLOCK(element, env, block) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_block(\
+            element, env, block))            
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_FINAL(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_final(\
+            element, env))              
+
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_FINAL(element, env, final_derivation) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_final(\
+            element, env, final_derivation))            
+
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_BLOCK_RESOLVED(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_block_resolved(\
+            element, env)) 
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_FIXED_VALUE(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_fixed_value(\
+            element, env))             
+
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_FIXED_VALUE(element, env, fixed_value) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_fixed_value(\
+            element, env, fixed_value))
+
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_ELEMENT_TYPE(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_element_type(\
+            element, env))             
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_FORM(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_form(\
+            element, env))              
+
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_FORM(element, env, form) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_form(\
+            element, env, form))             
+                     
+
+#define AXIS2_XML_SCHEMA_ELEMENT_IS_ABSTRACT(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->is_abstract(\
+            element, env))
+
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_ABSTRACT(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_abstract(\
+            element, env))   
+            
+
+#define AXIS2_XML_SCHEMA_ELEMENT_IS_NILLABLE(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->is_nillable(\
+            element, env))       
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_NILLABLE(element, env, is_nillable) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_nillable(\
+            element, env, is_nillable))
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_NAME(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_name(\
+            element, env))
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_NAME(element, env, name) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_name(\
+            element, env, name)) 
+
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_REF_NAME(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_ref_qname(\
+            element, env)) 
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_REF_NAME(element, env, ref_name) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_ref_qname(\
+            element, env, ref_name))
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_QNAME(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_qname(\
+            element, env)) 
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_QNAME(element, env, qualified_name) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_qname(\
+            element, env, qualified_name))
+                                                                         
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_SCHEMA_TYPE(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_schema_type(\
+            element, env)) 
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_SCHEMA_TYPE(element, env, schema_type) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_schema_type(\
+            element, env, schema_type))
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_SCHEMA_TYPE_QNAME(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_schema_type_qname(\
+            element, env)) 
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_SCHEMA_TYPE_QNAME(element, env, schema_type_name) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_schema_type_qname(\
+            element, env, schema_type_name))            
+        
+#define AXIS2_XML_SCHEMA_ELEMENT_GET_SUBSTITUTION_GROUP(element, env) \
+		(((axis2_xml_schema_element_t *) element)->ops->get_substitution_group(\
+            element, env)) 
+            
+#define AXIS2_XML_SCHEMA_ELEMENT_SET_SUBSTITUTION_GROUP(element, env, sub_group) \
+		(((axis2_xml_schema_element_t *) element)->ops->set_substitution_group(\
+            element, env, sub_group))            
 /** @} */
 #ifdef __cplusplus
 }

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_external.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_external.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_external.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_external.h Mon May 22 21:08:10 2006
@@ -139,17 +139,17 @@
 		(((axis2_xml_schema_external_t *) external)->ops->\
             get_schema(external, env))
 
-#define AXIS2_XML_SCHEMA_EXTERNAL_SET_SCHEMA(external, env, max_occurs) \
+#define AXIS2_XML_SCHEMA_EXTERNAL_SET_SCHEMA(external, env, sch) \
 		(((axis2_xml_schema_external_t *) external)->ops->\
-            set_schema(external, env, max_occurs))
+            set_schema(external, env, sch))
             
 #define AXIS2_XML_SCHEMA_EXTERNAL_GET_SCHEMA_LOCATION(external, env) \
 		(((axis2_xml_schema_external_t *) external)->ops->\
-            get_schema(external, env))
+            get_schema_location(external, env))
 
 #define AXIS2_XML_SCHEMA_EXTERNAL_SET_SCHEMA_LOCATION(external, env, location) \
 		(((axis2_xml_schema_external_t *) external)->ops->\
-            set_schema(external, env, location))            
+            set_schema_location(external, env, location))            
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_identity_constraint.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_identity_constraint.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_identity_constraint.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_identity_constraint.h Mon May 22 21:08:10 2006
@@ -157,7 +157,7 @@
             
 #define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_SET_REFER(id_constr, env, refer) \
 		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\
-            get_refer(id_constr, env, refer))            
+            set_refer(id_constr, env, refer))            
 
 #define AXIS2_XML_SCHEMA_IDENTITY_CONSTRAINT_GET_FIELDS(id_constr, env) \
 		(((axis2_xml_schema_identity_constraint_t *) id_constr)->ops->\

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_import.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_import.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_import.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_import.h Mon May 22 21:08:10 2006
@@ -121,7 +121,7 @@
 
 #define AXIS2_XML_SCHEMA_IMPORT_SET_NAMESPACE(import, env, ns) \
 		(((axis2_xml_schema_import_t *) import)->ops->\
-            set_schema(import, env, ns))
+            set_namespace(import, env, ns))
 
 /** @} */
 #ifdef __cplusplus

Added: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_includes.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_includes.h?rev=408827&view=auto
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_includes.h (added)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_includes.h Mon May 22 21:08:10 2006
@@ -0,0 +1,87 @@
+/*
+ * 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_SCHEMA_INCLUDES_H
+#define AXIS2_XML_SCHEMA_INCLUDES_H
+
+/**
+ * @file all schema header files 
+ */
+
+#include "axis2_xml_schema_obj_table.h"
+#include "axis2_xml_schema_simple_type_content.h"
+#include "axis2_xml_schema_obj_collection.h"
+#include "axis2_xml_schema_simple_type_list.h"
+#include "axis2_xml_schema_group_base.h"
+#include "axis2_xml_schema_any.h"
+#include "axis2_xml_schema_external.h"
+#include "axis2_xml_schema_element.h"
+#include "axis2_xml_schema_simple_content.h"
+#include "axis2_xml_schema_app_info.h"
+#include "axis2_xml_schema_collection.h"
+#include "axis2_validation_event_handler.h"
+#include "axis2_xml_schema_group.h"
+#include "axis2_xml_schema_complex_content_extension.h"
+#include "axis2_xml_schema_xpath.h"
+#include "axis2_xml_schema_identity_constraint.h"
+#include "axis2_xml_schema_complex_content.h"
+#include "axis2_xml_schema_attribute.h"
+#include "axis2_xml_schema_complex_content_restriction.h"
+#include "axis2_xml_schema_derivation_method.h"
+#include "axis2_xml_schema_complex_type.h"
+#include "axis2_xml_schema_any_attribute.h"
+#include "axis2_xml_schema_content_type.h"
+#include "axis2_xml_schema_annotated.h"
+#include "axis2_xml_schema_builder.h"
+#include "axis2_xml_tokenized_type.h"
+#include "axis2_xml_schema_attribute_group.h"
+#include "axis2_xml_schema_simple_content_extension.h"
+#include "axis2_xml_schema_group_ref.h"
+#include "axis2_xml_schema_simple_type.h"
+#include "axis2_xml_severity_type.h"
+#include "axis2_xml_schema_use.h"
+#include "axis2_xml_schema_facet.h"
+#include "axis2_xml_schema_simple_type_union.h"
+#include "axis2_xml_schema_form.h"
+#include "axis2_xml_schema_particle.h"
+#include "axis2_xml_schema_enum.h"
+#include "axis2_xml_schema_content_processing.h"
+#include "axis2_om_util.h"
+#include "axis2_xml_schema_simple_content_restriction.h"
+#include "axis2_xml_schema_documentation.h"
+#include "axis2_xml_schema_data_type.h"
+#include "axis2_xml_schema_annotation.h"
+#include "axis2_xml_schema_import.h"
+#include "axis2_xml_schema_obj.h"
+#include "axis2_xml_schema_attribute_group_ref.h"
+#include "axis2_xml_schema_constants.h"
+#include "axis2_xml_schema_defines.h"
+#include "axis2_xml_schema_simple_type_restriction.h"
+#include "axis2_xml_schema.h"
+#include "axis2_xml_schema_redefine.h"
+#include "axis2_xml_schema_type.h"
+
+#ifdef _cplusplus
+extern "C"
+{
+#endif
+
+
+/** @} */
+#ifdef _cplusplus
+}
+#endif
+#endif /* AXIS2_XML_SCHEMA_INCLUDES_H */

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_obj_table.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_obj_table.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_obj_table.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_obj_table.h Mon May 22 21:08:10 2006
@@ -59,36 +59,62 @@
      * @return status code
      */
     axis2_status_t (AXIS2_CALL *
-    free) (axis2_xml_schema_obj_table_t *obj_table,
+    free)(
+            axis2_xml_schema_obj_table_t *obj_table,
             axis2_env_t **env);
 
     int (AXIS2_CALL *
-    get_count) (axis2_xml_schema_obj_table_t *obj_table,
-                axis2_env_t **env);
+    get_count)(
+            axis2_xml_schema_obj_table_t *obj_table,
+            axis2_env_t **env);
 
     void *(AXIS2_CALL *
-    get_item) (axis2_xml_schema_obj_table_t *obj_table,
-               axis2_env_t **env,
-               axis2_qname_t *qname);
+    get_item)(
+            axis2_xml_schema_obj_table_t *obj_table,
+            axis2_env_t **env,
+            axis2_qname_t *qname);
 
     axis2_array_list_t *(AXIS2_CALL *
-    get_names) (axis2_xml_schema_obj_table_t *obj_table,
-                axis2_env_t **env);
+    get_names)(
+            axis2_xml_schema_obj_table_t *obj_table,
+            axis2_env_t **env);
 
     axis2_array_list_t *(AXIS2_CALL *
-    get_values) (axis2_xml_schema_obj_table_t *obj_table,
-                 axis2_env_t **env);
+    get_values)(
+            axis2_xml_schema_obj_table_t *obj_table,
+            axis2_env_t **env);
 
     axis2_bool_t (AXIS2_CALL *
-    contains) (axis2_xml_schema_obj_table_t *obj_table,
-               axis2_env_t **env,
-               axis2_qname_t *qname);
+    contains)(
+            axis2_xml_schema_obj_table_t *obj_table,
+            axis2_env_t **env,
+            axis2_qname_t *qname);
 
     axis2_status_t (AXIS2_CALL *
-    add) (axis2_xml_schema_obj_table_t *obj_table,
-          axis2_env_t **env,
-          axis2_qname_t *qname,
-          void *value);
+    add) (
+            axis2_xml_schema_obj_table_t *obj_table,
+            axis2_env_t **env,
+            axis2_qname_t *qname,
+            void *value);
+          
+    axis2_status_t (AXIS2_CALL *
+    put)(
+            axis2_xml_schema_obj_table_t *obj_table,
+            axis2_env_t **env,
+            axis2_char_t *key,
+            void *value);
+         
+    axis2_hash_t* (AXIS2_CALL *
+    get_hash_table)(
+            axis2_xml_schema_obj_table_t *obj_table,
+            axis2_env_t **env);
+            
+    void* (AXIS2_CALL*
+    get)(   axis2_xml_schema_obj_table_t *obj_table,
+            axis2_env_t **env,
+            axis2_char_t *key);            
+            
+                                           
 };
 
 struct axis2_xml_schema_obj_table
@@ -120,6 +146,15 @@
 
 #define AXIS2_XML_SCHEMA_OBJ_TABLE_ADD(obj_table, env, qname, value) \
 		((obj_table)->ops->add (obj_table, env, qname, value))
+		
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_PUT(obj_table, env, key, value) \
+		((obj_table)->ops->put(obj_table, env, key, value))
+		
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_GET(obj_table, env, key) \
+		((obj_table)->ops->get(obj_table, env, key))
+		
+#define AXIS2_XML_SCHEMA_OBJ_TABLE_GET_HASH_TABLE(obj_table, env) \
+		((obj_table)->ops->get_hash_table(obj_table, env))
 
 /** @} */
 #ifdef __cplusplus

Modified: webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_xpath.h
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_xpath.h?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_xpath.h (original)
+++ webservices/axis2/trunk/c/xml_schema/include/xml_schema/axis2_xml_schema_xpath.h Mon May 22 21:08:10 2006
@@ -87,9 +87,7 @@
  * Creates new Xml Schema Xpath
  */
 AXIS2_DECLARE(axis2_xml_schema_xpath_t *)
-axis2_xml_schema_xpath_create(axis2_env_t **env,
-                                void *value,
-                                axis2_bool_t fixed);
+axis2_xml_schema_xpath_create(axis2_env_t **env);
 
 /**
  * This method is internal to Axis2 C. It is called from Child Constructor

Modified: webservices/axis2/trunk/c/xml_schema/om_util.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/om_util.c?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/om_util.c (original)
+++ webservices/axis2/trunk/c/xml_schema/om_util.c Mon May 22 21:08:10 2006
@@ -18,6 +18,94 @@
 #include <axis2_om_element.h>
 #include <axis2_array_list.h>
 
+
+AXIS2_DECLARE(axis2_om_element_t *)
+axis2_om_util_get_first_child_element_with_uri(
+        axis2_om_node_t *ele_node,
+        axis2_env_t **env,
+        axis2_char_t *uri,
+        axis2_om_node_t **child)
+{
+    axis2_om_node_t *child_node = NULL;
+    if(!ele_node || !uri)
+    {
+        AXIS2_ERROR_SET((*env)->error, 
+            AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+        return NULL;
+    }
+
+    child_node = AXIS2_OM_NODE_GET_FIRST_CHILD(ele_node, env);
+    while(NULL != child_node)
+    {
+        if(AXIS2_OM_NODE_GET_NODE_TYPE(child_node, env) == AXIS2_OM_ELEMENT)
+        {
+            axis2_om_element_t *child_ele = NULL;
+            axis2_om_namespace_t *ns = NULL;
+            
+            child_ele = (axis2_om_element_t*)
+                AXIS2_OM_NODE_GET_DATA_ELEMENT(child_node, env);
+            ns = AXIS2_OM_ELEMENT_GET_NAMESPACE(child_ele, env, child_node);
+            if(NULL != ns)
+            {
+                axis2_char_t *child_uri = NULL;
+                child_uri = AXIS2_OM_NAMESPACE_GET_URI(ns, env);
+                if(NULL != child_uri && AXIS2_STRCMP(child_uri, uri) == 0)
+                {
+                    (*child) = child_node;
+                    return child_ele;
+                }
+            }
+        }    
+        child_node = AXIS2_OM_NODE_GET_NEXT_SIBLING(child_node, env);
+    }
+    return NULL;
+}        
+        
+        
+AXIS2_DECLARE(axis2_om_element_t *)
+axis2_om_util_get_next_sibling_element_with_uri(
+        axis2_om_node_t *ele_node,
+        axis2_env_t **env,
+        axis2_char_t *uri,
+        axis2_om_node_t **next_node)
+{
+axis2_om_node_t *next_sib_node = NULL;
+    if(!ele_node || !uri)
+    {
+        AXIS2_ERROR_SET((*env)->error, 
+            AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE);
+        return NULL;
+    }
+
+    next_sib_node = AXIS2_OM_NODE_GET_NEXT_SIBLING(ele_node, env);
+    while(NULL != next_sib_node)
+    {
+        if(AXIS2_OM_NODE_GET_NODE_TYPE(next_sib_node, env) == AXIS2_OM_ELEMENT)
+        {
+            axis2_om_element_t *sib_ele = NULL;
+            axis2_om_namespace_t *ns = NULL;
+            
+            sib_ele = (axis2_om_element_t*)
+                AXIS2_OM_NODE_GET_DATA_ELEMENT(next_sib_node, env);
+            ns = AXIS2_OM_ELEMENT_GET_NAMESPACE(sib_ele, env, next_sib_node);
+            if(NULL != ns)
+            {
+                axis2_char_t *sib_uri = NULL;
+                sib_uri = AXIS2_OM_NAMESPACE_GET_URI(ns, env);
+                if(NULL != sib_uri && AXIS2_STRCMP(sib_uri, uri) == 0)
+                {
+                    (*next_node) = next_sib_node;
+                    return sib_ele;
+                }
+            }
+        }    
+        next_sib_node = AXIS2_OM_NODE_GET_NEXT_SIBLING(next_sib_node, env);
+    }
+    return NULL;
+}        
+        
+        
+
 AXIS2_DECLARE(axis2_om_element_t *)
 axis2_om_util_get_first_child_element(axis2_om_element_t *ele,
                                       axis2_env_t **env,
@@ -926,4 +1014,22 @@
             return AXIS2_OM_NAMESPACE_GET_URI(om_ns, env);                    
     }        
     return NULL;
-}                                                                             
\ No newline at end of file
+} 
+
+AXIS2_DECLARE(axis2_om_child_element_iterator_t*)
+axis2_om_util_get_child_elements(axis2_om_element_t *om_ele, 
+                                 axis2_env_t **env,
+                                 axis2_om_node_t *om_node)
+{
+    axis2_om_element_t *first_ele = NULL;
+    axis2_om_node_t *first_node   = NULL;
+    AXIS2_PARAM_CHECK((*env)->error, om_node, NULL);
+    AXIS2_PARAM_CHECK((*env)->error, om_ele, NULL);
+    first_ele = 
+        AXIS2_OM_ELEMENT_GET_FIRST_ELEMENT(om_ele, env, om_node, &first_node);
+    if(NULL != first_ele)
+    {
+        return axis2_om_child_element_iterator_create(env, first_node);
+    }        
+    return NULL;
+}                                                                                                             
\ No newline at end of file

Modified: webservices/axis2/trunk/c/xml_schema/xml_schema_annotation.c
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/xml_schema/xml_schema_annotation.c?rev=408827&r1=408826&r2=408827&view=diff
==============================================================================
--- webservices/axis2/trunk/c/xml_schema/xml_schema_annotation.c (original)
+++ webservices/axis2/trunk/c/xml_schema/xml_schema_annotation.c Mon May 22 21:08:10 2006
@@ -36,7 +36,7 @@
     
     axis2_xml_schema_obj_t *schema_obj;
     
-    axis2_hash_t *items;
+    axis2_xml_schema_obj_collection_t *items;
 };
 
 
@@ -64,7 +64,7 @@
 axis2_xml_schema_annotation_get_base_impl(void *annotation,
                                 axis2_env_t **env);
 
-axis2_hash_t * AXIS2_CALL
+axis2_xml_schema_obj_collection_t * AXIS2_CALL
 axis2_xml_schema_annotation_get_items(void *annotation,
                         axis2_env_t **env);
 
@@ -115,7 +115,7 @@
     annotation_impl->annotation.ops->get_items = 
         axis2_xml_schema_annotation_get_items;
    
-    annotation_impl->items = axis2_hash_make(env);
+    annotation_impl->items = axis2_xml_schema_obj_collection_create(env);
     if(!annotation_impl->items)
     {
         axis2_xml_schema_annotation_free(&(annotation_impl->annotation), env);
@@ -181,7 +181,7 @@
 
     if(NULL != annotation_impl->items)
     {
-        axis2_hash_free(annotation_impl->items, env);
+        AXIS2_XML_SCHEMA_OBJ_COLLECTION_FREE(annotation_impl->items, env);
         annotation_impl->items = NULL;
     }
     
@@ -231,7 +231,7 @@
     return annotation_impl->schema_obj;
 }
 
-axis2_hash_t *AXIS2_CALL
+axis2_xml_schema_obj_collection_t *AXIS2_CALL
 axis2_xml_schema_annotation_get_items(void *annotation,
                                         axis2_env_t **env)
 {



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org