Index: /trunk/zoo-project/zoo-kernel/response_print.c
===================================================================
--- /trunk/zoo-project/zoo-kernel/response_print.c	(revision 928)
+++ /trunk/zoo-project/zoo-kernel/response_print.c	(revision 929)
@@ -1122,5 +1122,5 @@
     ns1=ns;
 
-  xmlNodePtr nc2,nc3,nc4,nc5,nc6,nc7,nc8,nc9;
+  xmlNodePtr nc2,nc3,nc4,nc5,nc6,nc7,nc8,nc9,nc55=NULL,nc56;
   elements* e=elem;
   nc9=NULL;
@@ -1209,4 +1209,5 @@
 	    xmlAddChild(nc3,nc4);
 	    nc5 = xmlNewNode(NULL, BAD_CAST "LiteralDataDomain");
+	    nc55 = xmlNewNode(NULL, BAD_CAST "LiteralDataDomain");
 	    xmlNewProp(nc5,BAD_CAST "default",BAD_CAST "true");
 	  }
@@ -1416,6 +1417,8 @@
 	    if(vid==0)
 	      xmlAddChild(nc3,nc6);
-	    else
+	    else{
 	      xmlAddChild(nc5,nc6);
+	      xmlAddChild(nc55,nc6);
+	    }
 	    isAnyValue=-1;
 	  }
@@ -1460,7 +1463,4 @@
 		      xmlAddChild(nc5,nc9);
 		  }
-		  if(oI==4 && vid==1){
-		    xmlNewProp(nc9,BAD_CAST "default",BAD_CAST "true");
-		  }
 		}
 		else{
@@ -1473,5 +1473,4 @@
 	    }
 	}
-    
 	if(datatype!=2){
 	  if(hasUOM==true){
@@ -1528,12 +1527,16 @@
 	    if(vid==0)
 	      xmlAddChild(nc3,nc6);
-	    else
+	    else{
 	      xmlAddChild(nc5,nc6);
+	      xmlAddChild(nc55,nc6);
+	    }
 	  }
 	  else
 	    if(vid==0)
 	      xmlAddChild(nc3,xmlNewNode(ns_ows, BAD_CAST "AnyValue"));
-	    else
+	    else{
 	      xmlAddChild(nc5,xmlNewNode(ns_ows, BAD_CAST "AnyValue"));
+	      xmlAddChild(nc55,xmlNewNode(ns_ows, BAD_CAST "AnyValue"));
+	    }
 	}
 
@@ -1547,6 +1550,8 @@
 	    if(vid==0)
 	      xmlAddChild(nc3,nc8);
-	    else
+	    else{
 	      xmlAddChild(nc5,nc8);
+	      xmlAddChild(nc55,nc8);
+	    }
 	    datatype=1;
 	  }
@@ -1554,8 +1559,4 @@
 	    tmp1=getMap(_tmp->content,"uom");
 	    if(tmp1!=NULL){
-	      char *tmp2=zCapitalize(tmp1->name);
-	      nc9 = xmlNewNode(ns_ows, BAD_CAST tmp2);
-	      free(tmp2);
-	      xmlAddChild(nc9,xmlNewText(BAD_CAST tmp1->value));
 	      xmlAddChild(nc5,nc9);
 	    }
@@ -1565,4 +1566,5 @@
 	    xmlAddChild(nc7,xmlNewText(BAD_CAST tmp1->value));
 	    xmlAddChild(nc5,nc7);
+	    xmlAddChild(nc55,nc7);
 	  }
 	}
@@ -1586,4 +1588,5 @@
 
       while(_tmp!=NULL){
+	
 	if(hasSupported<0){
 	  if(datatype==0){
@@ -1664,5 +1667,11 @@
 		}
 		else{
-		  xmlFreeNode(nc6);
+		  if(oI!=4)
+		    xmlFreeNode(nc6);
+		  else{
+		    nc56=xmlCopyNode(nc55,1);
+		    xmlReplaceNode(xmlGetLastChild(nc56),nc6);
+		    xmlAddChild(nc3,nc56);
+		  }
 		}
 	      }
@@ -1680,6 +1689,5 @@
 	    }
 	    else{
-	      if(datatype!=2)
-		xmlAddChild(nc3,nc5);
+	      xmlAddChild(nc3,nc5);
 	    }
 
@@ -1723,5 +1731,4 @@
 	}
 	else{
-	  xmlFreeNode(nc4);
 	  xmlAddChild(nc3,nc5);
 	}
@@ -1733,5 +1740,4 @@
 	xmlAddChild(nc3,nc7);
       }
-    
       xmlAddChild(nc2,nc3);
     }else{
