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 sa...@apache.org on 2005/10/20 11:25:09 UTC

svn commit: r326870 - in /webservices/axis2/trunk/c: include/axis2_error.h modules/test/om/src/test_om.c modules/xml/om/src/axis2_om_stax_builder.c

Author: samisa
Date: Thu Oct 20 02:24:46 2005
New Revision: 326870

URL: http://svn.apache.org/viewcvs?rev=326870&view=rev
Log:
Fixed the namepace prefix not being tracked bug in the element 

Modified:
    webservices/axis2/trunk/c/include/axis2_error.h
    webservices/axis2/trunk/c/modules/test/om/src/test_om.c
    webservices/axis2/trunk/c/modules/xml/om/src/axis2_om_stax_builder.c

Modified: webservices/axis2/trunk/c/include/axis2_error.h
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/include/axis2_error.h?rev=326870&r1=326869&r2=326870&view=diff
==============================================================================
--- webservices/axis2/trunk/c/include/axis2_error.h (original)
+++ webservices/axis2/trunk/c/include/axis2_error.h Thu Oct 20 02:24:46 2005
@@ -57,6 +57,7 @@
 	AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL,
 	AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD,
 	AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL,
+	AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE,
 	AXIS2_ERROR_UNALLOCATED_MEMEORY_RELEASE_REQUESTED
 } axis2_error_codes_t;
 

Modified: webservices/axis2/trunk/c/modules/test/om/src/test_om.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/test/om/src/test_om.c?rev=326870&r1=326869&r2=326870&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/test/om/src/test_om.c (original)
+++ webservices/axis2/trunk/c/modules/test/om/src/test_om.c Thu Oct 20 02:24:46 2005
@@ -50,9 +50,11 @@
     node1 = axis2_om_document_get_root_element (environment, document);
     printf ("root localname %s\n",
             ((axis2_om_element_t *) (node1->data_element))->localname);
-    printf ("root ns prefix %s\n",
+    if (((axis2_om_element_t *)(node1->data_element))->ns)
+        printf ("root ns prefix %s\n",
             ((axis2_om_element_t *) (node1->data_element))->ns->prefix);
-    printf ("root ns uri %s\n",
+    if (((axis2_om_element_t *)(node1->data_element))->ns)
+        printf ("root ns uri %s\n",
             ((axis2_om_element_t *) (node1->data_element))->ns->uri);
 
 

Modified: webservices/axis2/trunk/c/modules/xml/om/src/axis2_om_stax_builder.c
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/c/modules/xml/om/src/axis2_om_stax_builder.c?rev=326870&r1=326869&r2=326870&view=diff
==============================================================================
--- webservices/axis2/trunk/c/modules/xml/om/src/axis2_om_stax_builder.c (original)
+++ webservices/axis2/trunk/c/modules/xml/om/src/axis2_om_stax_builder.c Thu Oct 20 02:24:46 2005
@@ -271,6 +271,7 @@
 	axis2_status_t status = AXIS2_SUCCESS;	
 	int namespace_count = 0;	
 	axis2_om_namespace_t *om_ns = NULL;
+	axis2_char_t *temp_prefix = NULL;
 	
 	namespace_count = guththila_xml_pull_parser_get_namespacecount (builder->parser);
 	
@@ -289,8 +290,25 @@
 		}	
 	}
 	/* set own namespace */
+	temp_prefix = guththila_xml_pull_parser_get_prefix(builder->parser);
 	
-	ns = guththila_xml_pull_parser_get_namespace(builder->parser);
+	if (temp_prefix)
+	{
+		om_ns =  axis2_om_element_find_namespace(environment, node, NULL, temp_prefix);
+		
+		if (om_ns)
+		{
+				((axis2_om_element_t*)(node->data_element))->ns = om_ns;
+		}
+		else
+		{
+			environment->error->errorno = AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE;
+			return AXIS2_FAILURE;
+		}
+		
+	}
+	
+	/*ns = guththila_xml_pull_parser_get_namespace(builder->parser);
 	nsuri  = guththila_xml_pull_parser_get_namespace_uri(builder->parser, ns);
 	prefix = guththila_xml_pull_parser_get_namespace_prefix(builder->parser, ns);
     
@@ -309,7 +327,7 @@
 				}
 				else
 				{
-					/* something went wrong */
+
 					return AXIS2_FAILURE;
 				}
 			}
@@ -332,7 +350,6 @@
 				}
 				else
 				{
-					/* something went wrong */
 					return AXIS2_FAILURE;
 				}
 			}
@@ -342,7 +359,7 @@
 				((axis2_om_element_t*)(node->data_element))->ns = om_ns;
 			}
 		}
-	}
+	}*/
 	
 	return status;
 }
@@ -352,6 +369,7 @@
 {
 	axis2_om_node_t *element_node;
 	axis2_char_t *localname = NULL;
+	
 	axis2_char_t *temp_localname = guththila_xml_pull_parser_get_name (builder->parser);
 	
 	if (!temp_localname)