Description
This package provides a simple minded XML parser to be used with
Gate.
Types
-
type Free_Specific_Data is access
procedure (Data : in out XML_Specific_Data);
-
type Node is record
Tag : String_Ptr;
-
type Node_Ptr is access all Node;
-
type XML_Specific_Data is private;
Subprograms
-
function Parse (File : String) return Node_Ptr;
-
function Parse_Buffer (Buffer : UTF8_String) return Node_Ptr;
-
procedure Print (N : Node_Ptr; File_Name : String := "");
-
function Protect (S : String) return String;
-
function Find_Tag (N : Node_Ptr; Tag : UTF8_String) return Node_Ptr;
-
function Get_Field (N : Node_Ptr; Field : UTF8_String) return String_Ptr;
-
function Is_Equal (Node1, Node2 : Node_Ptr) return Boolean;
-
procedure Add_Child
(N : Node_Ptr; Child : Node_Ptr; Append : Boolean := False);
-
function Deep_Copy (N : Node_Ptr) return Node_Ptr;
-
procedure Free
(N : in out Node_Ptr; Free_Data : Free_Specific_Data := null);
-
function Get_Attribute
(N : in Node_Ptr;
Attribute_Name : in UTF8_String;
Default : in UTF8_String := "") return UTF8_String;
-
procedure Set_Attribute
(N : Node_Ptr; Attribute_Name, Attribute_Value : UTF8_String);
-
function Find_Tag_With_Attribute
(N : Node_Ptr;
Tag : UTF8_String;
Key : UTF8_String;
Value : UTF8_String := "")
return Node_Ptr;