Index: trunk/src/scriptbuilder/structures/ScriptEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/ScriptEvent.java	(revision 7)
+++ trunk/src/scriptbuilder/structures/ScriptEvent.java	(revision 46)
@@ -42,19 +42,19 @@
     public static enum ScriptEventType
     {
+        CAD_EVENT("CAD"),
+        UNIT_EVENT("Unit"),
         AUDIO_EVENT("Audio"),
-        CAD_EVENT("CAD"),
         CCTV_EVENT("CCTV"),
         CHP_RADIO_EVENT("CHPRadio"),
         PARAMICS_EVENT("Paramics"),
         TOW_EVENT("Tow"),
-        UNIT_EVENT("Unit"),
         WITNESS_EVENT("Witness"),
+        TELEPHONE_EVENT("Telephone"),
         MAINTENANCE_RADIO_EVENT("MaintenanceRadio"),
         TMT_RADIO_EVENT("TMTRadio"),
-        TELEPHONE_EVENT("Telephone"),
+        CAD_EVAL_EVENT("CADEval"),
         ATMS_EVAL_EVENT("ATMSEval"),
+        CMS_EVAL_EVENT("CMSEval"),
         ACTIVITY_LOG_EVAL_EVENT("ActivityLogEval"),
-        CAD_EVAL_EVENT("CADEval"),
-        CMS_EVAL_EVENT("CMSEval"),
         FACILITATOR_EVAL_EVENT("FacilitatorEval"),
         RADIO_EVAL_EVENT("RadioEval");
Index: trunk/src/scriptbuilder/structures/SimulationScript.java
===================================================================
--- trunk/src/scriptbuilder/structures/SimulationScript.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/SimulationScript.java	(revision 46)
@@ -186,14 +186,14 @@
         String output = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
         output += "<!DOCTYPE TMC_SCRIPT SYSTEM \"script.dtd\">\n";
-        output += openTag(ELEMENT.TMC_SCRIPT.tag + " title=\"" + this.title + "\"");
+        output += XMLWriter.openTag(ELEMENT.TMC_SCRIPT.tag + " title=\"" + this.title + "\"");
 
         if (units.size() > 0)
         {
-            output += openTag(ELEMENT.SCRIPT_DATA.tag);
+            output += XMLWriter.openTag(ELEMENT.SCRIPT_DATA.tag);
             for (Unit unit : units)
             {
                 output += unit.toXML();
             }
-            output += closeTag(ELEMENT.SCRIPT_DATA.tag);
+            output += XMLWriter.closeTag(ELEMENT.SCRIPT_DATA.tag);
         }
         for (TimeSlice slice : slices)
@@ -201,26 +201,7 @@
             output += slice.toXML();
         }
-        output += closeTag(ELEMENT.TMC_SCRIPT.tag);
+        output += XMLWriter.closeTag(ELEMENT.TMC_SCRIPT.tag);
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
-
     /**
      * Arranges all timeslices in this script in chronological order, then by
Index: trunk/src/scriptbuilder/structures/XMLWriter.java
===================================================================
--- trunk/src/scriptbuilder/structures/XMLWriter.java	(revision 46)
+++ trunk/src/scriptbuilder/structures/XMLWriter.java	(revision 46)
@@ -0,0 +1,39 @@
+package scriptbuilder.structures;
+
+/**
+ *
+ * @author Bryan McGuffin
+ */
+public class XMLWriter
+{
+
+    public static String openTag(String s)
+    {
+        return "<" + s + ">";
+    }
+
+    public static String closeTag(String s)
+    {
+        return "</" + s + ">\n";
+    }
+
+    public static String emptyTag(String s)
+    {
+        return "<" + s + "/>\n";
+    }
+
+    public static String simpleTag(String s, ELEMENT e)
+    {
+        String output = "";
+        if (s == null)
+        {
+            s = "";
+        }
+
+        output += openTag(e.tag);
+        output += s;
+        output += closeTag(e.tag);
+
+        return output;
+    }
+}
Index: trunk/src/scriptbuilder/structures/TimeSlice.java
===================================================================
--- trunk/src/scriptbuilder/structures/TimeSlice.java	(revision 40)
+++ trunk/src/scriptbuilder/structures/TimeSlice.java	(revision 46)
@@ -22,4 +22,5 @@
 public class TimeSlice implements Comparable, I_XML_Writable
 {
+
     CadData cadData = null;
 
@@ -213,17 +214,19 @@
 
         System.out.println("Seconds:: " + seconds);
-        String output = openTag(ELEMENT.SCRIPT_EVENT.tag);
+        String output = XMLWriter.openTag(ELEMENT.SCRIPT_EVENT.tag);
         SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
         df.setTimeZone(TimeZone.getTimeZone("GMT"));
-        output += openTag(ELEMENT.TIME_INDEX.tag) + df.format(new Date(seconds * 1000))
-                + closeTag(ELEMENT.TIME_INDEX.tag);
-
-        output += openTag(ELEMENT.INCIDENT.tag + " LogNum=\"" + thisIncident.number + "\"");
-        output += thisIncident.name + closeTag(ELEMENT.INCIDENT.tag);
-
-        output += openTag(ELEMENT.CAD_DATA.tag);
+        output += XMLWriter.openTag(ELEMENT.TIME_INDEX.tag) + df.format(new Date(seconds * 1000))
+                + XMLWriter.closeTag(ELEMENT.TIME_INDEX.tag);
+
+        output += XMLWriter.openTag(ELEMENT.INCIDENT.tag + " LogNum=\"" + thisIncident.number + "\"");
+        output += thisIncident.name + XMLWriter.closeTag(ELEMENT.INCIDENT.tag);
+
+        output += XMLWriter.openTag(ELEMENT.CAD_DATA.tag);
+        output += cadData.toXML();
+        output += XMLWriter.openTag(ELEMENT.CAD_INCIDENT_EVENT.tag);
         if (containsCADIncidentEvent())
         {
-            output += openTag(ELEMENT.CAD_INCIDENT_EVENT.tag);
+
             for (I_ScriptEvent ev : eventsCopy)
             {
@@ -241,7 +244,20 @@
             eventsCopy = eventsCopy2;
 
-            output += closeTag(ELEMENT.CAD_INCIDENT_EVENT.tag);
-        }
-        output += closeTag(ELEMENT.CAD_DATA.tag);
+        }
+        output += XMLWriter.closeTag(ELEMENT.CAD_INCIDENT_EVENT.tag);
+
+        output += XMLWriter.closeTag(ELEMENT.CAD_DATA.tag);
+
+        if (cadData.hasGeneralInfo())
+        {
+            output += XMLWriter.openTag(ELEMENT.GENERAL_INFO.tag);
+
+            output += XMLWriter.simpleTag(cadData.General_Title, ELEMENT.TITLE);
+
+            output += XMLWriter.simpleTag(cadData.General_Text, ELEMENT.TEXT);
+
+            output += XMLWriter.closeTag(ELEMENT.GENERAL_INFO.tag);
+
+        }
 
         for (I_ScriptEvent ev : eventsCopy)
@@ -253,25 +269,7 @@
             }
         }
-        output += closeTag(ELEMENT.SCRIPT_EVENT.tag);
+        output += XMLWriter.closeTag(ELEMENT.SCRIPT_EVENT.tag);
         System.out.println(output);
         return output;
-    }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
     }
 
Index: trunk/src/scriptbuilder/structures/CadData.java
===================================================================
--- trunk/src/scriptbuilder/structures/CadData.java	(revision 43)
+++ trunk/src/scriptbuilder/structures/CadData.java	(revision 46)
@@ -65,120 +65,86 @@
         if (!Master_Inc_Num.equals(""))
         {
-            output += openTag(ELEMENT.MASTER_INC_NUM.tag);
-            output += Master_Inc_Num;
-            output += closeTag(ELEMENT.MASTER_INC_NUM.tag);
+            output += XMLWriter.simpleTag(Master_Inc_Num, ELEMENT.MASTER_INC_NUM);
         }
 
         if (!P.equals(""))
         {
-            output += openTag(ELEMENT.P.tag);
-            output += P;
-            output += closeTag(ELEMENT.P.tag);
+            output += XMLWriter.simpleTag(P, ELEMENT.P);
         }
 
         if (hasAdditionalInfo())
         {
-            output += openTag(ELEMENT.ADDITIONAL_INFO.tag);
-            output += openTag(ELEMENT.TYPE_CODE.tag);
-            output += Info_Type_Code;
-            output += closeTag(ELEMENT.TYPE_CODE.tag);
-            output += openTag(ELEMENT.TYPE.tag);
-            output += Info_Type;
-            output += closeTag(ELEMENT.TYPE.tag);
-            output += closeTag(ELEMENT.ADDITIONAL_INFO.tag);
+            output += XMLWriter.openTag(ELEMENT.ADDITIONAL_INFO.tag);
+            output += XMLWriter.simpleTag(Info_Type_Code, ELEMENT.TYPE_CODE);
+            output += XMLWriter.simpleTag(Info_Type, ELEMENT.TYPE);
+            output += XMLWriter.closeTag(ELEMENT.ADDITIONAL_INFO.tag);
         }
 
         if (hasLocation())
         {
-            output += openTag(ELEMENT.LOCATION.tag);
+            output += XMLWriter.openTag(ELEMENT.LOCATION.tag);
             if (!Location_Beat.equals(""))
             {
-                output += openTag(ELEMENT.BEAT.tag);
-                output += Location_Beat;
-                output += closeTag(ELEMENT.BEAT.tag);
+                output += XMLWriter.simpleTag(Location_Beat, ELEMENT.BEAT);
             }
 
             if (!Location_Address.equals(""))
             {
-                output += openTag(ELEMENT.ADDRESS.tag);
-                output += Location_Address;
-                output += closeTag(ELEMENT.ADDRESS.tag);
+                output += XMLWriter.simpleTag(Location_Address, ELEMENT.ADDRESS);
             }
 
             if (!Location_Loc.equals(""))
             {
-                output += openTag(ELEMENT.LOC.tag);
-                output += Location_Loc;
-                output += closeTag(ELEMENT.LOC.tag);
+                output += XMLWriter.simpleTag(Location_Loc, ELEMENT.LOC);
             }
 
             if (!Location_City.equals(""))
             {
-                output += openTag(ELEMENT.CITY.tag);
-                output += Location_City;
-                output += closeTag(ELEMENT.CITY.tag);
+                output += XMLWriter.simpleTag(Location_City, ELEMENT.CITY);
             }
 
             if (!Location_Area.equals(""))
             {
-                output += openTag(ELEMENT.AREA.tag);
-                output += Location_Area;
-                output += closeTag(ELEMENT.AREA.tag);
+                output += XMLWriter.simpleTag(Location_Area, ELEMENT.AREA);
             }
 
             if (!Location_Fire.equals(""))
             {
-                output += openTag(ELEMENT.FIRE.tag);
-                output += Location_Fire;
-                output += closeTag(ELEMENT.FIRE.tag);
+                output += XMLWriter.simpleTag(Location_Fire, ELEMENT.FIRE);
             }
 
             if (!Location_Law.equals(""))
             {
-                output += openTag(ELEMENT.LAW.tag);
-                output += Location_Law;
-                output += closeTag(ELEMENT.LAW.tag);
+                output += XMLWriter.simpleTag(Location_Law, ELEMENT.LAW);
             }
 
             if (!Location_Ems.equals(""))
             {
-                output += openTag(ELEMENT.EMS.tag);
-                output += Location_Ems;
-                output += closeTag(ELEMENT.EMS.tag);
+                output += XMLWriter.simpleTag(Location_Ems, ELEMENT.EMS);
             }
 
-            output += closeTag(ELEMENT.LOCATION.tag);
+            output += XMLWriter.closeTag(ELEMENT.LOCATION.tag);
         }
 
         if (!Agy.equals(""))
         {
-            output += openTag(ELEMENT.GENERAL.tag);
-            output += openTag(ELEMENT.AGY.tag);
-            output += Agy;
-            output += closeTag(ELEMENT.AGY.tag);
-            output += closeTag(ELEMENT.GENERAL.tag);
+            output += XMLWriter.openTag(ELEMENT.GENERAL.tag);
+            output += XMLWriter.simpleTag(Agy, ELEMENT.AGY);
+            output += XMLWriter.closeTag(ELEMENT.GENERAL.tag);
         }
 
         if (hasHeaderInfo())
         {
-            output += openTag(ELEMENT.HEADER_INFO.tag);
+            output += XMLWriter.openTag(ELEMENT.HEADER_INFO.tag);
 
-            output += openTag(ELEMENT.Type.tag);
-            output += Header_Type;
-            output += closeTag(ELEMENT.Type.tag);
+            output += XMLWriter.simpleTag(Header_Type, ELEMENT.Type);
 
-            output += openTag(ELEMENT.Beat.tag);
-            output += Header_Beat;
-            output += closeTag(ELEMENT.Beat.tag);
+            output += XMLWriter.simpleTag(Header_Beat, ELEMENT.Beat);
+            
+            output += XMLWriter.simpleTag(Header_TruncLoc, ELEMENT.TruncLoc);
+            
+            output += XMLWriter.simpleTag(Header_FullLoc, ELEMENT.FullLoc);
 
-            output += openTag(ELEMENT.TruncLoc.tag);
-            output += Header_TruncLoc;
-            output += closeTag(ELEMENT.TruncLoc.tag);
-
-            output += openTag(ELEMENT.FullLoc.tag);
-            output += Header_FullLoc;
-            output += closeTag(ELEMENT.FullLoc.tag);
-
-            output += closeTag(ELEMENT.HEADER_INFO.tag);
+            output += XMLWriter.closeTag(ELEMENT.HEADER_INFO.tag);
         }
 
@@ -192,22 +158,4 @@
 
         return output;
-    }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
     }
 
Index: trunk/src/scriptbuilder/structures/I_XML_Writable.java
===================================================================
--- trunk/src/scriptbuilder/structures/I_XML_Writable.java	(revision 29)
+++ trunk/src/scriptbuilder/structures/I_XML_Writable.java	(revision 46)
@@ -9,10 +9,3 @@
 {
     String toXML();
-    
-    String openTag(String s);
-    
-    String closeTag(String s);
-    
-    String emptyTag(String s);
-    
 }
Index: trunk/src/scriptbuilder/structures/ScriptIncident.java
===================================================================
--- trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 40)
+++ trunk/src/scriptbuilder/structures/ScriptIncident.java	(revision 46)
@@ -241,5 +241,5 @@
         String output = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
         output += "<!DOCTYPE TMC_SCRIPT SYSTEM \"script.dtd\">";
-        output += openTag(ELEMENT.TMC_SCRIPT.tag + " title=\"" + this.script.title + "\"");
+        output += XMLWriter.openTag(ELEMENT.TMC_SCRIPT.tag + " title=\"" + this.script.title + "\"");
 
         for (TimeSlice slice : slices.values())
@@ -247,24 +247,6 @@
             output += slice.toXML();
         }
-        output += closeTag(ELEMENT.TMC_SCRIPT.tag);
+        output += XMLWriter.closeTag(ELEMENT.TMC_SCRIPT.tag);
         return output;
-    }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
     }
 
Index: trunk/src/scriptbuilder/structures/units/Unit.java
===================================================================
--- trunk/src/scriptbuilder/structures/units/Unit.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/units/Unit.java	(revision 46)
@@ -8,4 +8,5 @@
 import scriptbuilder.structures.ELEMENT;
 import scriptbuilder.structures.I_XML_Writable;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -105,121 +106,99 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.NEW_UNIT.tag + " UnitNum=\"" + UnitNum + "\"");
+        String output = XMLWriter.openTag(ELEMENT.NEW_UNIT.tag + " UnitNum=\"" + UnitNum + "\"");
 
         if (!ID.equals(""))
         {
-            output += openTag(ELEMENT.ID.tag) + ID + closeTag(ELEMENT.ID.tag);
+            output += XMLWriter.simpleTag(ID, ELEMENT.ID);
         }
 
         if (!Status.equals(""))
         {
-            output += openTag(ELEMENT.STATUS.tag) + Status + closeTag(ELEMENT.STATUS.tag);
+            output += XMLWriter.simpleTag(Status, ELEMENT.STATUS);
         }
 
         if (!Master_Inc_Num.equals(""))
         {
-            output += openTag(ELEMENT.MASTER_INC_NUM.tag) + Master_Inc_Num + closeTag(ELEMENT.MASTER_INC_NUM.tag);
+            output += XMLWriter.simpleTag(Master_Inc_Num, ELEMENT.MASTER_INC_NUM);
         }
 
         if (!Primary.equals(""))
         {
-            output += openTag(ELEMENT.PRIMARY.tag) + Primary + closeTag(ELEMENT.PRIMARY.tag);
+            output += XMLWriter.simpleTag(Primary, ELEMENT.PRIMARY);
         }
 
         if (!OOS.equals(""))
         {
-            output += openTag(ELEMENT.OOS.tag) + OOS + closeTag(ELEMENT.OOS.tag);
+            output += XMLWriter.simpleTag(OOS, ELEMENT.OOS);
         }
 
         if (!Type.equals(""))
         {
-            output += openTag(ELEMENT.TYPE.tag) + Type + closeTag(ELEMENT.TYPE.tag);
-        }
-
-        if (!Curr_Loc.equals(""))
-        {
-            output += openTag(ELEMENT.CURR_LOC.tag) + Curr_Loc + closeTag(ELEMENT.CURR_LOC.tag);
-        }
-
-        if (!Destination.equals(""))
-        {
-            output += openTag(ELEMENT.DESTINATION.tag) + Destination + closeTag(ELEMENT.DESTINATION.tag);
-        }
+            output += XMLWriter.simpleTag(Type, ELEMENT.TYPE);
+        }
+
+        //All units have a current location field, even if it's blank
+        output += XMLWriter.simpleTag(Curr_Loc, ELEMENT.CURR_LOC);
+
+        //All units have a destination field, even if it's blank
+        output += XMLWriter.simpleTag(Destination, ELEMENT.DESTINATION);
 
         if (!Misc_Info.equals(""))
         {
-            output += openTag(ELEMENT.MISC_INFO.tag) + Misc_Info + closeTag(ELEMENT.MISC_INFO.tag);
+            output += XMLWriter.simpleTag(Misc_Info, ELEMENT.MISC_INFO);
         }
 
         if (!Stack.equals(""))
         {
-            output += openTag(ELEMENT.STACK.tag) + Stack + closeTag(ELEMENT.STACK.tag);
+            output += XMLWriter.simpleTag(Stack, ELEMENT.STACK);
         }
 
         if (!Area.equals(""))
         {
-            output += openTag(ELEMENT.AREA.tag) + Area + closeTag(ELEMENT.AREA.tag);
+            output += XMLWriter.simpleTag(Area, ELEMENT.AREA);
         }
 
         if (!Badge_Num.equals(""))
         {
-            output += openTag(ELEMENT.BADGE_NUM.tag) + Badge_Num + closeTag(ELEMENT.BADGE_NUM.tag);
+            output += XMLWriter.simpleTag(Badge_Num, ELEMENT.BADGE_NUM);
         }
 
         if (!Officer.equals(""))
         {
-            output += openTag(ELEMENT.OFFICER.tag) + Officer + closeTag(ELEMENT.OFFICER.tag);
+            output += XMLWriter.simpleTag(Officer, ELEMENT.OFFICER);
         }
 
         if (!Office.equals(""))
         {
-            output += openTag(ELEMENT.OFFICE.tag) + Office + closeTag(ELEMENT.OFFICE.tag);
+            output += XMLWriter.simpleTag(Office, ELEMENT.OFFICE);
         }
 
         if (!Timer.equals(""))
         {
-            output += openTag(ELEMENT.TIMER.tag) + Timer + closeTag(ELEMENT.TIMER.tag);
+            output += XMLWriter.simpleTag(Timer, ELEMENT.TIMER);
         }
 
         if (!P.equals(""))
         {
-            output += openTag(ELEMENT.P.tag) + P + closeTag(ELEMENT.P.tag);
+            output += XMLWriter.simpleTag(P, ELEMENT.P);
         }
 
         if (!Agy.equals(""))
         {
-            output += openTag(ELEMENT.AGY.tag) + Agy + closeTag(ELEMENT.AGY.tag);
+            output += XMLWriter.simpleTag(Agy, ELEMENT.AGY);
         }
 
         if (!Alias.equals(""))
         {
-            output += openTag(ELEMENT.ALIAS.tag) + Alias + closeTag(ELEMENT.ALIAS.tag);
+            output += XMLWriter.simpleTag(Alias, ELEMENT.ALIAS);
         }
 
         if (!Unit_Status.equals(""))
         {
-            output += openTag(ELEMENT.UNIT_STATUS.tag) + Unit_Status + closeTag(ELEMENT.UNIT_STATUS.tag);
-        }
-
-        output += closeTag(ELEMENT.NEW_UNIT.tag);
+            output += XMLWriter.simpleTag(Unit_Status, ELEMENT.UNIT_STATUS);
+        }
+
+        output += XMLWriter.closeTag(ELEMENT.NEW_UNIT.tag);
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
Index: trunk/src/scriptbuilder/structures/Location_Info.java
===================================================================
--- trunk/src/scriptbuilder/structures/Location_Info.java	(revision 44)
+++ trunk/src/scriptbuilder/structures/Location_Info.java	(revision 46)
@@ -21,43 +21,17 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.LOCATION_INFO.tag + " ID=\"" + Location_ID + "\"");
+        String output = XMLWriter.openTag(ELEMENT.LOCATION_INFO.tag + " ID=\"" + Location_ID + "\"");
 
-        output += openTag(ELEMENT.Route.tag);
-        output += Route;
-        output += closeTag(ELEMENT.Route.tag);
+        output += XMLWriter.simpleTag(Route, ELEMENT.Route);
 
-        output += openTag(ELEMENT.Direction.tag);
-        output += Direction;
-        output += closeTag(ELEMENT.Direction.tag);
+        output += XMLWriter.simpleTag(Direction, ELEMENT.Direction);
 
-        output += openTag(ELEMENT.Postmile.tag);
-        output += Postmile;
-        output += closeTag(ELEMENT.Postmile.tag);
+        output += XMLWriter.simpleTag(Postmile, ELEMENT.Postmile);
 
-        output += openTag(ELEMENT.Location_type.tag);
-        output += Location_type;
-        output += closeTag(ELEMENT.Location_type.tag);
+        output += XMLWriter.simpleTag(Location_type, ELEMENT.Location_type);
 
-        output += closeTag(ELEMENT.LOCATION_INFO.tag);
+        output += XMLWriter.closeTag(ELEMENT.LOCATION_INFO.tag);
 
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
Index: trunk/src/scriptbuilder/structures/events/TMTRadioEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/TMTRadioEvent.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/events/TMTRadioEvent.java	(revision 46)
@@ -9,4 +9,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -29,26 +30,7 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.TMT_RADIO.tag);
-        output += message;
-        output += closeTag(ELEMENT.TMT_RADIO.tag);
+        String output = XMLWriter.simpleTag(message, ELEMENT.TMT_RADIO);
         return output;
     }
 
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
Index: trunk/src/scriptbuilder/structures/events/TelephoneEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/TelephoneEvent.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/events/TelephoneEvent.java	(revision 46)
@@ -10,4 +10,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -33,40 +34,20 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.TELEPHONE.tag);
+        String output = XMLWriter.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);
+                output += XMLWriter.simpleTag(lines.get(i), ELEMENT.STUDENT);
             }
             else
             {
-                output += openTag(ELEMENT.INSTRUCTOR.tag + " Role=\"" + roles.get(i) + "\"");
+                output += XMLWriter.openTag(ELEMENT.INSTRUCTOR.tag + " Role=\"" + roles.get(i) + "\"");
                 output += lines.get(i);
-                output += closeTag(ELEMENT.INSTRUCTOR.tag);
+                output += XMLWriter.closeTag(ELEMENT.INSTRUCTOR.tag);
             }
         }
-        output += closeTag(ELEMENT.TELEPHONE.tag);
+        output += XMLWriter.closeTag(ELEMENT.TELEPHONE.tag);
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
Index: trunk/src/scriptbuilder/structures/events/ActivityLogEvaluationEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/ActivityLogEvaluationEvent.java	(revision 42)
+++ trunk/src/scriptbuilder/structures/events/ActivityLogEvaluationEvent.java	(revision 46)
@@ -10,4 +10,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -53,5 +54,5 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.ACTIVITY_LOG_EVALUATION.tag);
+        String output = XMLWriter.openTag(ELEMENT.ACTIVITY_LOG_EVALUATION.tag);
         if (expectedAction != null)
         {
@@ -62,30 +63,10 @@
                     str = "";
                 }
-                output += openTag(ELEMENT.EXPECTED_ACTION.tag);
-                output += str;
-                output += closeTag(ELEMENT.EXPECTED_ACTION.tag);
+                output += XMLWriter.simpleTag(str, ELEMENT.EXPECTED_ACTION);
             }
         }
-        output += closeTag(ELEMENT.ACTIVITY_LOG_EVALUATION.tag);
+        output += XMLWriter.closeTag(ELEMENT.ACTIVITY_LOG_EVALUATION.tag);
 
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
Index: trunk/src/scriptbuilder/structures/events/RadioEvaluationEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/RadioEvaluationEvent.java	(revision 42)
+++ trunk/src/scriptbuilder/structures/events/RadioEvaluationEvent.java	(revision 46)
@@ -10,4 +10,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -53,5 +54,5 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.RADIO_EVALUATION.tag);
+        String output = XMLWriter.openTag(ELEMENT.RADIO_EVALUATION.tag);
         if (expectedAction != null)
         {
@@ -62,30 +63,10 @@
                     str = "";
                 }
-                output += openTag(ELEMENT.EXPECTED_ACTION.tag);
-                output += str;
-                output += closeTag(ELEMENT.EXPECTED_ACTION.tag);
+                output += XMLWriter.simpleTag(str, ELEMENT.EXPECTED_ACTION);
             }
         }
-        output += closeTag(ELEMENT.RADIO_EVALUATION.tag);
+        output += XMLWriter.closeTag(ELEMENT.RADIO_EVALUATION.tag);
 
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @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 38)
+++ trunk/src/scriptbuilder/structures/events/CADEvent.java	(revision 46)
@@ -9,4 +9,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -31,27 +32,6 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.DETAIL.tag);
-        output += detail;
-        output += closeTag(ELEMENT.DETAIL.tag);
+        String output = XMLWriter.simpleTag(detail, ELEMENT.DETAIL);
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @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 38)
+++ trunk/src/scriptbuilder/structures/events/CHPRadioEvent.java	(revision 46)
@@ -10,4 +10,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -35,37 +36,18 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.CHP_RADIO.tag + " RadioFile=\"" + radioFile + "\"");
-        output += openTag(ELEMENT.DIALOG.tag);
+        String output = XMLWriter.openTag(ELEMENT.CHP_RADIO.tag + " RadioFile=\"" + radioFile + "\"");
+        output += XMLWriter.openTag(ELEMENT.DIALOG.tag);
 
         for (int i = 0; i < lines.size(); i++)
         {
-            output += openTag(ELEMENT.LINE.tag + " Role=\"" + roles.get(i) + "\"");
+            output += XMLWriter.openTag(ELEMENT.LINE.tag + " Role=\"" + roles.get(i) + "\"");
             output += lines.get(i);
-            output += closeTag(ELEMENT.LINE.tag);
+            output += XMLWriter.closeTag(ELEMENT.LINE.tag);
         }
 
-        output += closeTag(ELEMENT.DIALOG.tag);
-        output += closeTag(ELEMENT.CHP_RADIO.tag);
+        output += XMLWriter.closeTag(ELEMENT.DIALOG.tag);
+        output += XMLWriter.closeTag(ELEMENT.CHP_RADIO.tag);
 
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
-
 }
Index: trunk/src/scriptbuilder/structures/events/FacilitatorEvaluationEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/FacilitatorEvaluationEvent.java	(revision 42)
+++ trunk/src/scriptbuilder/structures/events/FacilitatorEvaluationEvent.java	(revision 46)
@@ -10,4 +10,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -53,5 +54,5 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.FACILITATOR_EVALUATION.tag);
+        String output = XMLWriter.openTag(ELEMENT.FACILITATOR_EVALUATION.tag);
         if (expectedAction != null)
         {
@@ -62,30 +63,10 @@
                     str = "";
                 }
-                output += openTag(ELEMENT.EXPECTED_ACTION.tag);
-                output += str;
-                output += closeTag(ELEMENT.EXPECTED_ACTION.tag);
+                output += XMLWriter.simpleTag(str, ELEMENT.EXPECTED_ACTION);
             }
         }
-        output += closeTag(ELEMENT.FACILITATOR_EVALUATION.tag);
+        output += XMLWriter.closeTag(ELEMENT.FACILITATOR_EVALUATION.tag);
 
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
Index: trunk/src/scriptbuilder/structures/events/WitnessEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/WitnessEvent.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/events/WitnessEvent.java	(revision 46)
@@ -9,4 +9,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -36,25 +37,6 @@
     public String toXML()
     {
-        return emptyTag(ELEMENT.WITNESS.tag + " Name=\"" + witnessName + "\" Address=\""
+        return XMLWriter.emptyTag(ELEMENT.WITNESS.tag + " Name=\"" + witnessName + "\" Address=\""
                 + witnessAddress + "\" PhoneNum=\"" + witnessNum + "\"");
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
-
 }
Index: trunk/src/scriptbuilder/structures/events/ATMSEvaluationEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/ATMSEvaluationEvent.java	(revision 42)
+++ trunk/src/scriptbuilder/structures/events/ATMSEvaluationEvent.java	(revision 46)
@@ -10,4 +10,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -53,5 +54,5 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.ATMS_EVALUATION.tag);
+        String output = XMLWriter.openTag(ELEMENT.ATMS_EVALUATION.tag);
         if (expectedAction != null)
         {
@@ -62,30 +63,10 @@
                     str = "";
                 }
-                output += openTag(ELEMENT.EXPECTED_ACTION.tag);
-                output += str;
-                output += closeTag(ELEMENT.EXPECTED_ACTION.tag);
+                output += XMLWriter.simpleTag(str, ELEMENT.EXPECTED_ACTION);
             }
         }
-        output += closeTag(ELEMENT.ATMS_EVALUATION.tag);
+        output += XMLWriter.closeTag(ELEMENT.ATMS_EVALUATION.tag);
 
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
Index: trunk/src/scriptbuilder/structures/events/CCTVEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/CCTVEvent.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/events/CCTVEvent.java	(revision 46)
@@ -9,4 +9,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -29,27 +30,7 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.CCTV_INFO.tag);
-        output += message;
-        output += closeTag(ELEMENT.CCTV_INFO.tag);
+        String output = XMLWriter.simpleTag(message, ELEMENT.CCTV_INFO);
         
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @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 38)
+++ trunk/src/scriptbuilder/structures/events/ParamicsEvent.java	(revision 46)
@@ -10,4 +10,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -32,43 +33,18 @@
 
     public String locationID = "";
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @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 + "\"");
+        String output = XMLWriter.openTag(ELEMENT.PARAMICS.tag + " LocationID=\"" + locationID + "\"");
 
-        output += openTag(ELEMENT.Status.tag);
-        output += status;
-        output += closeTag(ELEMENT.Status.tag);
+        output += XMLWriter.simpleTag(status, ELEMENT.Status);
 
-        output += openTag(ELEMENT.Incident_type.tag);
-        output += type;
-        output += closeTag(ELEMENT.Incident_type.tag);
+        output += XMLWriter.simpleTag(type, ELEMENT.Incident_type);
 
         for (Integer lane : laneNums)
         {
-            output += openTag(ELEMENT.Lane_number.tag);
-            output += lane;
-            output += closeTag(ELEMENT.Lane_number.tag);
+            output += XMLWriter.simpleTag(""+lane, ELEMENT.Lane_number);
         }
-        output += closeTag(ELEMENT.PARAMICS.tag);
+        output += XMLWriter.closeTag(ELEMENT.PARAMICS.tag);
 
         return output;
Index: trunk/src/scriptbuilder/structures/events/AudioEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/AudioEvent.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/events/AudioEvent.java	(revision 46)
@@ -9,4 +9,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -31,23 +32,5 @@
     public String toXML()
     {
-        return emptyTag(ELEMENT.AUDIO.tag + " Length=\"" + audioLength + "\" Path=\"" + audioPath + "\"");
-    }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
+        return XMLWriter.emptyTag(ELEMENT.AUDIO.tag + " Length=\"" + audioLength + "\" Path=\"" + audioPath + "\"");
     }
 }
Index: trunk/src/scriptbuilder/structures/events/MaintenanceRadioEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/MaintenanceRadioEvent.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/events/MaintenanceRadioEvent.java	(revision 46)
@@ -9,4 +9,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -29,29 +30,6 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.MAINTENANCE_RADIO.tag);
-        
-        output += message;
-        
-        output += closeTag(ELEMENT.MAINTENANCE_RADIO.tag);
+        String output = XMLWriter.simpleTag(message, ELEMENT.MAINTENANCE_RADIO);
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
-
 }
Index: trunk/src/scriptbuilder/structures/events/TowEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/TowEvent.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/events/TowEvent.java	(revision 46)
@@ -9,4 +9,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -33,25 +34,7 @@
 
     @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @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.TOW.tag + " Company=\"" + towCompany + "\" ConfNum=\""
+        return XMLWriter.emptyTag(ELEMENT.TOW.tag + " Company=\"" + towCompany + "\" ConfNum=\""
                 + towConfNum + "\" PubNum=\"" + towPubNum + "\" Beat=\"" + towBeat + "\"");
     }
Index: trunk/src/scriptbuilder/structures/events/CMSEvaluationEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/CMSEvaluationEvent.java	(revision 42)
+++ trunk/src/scriptbuilder/structures/events/CMSEvaluationEvent.java	(revision 46)
@@ -10,4 +10,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -62,12 +63,10 @@
     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);
+        String output = XMLWriter.openTag(ELEMENT.CMS_EVALUATION.tag + " cmsID=\"" + cmsID + "\" type=\"" + cmsType + "\"");
+        output += XMLWriter.simpleTag(location, ELEMENT.LOCATION);
 
         if (message.size() > 0)
         {
-            output += openTag(ELEMENT.SAMPLE_MESSAGE.tag);
+            output += XMLWriter.openTag(ELEMENT.SAMPLE_MESSAGE.tag);
             for (String str : message)
             {
@@ -76,32 +75,12 @@
                     str = "";
                 }
-                output += openTag(ELEMENT.CMS_LINE.tag);
-                output += str;
-                output += closeTag(ELEMENT.CMS_LINE.tag);
+                output += XMLWriter.simpleTag(str, ELEMENT.CMS_LINE);
             }
-            output += closeTag(ELEMENT.SAMPLE_MESSAGE.tag);
+            output += XMLWriter.closeTag(ELEMENT.SAMPLE_MESSAGE.tag);
         }
 
-        output += closeTag(ELEMENT.CMS_EVALUATION.tag);
+        output += XMLWriter.closeTag(ELEMENT.CMS_EVALUATION.tag);
 
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
Index: trunk/src/scriptbuilder/structures/events/CADEvaluationEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/CADEvaluationEvent.java	(revision 42)
+++ trunk/src/scriptbuilder/structures/events/CADEvaluationEvent.java	(revision 46)
@@ -10,4 +10,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -53,5 +54,5 @@
     public String toXML()
     {
-        String output = openTag(ELEMENT.CAD_EVALUATION.tag);
+        String output = XMLWriter.openTag(ELEMENT.CAD_EVALUATION.tag);
         if (expectedAction != null)
         {
@@ -62,30 +63,10 @@
                     str = "";
                 }
-                output += openTag(ELEMENT.EXPECTED_ACTION.tag);
-                output += str;
-                output += closeTag(ELEMENT.EXPECTED_ACTION.tag);
+                output += XMLWriter.simpleTag(str, ELEMENT.EXPECTED_ACTION);
             }
         }
-        output += closeTag(ELEMENT.CAD_EVALUATION.tag);
+        output += XMLWriter.closeTag(ELEMENT.CAD_EVALUATION.tag);
 
         return output;
     }
-
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @Override
-    public String closeTag(String s)
-    {
-        return "</" + s + ">\n";
-    }
-
-    @Override
-    public String emptyTag(String s)
-    {
-        return "<" + s + "/>\n";
-    }
 }
Index: trunk/src/scriptbuilder/structures/events/UnitEvent.java
===================================================================
--- trunk/src/scriptbuilder/structures/events/UnitEvent.java	(revision 38)
+++ trunk/src/scriptbuilder/structures/events/UnitEvent.java	(revision 46)
@@ -9,4 +9,5 @@
 import scriptbuilder.structures.I_XML_Writable;
 import scriptbuilder.structures.ScriptEvent;
+import scriptbuilder.structures.XMLWriter;
 
 /**
@@ -31,27 +32,8 @@
 
     public String unitNum = "";
-    
-    @Override
-    public String openTag(String s)
-    {
-        return "<" + s + ">";
-    }
-
-    @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=\""
+        return XMLWriter.emptyTag(ELEMENT.UNIT.tag+" UnitNum=\""+unitNum+"\" Status=\""
                 +unitStatus+"\" Primary=\""+unitPrimary+"\" Active=\""+unitActive+"\"");
     }
