--
-- @filename xml_writer.ads
-- @author Julien Burdy & Vincent Decorges
-- @date 22.4.02
-- @brief Sub-programm to creat xml file for AdaDoc
--
-- History  :
-- Date     Modification               Author
--
with Ada.Text_IO;            use Ada.Text_IO;
with Dict_Tda;

package Xml_Writer is


   -- Name    : Begin_File
   -- Purpose : Writing the beginning of the XML file
   --
   -- in      : File : File to write to
   -- in      : Package_Name
   --
   procedure Begin_File (File : in File_Type;
                         Attributes : in Dict_Tda.Dict_Type);

   -- Name    : Create_Tage
   -- Purpose : Open and Write tag
   --
   -- in      : File : File to write to
   -- in      : Name : Name of the tag
   -- in      : Attributes : Array of attributes
   -- in      : Contents : Content of the array
   --
   procedure Create_Tag (File : in File_Type;
                         Name : in String;
                         Attributes : in Dict_Tda.Dict_Type;
                         Content : in String := "");

   -- Name    : Close_Tag
   -- Purpose : Close a tag
   --
   -- in      : File : File to write to
   -- in      : Name : Name of the tag
   --
   procedure Close_Tag (File : in File_Type;
                        Name : in String);

   -- Name    : End_File
   -- Purpose : Writing the end of the XML file
   --
   -- in      : File : File to write to
   --
   procedure End_File (File : in File_Type);

   -- Name    : Validate
   -- Purpose : Validate a string to xml standard
   --
   -- in      : Element : the string to validate
   -- return  : The Element validated
   --
   function Validate (Element : String) return String;

end Xml_Writer;