Index: trunk/src/scriptbuilder/structures/events/CMSEvaluationEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/CMSEvaluationEvent.java	(revision 7)
+++ trunk/src/scriptbuilder/structures/events/CMSEvaluationEvent.java	(revision 36)
@@ -7,4 +7,6 @@
 
 import java.util.ArrayList;
+import scriptbuilder.structures.ELEMENT;
+import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
 
@@ -15,5 +17,5 @@
  * @author Bryan McGuffin
  */
-public class CMSEvaluationEvent extends ScriptEvent implements I_EvaluationEvent
+public class CMSEvaluationEvent extends ScriptEvent implements I_EvaluationEvent, I_XML_Writable
 {
 
@@ -56,3 +58,46 @@
         expectedAction.remove(index);
     }
+
+    @Override
+    public String toXML()
+    {
+        String output = openTag(ELEMENT.CMS_EVALUATION.tag+" cmsID=\""+cmsID+"\" type=\""+cmsType+"\"");
+        output += openTag(ELEMENT.LOCATION.tag);
+        output += location;
+        output += closeTag(ELEMENT.LOCATION.tag);
+        
+        if(message.size() > 0)
+        {
+            output += openTag(ELEMENT.SAMPLE_MESSAGE.tag);
+            for(String str: message)
+            {
+                output += openTag(ELEMENT.CMS_LINE.tag);
+                output += str;
+                output += closeTag(ELEMENT.CMS_LINE.tag);
+            }
+            output += closeTag(ELEMENT.SAMPLE_MESSAGE.tag);
+        }
+        
+        output += closeTag(ELEMENT.CMS_EVALUATION.tag);
+        
+        return output;
+    }
+
+    @Override
+    public String openTag(String s)
+    {
+        return "<" + s + ">\n";
+    }
+
+    @Override
+    public String closeTag(String s)
+    {
+        return "</" + s + ">\n";
+    }
+
+    @Override
+    public String emptyTag(String s)
+    {
+        return "<" + s + "/>\n";
+    }
 }
