1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
------------------------------------------------------------------------------
-- 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 --
-- <http://www.gnu.org/licenses/>. --
-- --
------------------------------------------------------------------------------
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;
|