Index: trunk/src/scriptbuilder/structures/events/UnitEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/UnitEvent.java	(revision 1)
+++ trunk/src/scriptbuilder/structures/events/UnitEvent.java	(revision 35)
@@ -6,4 +6,6 @@
 package scriptbuilder.structures.events;
 
+import scriptbuilder.structures.ELEMENT;
+import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
 
@@ -14,5 +16,5 @@
  * @author Bryan McGuffin
  */
-public class UnitEvent extends ScriptEvent
+public class UnitEvent extends ScriptEvent implements I_XML_Writable
 {
 
@@ -29,3 +31,29 @@
 
     public String unitNum = "";
+    
+    @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";
+    }
+
+    @Override
+    public String toXML()
+    {
+        return emptyTag(ELEMENT.UNIT.tag+" UnitNum=\""+unitNum+"\" Status=\""
+                +unitStatus+"\" Primary=\""+unitPrimary+"\" Active=\""+unitActive+"\"");
+    }
+
 }
Index: trunk/src/scriptbuilder/structures/events/TelephoneEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/TelephoneEvent.java	(revision 1)
+++ trunk/src/scriptbuilder/structures/events/TelephoneEvent.java	(revision 35)
@@ -7,4 +7,6 @@
 
 import java.util.ArrayList;
+import scriptbuilder.structures.ELEMENT;
+import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
 
@@ -16,5 +18,5 @@
  * @author Bryan McGuffin
  */
-public class TelephoneEvent extends ScriptEvent
+public class TelephoneEvent extends ScriptEvent implements I_XML_Writable
 {
 
@@ -28,3 +30,43 @@
     public ArrayList<String> roles = new ArrayList<String>();
 
+    @Override
+    public String toXML()
+    {
+        String output = openTag(ELEMENT.TELEPHONE.tag);
+        for (int i = 0; i < lines.size(); i++)
+        {
+            if (roles.get(i).equalsIgnoreCase(ELEMENT.STUDENT.tag))
+            {
+                output += openTag(ELEMENT.STUDENT.tag);
+                output += lines.get(i);
+                output += closeTag(ELEMENT.STUDENT.tag);
+            }
+            else
+            {
+                output += openTag(ELEMENT.INSTRUCTOR.tag + " Role=\"" + roles.get(i) + "\"");
+                output += lines.get(i);
+                output += closeTag(ELEMENT.INSTRUCTOR.tag);
+            }
+        }
+        output += closeTag(ELEMENT.TELEPHONE.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";
+    }
 }
Index: trunk/src/scriptbuilder/structures/events/CADEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/CADEvent.java	(revision 1)
+++ trunk/src/scriptbuilder/structures/events/CADEvent.java	(revision 35)
@@ -6,4 +6,6 @@
 package scriptbuilder.structures.events;
 
+import scriptbuilder.structures.ELEMENT;
+import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
 
@@ -14,5 +16,5 @@
  * @author Bryan McGuffin
  */
-public class CADEvent extends ScriptEvent
+public class CADEvent extends ScriptEvent implements I_XML_Writable
 {
 
@@ -26,3 +28,30 @@
     public String detail = "";
 
+    @Override
+    public String toXML()
+    {
+        String output = openTag(ELEMENT.DETAIL.tag);
+        output += detail;
+        output += closeTag(ELEMENT.DETAIL.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";
+    }
+
 }
Index: trunk/src/scriptbuilder/structures/events/CHPRadioEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/CHPRadioEvent.java	(revision 1)
+++ trunk/src/scriptbuilder/structures/events/CHPRadioEvent.java	(revision 35)
@@ -7,4 +7,6 @@
 
 import java.util.ArrayList;
+import scriptbuilder.structures.ELEMENT;
+import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
 
@@ -16,5 +18,5 @@
  * @author Bryan McGuffin
  */
-public class CHPRadioEvent extends ScriptEvent
+public class CHPRadioEvent extends ScriptEvent implements I_XML_Writable
 {
 
@@ -30,3 +32,40 @@
     public String radioFile = "";
 
+    @Override
+    public String toXML()
+    {
+        String output = openTag(ELEMENT.CHP_RADIO.tag + " RadioFile=\"" + radioFile + "\"");
+        output += openTag(ELEMENT.DIALOG.tag);
+
+        for (int i = 0; i < lines.size(); i++)
+        {
+            output += openTag(ELEMENT.LINE.tag + " Role=\"" + roles.get(i) + "\"");
+            output += lines.get(i);
+            output += closeTag(ELEMENT.LINE.tag);
+        }
+
+        output += closeTag(ELEMENT.DIALOG.tag);
+        output += closeTag(ELEMENT.CHP_RADIO.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";
+    }
+
 }
Index: trunk/src/scriptbuilder/structures/events/ParamicsEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/ParamicsEvent.java	(revision 1)
+++ trunk/src/scriptbuilder/structures/events/ParamicsEvent.java	(revision 35)
@@ -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 ParamicsEvent extends ScriptEvent
+public class ParamicsEvent extends ScriptEvent implements I_XML_Writable
 {
 
@@ -31,3 +33,45 @@
     public String locationID = "";
 
+    @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";
+    }
+
+    @Override
+    public String toXML()
+    {
+        String output = openTag(ELEMENT.PARAMICS.tag + " LocationID=\"" + locationID + "\"");
+
+        output += openTag(ELEMENT.Status.tag);
+        output += status;
+        output += closeTag(ELEMENT.Status.tag);
+
+        output += openTag(ELEMENT.Incident_type.tag);
+        output += type;
+        output += closeTag(ELEMENT.Incident_type.tag);
+
+        for (Integer lane : laneNums)
+        {
+            output += openTag(ELEMENT.Lane_number.tag);
+            output += lane;
+            output += closeTag(ELEMENT.Lane_number.tag);
+        }
+        output += closeTag(ELEMENT.PARAMICS.tag);
+
+        return output;
+    }
+
 }
Index: trunk/src/scriptbuilder/structures/events/AudioEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/AudioEvent.java	(revision 1)
+++ trunk/src/scriptbuilder/structures/events/AudioEvent.java	(revision 35)
@@ -6,4 +6,6 @@
 package scriptbuilder.structures.events;
 
+import scriptbuilder.structures.ELEMENT;
+import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
 
@@ -14,5 +16,5 @@
  * @author Bryan McGuffin
  */
-public class AudioEvent extends ScriptEvent
+public class AudioEvent extends ScriptEvent implements I_XML_Writable
 {
 
@@ -25,3 +27,27 @@
 
     public String audioPath = "";
+
+    @Override
+    public String toXML()
+    {
+        return emptyTag(ELEMENT.AUDIO.tag + " Length=\"" + audioLength + "\" Path=\"" + audioPath + "\"");
+    }
+
+    @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";
+    }
 }
