Add initial prototype.
This commit is contained in:
60
1-base/xml/source/xml-reader.ads
Normal file
60
1-base/xml/source/xml-reader.ads
Normal file
@@ -0,0 +1,60 @@
|
||||
with
|
||||
ada.Strings.unbounded;
|
||||
|
||||
|
||||
package XML.Reader
|
||||
is
|
||||
use ada.Strings.unbounded;
|
||||
|
||||
|
||||
type Parser is private;
|
||||
|
||||
function Create_Parser return Parser;
|
||||
|
||||
|
||||
|
||||
type Start_Element_Handler is access procedure (Name : in unbounded_String;
|
||||
Atts : in XML.Attributes_view);
|
||||
type End_Element_Handler is access procedure (Name : in unbounded_String);
|
||||
|
||||
|
||||
procedure Set_Element_Handler (The_Parser : in Parser;
|
||||
Start_Handler : in Start_Element_Handler;
|
||||
End_Handler : in End_Element_Handler);
|
||||
|
||||
|
||||
|
||||
type Character_Data_Handler is access procedure (Data: in unbounded_String);
|
||||
|
||||
procedure Set_Character_Data_Handler (The_Parser : in Parser;
|
||||
CD_Handler : in Character_Data_Handler);
|
||||
|
||||
|
||||
|
||||
procedure Parse (The_Parser : in Parser;
|
||||
XML : in String;
|
||||
Is_Final : in Boolean);
|
||||
|
||||
XML_Parse_Error : exception;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private
|
||||
|
||||
type XML_Parser_Ptr is access all Character; -- Essentially, C's "void *".
|
||||
|
||||
type Parser_Rec is
|
||||
record
|
||||
XML_Parser : XML_Parser_Ptr;
|
||||
Start_Handler : Start_Element_Handler;
|
||||
End_Handler : End_Element_Handler;
|
||||
CD_Handler : Character_Data_Handler;
|
||||
end record;
|
||||
|
||||
type Parser is access Parser_Rec;
|
||||
|
||||
-- pragma Linker_Options ("-lexpat");
|
||||
|
||||
end XML.Reader;
|
||||
Reference in New Issue
Block a user