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)