From 71a22813e13613dd0482a378e1a7a5736c14c84f Mon Sep 17 00:00:00 2001
From: juanf <juanf>
Date: Mon, 13 Apr 2015 10:25:11 +0000
Subject: [PATCH] SSDM-1717: Proper XML parser.

SVN: 33812
---
 .../newbrowser/html/js/util/FormUtil.js       | 29 +++++--------------
 .../html/js/views/legacy/SampleLinksWidget.js |  4 +--
 2 files changed, 10 insertions(+), 23 deletions(-)

diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/util/FormUtil.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/util/FormUtil.js
index e2ab960e1dd..ae6b104a57c 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/util/FormUtil.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/util/FormUtil.js
@@ -21,35 +21,22 @@ var FormUtil = new function() {
 	//
 	
 	this.getXMLFromAnnotations = function(stateObj) {
-		var xmlDoc = "<root>";
+		var rootNode = document.createElementNS("http://www.w3.org/1999/xhtml", "root");
 		
 		for(var permId in stateObj) {
-			xmlDoc	+= "<Sample permId=\"" + permId + "\""; 
-			for(var propertyTypeCode in stateObj[permId]) {
-				if(propertyTypeCode === "identifier") {
-					var propertyTypeValue = stateObj[permId][propertyTypeCode];
-					xmlDoc	+= " " + propertyTypeCode + "=\"" + propertyTypeValue +"\"";
-				}
-			}
-			
-			for(var propertyTypeCode in stateObj[permId]) {
-				if(propertyTypeCode === "sampleType") {
-					var propertyTypeValue = stateObj[permId][propertyTypeCode];
-					xmlDoc	+= " " + propertyTypeCode + "=\"" + propertyTypeValue +"\"";
-				}
-			}
+			var sampleNode	= document.createElementNS("http://www.w3.org/1999/xhtml", "Sample");
+			sampleNode.setAttributeNS(null, "permId", permId);
 			
 			for(var propertyTypeCode in stateObj[permId]) {
-				if(propertyTypeCode !== "identifier" && propertyTypeCode !== "sampleType") {
-					var propertyTypeValue = stateObj[permId][propertyTypeCode];
-					xmlDoc	+= " " + propertyTypeCode + "=\"" + propertyTypeValue +"\"";
-				}
+				var propertyTypeValue = stateObj[permId][propertyTypeCode];
+				sampleNode.setAttributeNS(null, propertyTypeCode, propertyTypeValue);
 			}
 			
-			xmlDoc	+= " />";
+			rootNode.appendChild(sampleNode);
 		}
 		
-		xmlDoc	+= "</root>";
+		var serializer = new XMLSerializer();
+		var xmlDoc = serializer.serializeToString(rootNode);
 		return xmlDoc;
 	}
 	
diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/legacy/SampleLinksWidget.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/legacy/SampleLinksWidget.js
index c25e2421fa4..f63e9929e37 100644
--- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/legacy/SampleLinksWidget.js
+++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/legacy/SampleLinksWidget.js
@@ -519,7 +519,7 @@ function SampleLinksWidget(containerId, profile, serverFacade, title, sampleType
 			if(name) {
 				var infoName = $("<span>")
 						.append($("<b>").append("&nbsp;Name: "))
-						.append(name);
+						.append($("<span>").text(name));
 				info.append(infoName);
 			}
 			
@@ -548,7 +548,7 @@ function SampleLinksWidget(containerId, profile, serverFacade, title, sampleType
 					}
 					
 					if(this.isDisabled) {
-						item.after(sampleState[propertyTypeCode]);
+						item.after($("<span>").text(sampleState[propertyTypeCode]));
 					}
 				}
 				
-- 
GitLab