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 ha...@apache.org on 2005/11/03 16:24:29 UTC

svn commit: r330565 - /webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp

Author: hawkeye
Date: Thu Nov  3 07:24:26 2005
New Revision: 330565

URL: http://svn.apache.org/viewcvs?rev=330565&view=rev
Log:
new unit test to check that we deserialise attributes correctly in getAnyObject

Modified:
    webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp

Modified: webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp?rev=330565&r1=330564&r2=330565&view=diff
==============================================================================
--- webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp (original)
+++ webservices/axis/trunk/c/src/soap/SoapDeSerializer.cpp Thu Nov  3 07:24:26 2005
@@ -2802,99 +2802,105 @@
 
     if (START_ELEMENT == node->m_type)
     {
-	xmlStr += "<";
-	/* why dont parser set null if there is no
-	 * namespace. Expat set null but not xerces.
-	 * TODO : will have to remove following strcmp s onece Xerces is 
-	 * corrected
-	 */
-	if (node->m_pchNamespace && (strcmp (node->m_pchNamespace, "") != 0))
-	{
-	    pchPrefix = m_pParser->getPrefix4NS (node->m_pchNamespace);
-	    /* why dont parser return null if there is no
-	     * prefix. Expat does but not xerces.
-	     * TODO : will have to remove following strcmp s onece Xerces is 
-	     * corrected
-	     */
-	    if (pchPrefix && (strcmp (pchPrefix, "") != 0))
-	    {
-		xmlStr += pchPrefix;
-		xmlStr += ":";
-	    }
-	}
+    	xmlStr += "<";
+    	/* why dont parser set null if there is no
+    	 * namespace. Expat set null but not xerces.
+    	 * TODO : will have to remove following strcmp s onece Xerces is 
+    	 * corrected
+    	 */
+    	if (node->m_pchNamespace && (strcmp (node->m_pchNamespace, "") != 0))
+    	{
+    	    pchPrefix = m_pParser->getPrefix4NS (node->m_pchNamespace);
+    	    /* why dont parser return null if there is no
+    	     * prefix. Expat does but not xerces.
+    	     * TODO : will have to remove following strcmp s onece Xerces is 
+    	     * corrected
+    	     */
+    	    if (pchPrefix && (strcmp (pchPrefix, "") != 0))
+    	    {
+        		xmlStr += pchPrefix;
+    	   	   xmlStr += ":";
+    	    }
+    	}
+    
+    	xmlStr += node->m_pchNameOrValue;
+
+    	if (!nsDecls.empty ())
+	       xmlStr += nsDecls.c_str ();
+
+    	if (node->m_pchAttributes)
+    	{
+    	    int j;
+    
+    	    /* structure of the m_pchAttributes[] array is,
+    	     * sequence of (local_name, namespace_uri, value)
+    	     */
+    
+    	    for (j = 0; j < 300; j += 3)	/* MAX_NO_OF_ATTRIBUTES = 100 */
+    	    {
+        		if (node->m_pchAttributes[j])
+        		{
+        		    if (node->m_pchAttributes[j + 1])
+        		    {
+            			pchPrefix = m_pParser->getPrefix4NS (node->
+    						     m_pchAttributes[j + 1]);
+        		    }
+    	   	       else
+    		       {
+        	           pchPrefix = NULL;
+                    }
+        		    /* why dont parser return null if there is no
+        		     * prefix. Expat does but not xerces.
+        		     * TODO : will have to remove following strcmp s onece Xerces is 
+        		     * corrected
+        		     */
+        		    if (pchPrefix && (strcmp (pchPrefix, "") != 0))
+    	       	    {
+    	           		xmlStr += " ";
+        			    xmlStr += pchPrefix;
+            			xmlStr += ":";
+        		    }
+                   else
+                   {
+                      // if there is no prefix then we need to add a space
+                      xmlStr +=" ";
+                   }
+        		    xmlStr += node->m_pchAttributes[j];
+        		    xmlStr += "=\"";
+        		    xmlStr += node->m_pchAttributes[j + 2];
+        		    xmlStr += "\"";
+           		}
+        	   	else
+                {
+        		    break;
+                }
+        	 }
+	       }
 
-	xmlStr += node->m_pchNameOrValue;
-
-	if (!nsDecls.empty ())
-	    xmlStr += nsDecls.c_str ();
-
-	if (node->m_pchAttributes)
-	{
-	    int j;
-
-	    /* structure of the m_pchAttributes[] array is,
-	     * sequence of (local_name, namespace_uri, value)
-	     */
-
-	    for (j = 0; j < 300; j += 3)	/* MAX_NO_OF_ATTRIBUTES = 100 */
-	    {
-		if (node->m_pchAttributes[j])
-		{
-		    if (node->m_pchAttributes[j + 1])
-		    {
-			pchPrefix =
-			    m_pParser->getPrefix4NS (node->
-						     m_pchAttributes[j + 1]);
-		    }
-		    else
-		    {
-			pchPrefix = NULL;
-		    }
-		    /* why dont parser return null if there is no
-		     * prefix. Expat does but not xerces.
-		     * TODO : will have to remove following strcmp s onece Xerces is 
-		     * corrected
-		     */
-		    if (pchPrefix && (strcmp (pchPrefix, "") != 0))
-		    {
-			xmlStr += " ";
-			xmlStr += pchPrefix;
-			xmlStr += ":";
-		    }
-		    xmlStr += node->m_pchAttributes[j];
-		    xmlStr += "=\"";
-		    xmlStr += node->m_pchAttributes[j + 2];
-		    xmlStr += "\"";
-		}
-		else
-		    break;
-	    }
-	}
-
-	xmlStr += ">";
+    	xmlStr += ">";
     }
     else if (END_ELEMENT == node->m_type)
     {
-	xmlStr += "</";
-	/* if (node->m_pchNamespace) why dont parser set null if there is no
-	 * namespace. Expat set null but not xerces.
-	 * TODO : will have to remove following strcmp s onece Xerces is 
-	 * corrected
-	 */
-	if (node->m_pchNamespace && (strcmp (node->m_pchNamespace, "") != 0))
-	{
-	    pchPrefix = m_pParser->getPrefix4NS (node->m_pchNamespace);
-	    /* why dont parser return null if there is no
-	     * prefix. Expat does but not xerces.
-	     * TODO : will have to remove following strcmp s onece Xerces is 
-	     * corrected
-	     */
-	    if (pchPrefix && (strcmp (pchPrefix, "") != 0))
-	    {
-		xmlStr += pchPrefix;
-		xmlStr += ":";
-	    }
-	}
+    	xmlStr += "</";
+    	/* if (node->m_pchNamespace) why dont parser set null if there is no
+    	 * namespace. Expat set null but not xerces.
+    	 * TODO : will have to remove following strcmp s onece Xerces is 
+    	 * corrected
+    	 */
+    	if (node->m_pchNamespace && (strcmp (node->m_pchNamespace, "") != 0))
+    	{
+    	    pchPrefix = m_pParser->getPrefix4NS (node->m_pchNamespace);
+    	    /* why dont parser return null if there is no
+    	     * prefix. Expat does but not xerces.
+    	     * TODO : will have to remove following strcmp s onece Xerces is 
+    	     * corrected
+    	     */
+    	    if (pchPrefix && (strcmp (pchPrefix, "") != 0))
+    	    {
+    		xmlStr += pchPrefix;
+    		xmlStr += ":";
+    	    }
+    	}
 
 	xmlStr += node->m_pchNameOrValue;
 	xmlStr += ">";