/// <summary>
        /// write the XML Report Definition file using the supplied data.
        /// This over-rides the abstract implementation in the base class as the write is always specific
        /// to the report
        /// </summary>
        /// <returns></returns>
        public override int WriteReport()
        {
            try
            {
                // First of all create the object
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Indent             = true;
                settings.OmitXmlDeclaration = false;

                using (XmlTextWriterEx writer = new XmlTextWriterEx(_filename, null))
                {
                    // Add the header
                    writer.Formatting = Formatting.Indented;
                    writer.WriteComment("AuditWizard Report Definition File");

                    // Now the Scanner Configuration Section
                    writer.StartSection(S_REPORT_DEFINITION);

                    // Add the 'General' section (in the base class)
                    SaveGeneral(writer);

                    // Add the 'Scope' section (in the base class)
                    SaveScope(writer);

                    // Now write our sections specific to this report
                    SaveFilters(writer);

                    // Tidy up
                    writer.Flush();
                    writer.Close();
                }
            }
            catch (Exception ex)
            {
                String error = ex.Message;
                return(-1);
            }

            return(0);
        }