------------------------------------------------------------------------------ -- XML/Ada - An XML suite for Ada95 -- -- -- -- Copyright (C) 2004-2017, AdaCore -- -- -- -- This library is free software; you can redistribute it and/or modify it -- -- under terms of the GNU General Public License as published by the Free -- -- Software Foundation; either version 3, or (at your option) any later -- -- version. This library is distributed in the hope that it will be useful, -- -- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- -- -- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- -- -- -- As a special exception under Section 7 of GPL version 3, you are granted -- -- additional permissions described in the GCC Runtime Library Exception, -- -- version 3.1, as published by the Free Software Foundation. -- -- -- -- You should have received a copy of the GNU General Public License and -- -- a copy of the GCC Runtime Library Exception along with this program; -- -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- -- . -- -- -- ------------------------------------------------------------------------------ with Sax.Exceptions; with Sax.Locators; with Sax.Readers; with Sax.Attributes; with Sax.Models; with Unicode.CES; with Input_Sources; package Debug_Readers is type Debug_Reader is new Sax.Readers.Reader with private; procedure Set_Silent (Handler : in out Debug_Reader; Silent : Boolean); -- If Silent is True, then nothing will be output on the console, except -- error messages procedure Set_Color (Handler : in out Debug_Reader; Color : Boolean); -- Whether the output should use color for locations procedure Warning (Handler : in out Debug_Reader; Except : Sax.Exceptions.Sax_Parse_Exception'Class); procedure Error (Handler : in out Debug_Reader; Except : Sax.Exceptions.Sax_Parse_Exception'Class); procedure Fatal_Error (Handler : in out Debug_Reader; Except : Sax.Exceptions.Sax_Parse_Exception'Class); procedure Set_Document_Locator (Handler : in out Debug_Reader; Loc : in out Sax.Locators.Locator); procedure Start_Document (Handler : in out Debug_Reader); procedure End_Document (Handler : in out Debug_Reader); procedure Start_Prefix_Mapping (Handler : in out Debug_Reader; Prefix : Unicode.CES.Byte_Sequence; URI : Unicode.CES.Byte_Sequence); procedure End_Prefix_Mapping (Handler : in out Debug_Reader; Prefix : Unicode.CES.Byte_Sequence); procedure Start_Element (Handler : in out Debug_Reader; Namespace_URI : Unicode.CES.Byte_Sequence := ""; Local_Name : Unicode.CES.Byte_Sequence := ""; Qname : Unicode.CES.Byte_Sequence := ""; Atts : Sax.Attributes.Attributes'Class); procedure End_Element (Handler : in out Debug_Reader; Namespace_URI : Unicode.CES.Byte_Sequence := ""; Local_Name : Unicode.CES.Byte_Sequence := ""; Qname : Unicode.CES.Byte_Sequence := ""); procedure Characters (Handler : in out Debug_Reader; Ch : Unicode.CES.Byte_Sequence); procedure Ignorable_Whitespace (Handler : in out Debug_Reader; Ch : Unicode.CES.Byte_Sequence); procedure Processing_Instruction (Handler : in out Debug_Reader; Target : Unicode.CES.Byte_Sequence; Data : Unicode.CES.Byte_Sequence); procedure Skipped_Entity (Handler : in out Debug_Reader; Name : Unicode.CES.Byte_Sequence); procedure Comment (Handler : in out Debug_Reader; Ch : Unicode.CES.Byte_Sequence); procedure Start_Cdata (Handler : in out Debug_Reader); procedure End_Cdata (Handler : in out Debug_Reader); procedure Start_Entity (Handler : in out Debug_Reader; Name : Unicode.CES.Byte_Sequence); procedure End_Entity (Handler : in out Debug_Reader; Name : Unicode.CES.Byte_Sequence); procedure Start_DTD (Handler : in out Debug_Reader; Name : Unicode.CES.Byte_Sequence; Public_Id : Unicode.CES.Byte_Sequence := ""; System_Id : Unicode.CES.Byte_Sequence := ""); procedure End_DTD (Handler : in out Debug_Reader); procedure Internal_Entity_Decl (Handler : in out Debug_Reader; Name : Unicode.CES.Byte_Sequence; Value : Unicode.CES.Byte_Sequence); procedure External_Entity_Decl (Handler : in out Debug_Reader; Name : Unicode.CES.Byte_Sequence; Public_Id : Unicode.CES.Byte_Sequence; System_Id : Unicode.CES.Byte_Sequence); procedure Unparsed_Entity_Decl (Handler : in out Debug_Reader; Name : Unicode.CES.Byte_Sequence; System_Id : Unicode.CES.Byte_Sequence; Notation_Name : Unicode.CES.Byte_Sequence); procedure Element_Decl (Handler : in out Debug_Reader; Name : Unicode.CES.Byte_Sequence; Model : Sax.Models.Content_Model); procedure Notation_Decl (Handler : in out Debug_Reader; Name : Unicode.CES.Byte_Sequence; Public_Id : Unicode.CES.Byte_Sequence; System_Id : Unicode.CES.Byte_Sequence); procedure Attribute_Decl (Handler : in out Debug_Reader; Ename : Unicode.CES.Byte_Sequence; Aname : Unicode.CES.Byte_Sequence; Typ : Sax.Attributes.Attribute_Type; Content : Sax.Models.Content_Model; Value_Default : Sax.Attributes.Default_Declaration; Value : Unicode.CES.Byte_Sequence); function Resolve_Entity (Handler : Debug_Reader; Public_Id : Unicode.CES.Byte_Sequence; System_Id : Unicode.CES.Byte_Sequence) return Input_Sources.Input_Source_Access; private type String_Access is access String; type String_List is array (Natural range <>) of String_Access; type String_List_Access is access String_List; type Debug_Reader is new Sax.Readers.Reader with record Locator : Sax.Locators.Locator; Silent : Boolean := False; Saved_Locs : String_List_Access; Color : Boolean := True; end record; end Debug_Readers;