headertoxml now support any number of classes per header
This commit is contained in:
@@ -173,39 +173,45 @@ begin
|
|||||||
XMLWriter := TXMLWriter.Create(s);
|
XMLWriter := TXMLWriter.Create(s);
|
||||||
try
|
try
|
||||||
XMLWriter.StartClasses;
|
XMLWriter.StartClasses;
|
||||||
XMLWriter.StartClasse(Elem);
|
while Elem <> nil do
|
||||||
XMLWriter.StartFunction(Elem^.children);
|
begin
|
||||||
CurrentArg := Elem^.args;
|
if Elem <> nil then
|
||||||
if CurrentArg <> nil then
|
WriteLn(Elem^.aName);
|
||||||
begin
|
XMLWriter.StartClasse(Elem);
|
||||||
XMLWriter.StartParam(CurrentArg);
|
XMLWriter.StartFunction(Elem^.children);
|
||||||
while CurrentArg^.Next <> nil do
|
CurrentArg := Elem^.args;
|
||||||
|
if CurrentArg <> nil then
|
||||||
begin
|
begin
|
||||||
CurrentArg := CurrentArg^.Next;
|
|
||||||
XMLWriter.StartParam(CurrentArg);
|
XMLWriter.StartParam(CurrentArg);
|
||||||
end;
|
while CurrentArg^.Next <> nil do
|
||||||
end;
|
|
||||||
XMLWriter.StartResult(Elem^.ret_type);
|
|
||||||
XMLWriter.EndFunction;
|
|
||||||
Current := Elem^.children;
|
|
||||||
while Current^.next <> nil do
|
|
||||||
begin
|
|
||||||
Current := Current^.next;
|
|
||||||
XMLWriter.StartFunction(Current);
|
|
||||||
CurrentArg := Current^.args;
|
|
||||||
if CurrentArg <> nil then
|
|
||||||
begin
|
begin
|
||||||
|
CurrentArg := CurrentArg^.Next;
|
||||||
XMLWriter.StartParam(CurrentArg);
|
XMLWriter.StartParam(CurrentArg);
|
||||||
while CurrentArg^.next <> nil do
|
|
||||||
begin
|
|
||||||
CurrentArg := CurrentArg^.next;
|
|
||||||
XMLWriter.StartParam(CurrentArg);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
XMLWriter.StartResult(Current^.ret_type);
|
end;
|
||||||
XMLWriter.EndFunction;
|
XMLWriter.StartResult(Elem^.ret_type);
|
||||||
end;
|
XMLWriter.EndFunction;
|
||||||
XMLWriter.EndClasse;
|
Current := Elem^.children;
|
||||||
|
while Current^.next <> nil do
|
||||||
|
begin
|
||||||
|
Current := Current^.next;
|
||||||
|
XMLWriter.StartFunction(Current);
|
||||||
|
CurrentArg := Current^.args;
|
||||||
|
if CurrentArg <> nil then
|
||||||
|
begin
|
||||||
|
XMLWriter.StartParam(CurrentArg);
|
||||||
|
while CurrentArg^.next <> nil do
|
||||||
|
begin
|
||||||
|
CurrentArg := CurrentArg^.next;
|
||||||
|
XMLWriter.StartParam(CurrentArg);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
XMLWriter.StartResult(Current^.ret_type);
|
||||||
|
XMLWriter.EndFunction;
|
||||||
|
end;
|
||||||
|
XMLWriter.EndClasse;
|
||||||
|
Elem := Elem^.next;
|
||||||
|
end;
|
||||||
XMLWriter.EndClasses;
|
XMLWriter.EndClasses;
|
||||||
finally
|
finally
|
||||||
XMLWriter.Free;
|
XMLWriter.Free;
|
||||||
|
|||||||
Reference in New Issue
Block a user