wsdl parser : assume style=document binding if not specified

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@277 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa
2007-10-19 15:30:20 +00:00
parent c76f26feea
commit 343b11db66
21 changed files with 1618 additions and 1003 deletions

View File

@ -0,0 +1,38 @@
<?xml version="1.0"?>
<definitions name="library1" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="library1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="library1">
<types><xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="library1" targetNamespace="library1"/></types>
<message name="sampleMethodA"/>
<message name="sampleMethodAResponse"/>
<message name="SampleMethodB">
<part name="A" type="xsd:string"/>
<part name="B" type="xsd:string"/>
</message>
<message name="SampleMethodBResponse"><part name="result" type="xsd:string"/></message>
<portType name="ISampleService">
<document><GUID value="{68678930-3C52-40D7-A8F8-24F96560FB3A}"/></document>
<operation name="sampleMethodA">
<input message="tns:sampleMethodA"/>
<output message="tns:sampleMethodAResponse"/>
</operation>
<operation name="SampleMethodB">
<input message="tns:SampleMethodB"/>
<output message="tns:SampleMethodBResponse"/>
</operation>
</portType>
<binding name="ISampleServiceBinding" type="tns:ISampleService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="sampleMethodA">
<soap:operation soapAction=""/>
<input><soap:body use="literal" namespace="library1"/></input>
<output><soap:body use="literal" namespace="library1"/></output>
</operation>
<operation name="SampleMethodB">
<soap:operation soapAction=""/>
<input><soap:body use="literal" namespace="library1"/></input>
<output><soap:body use="literal" namespace="library1"/></output>
</operation>
</binding>
<service name="ISampleService">
<port name="ISampleServicePort" binding="tns:ISampleServiceBinding"><soap:address location=""/></port>
</service>
</definitions>

View File

@ -0,0 +1,21 @@
<?xml version="1.0"?>
<definitions name="wst_test"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="library1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
targetNamespace="urn:wst-test">
<types>
<xsd:schema xmlns:n="urn:wst-test"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:wst-test">
<xsd:element name="AliasString" type="xsd:string"/>
<xsd:element name="AliasInt" type="xsd:int"/>
</xsd:schema>
</types>
</definitions>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:n="urn:wst-test"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:wst-test">
<xsd:element name="AliasString" type="xsd:string"/>
<xsd:element name="AliasInt" type="xsd:int"/>
</xsd:schema>

View File

@ -32,6 +32,7 @@ type
function LoadEmptySchema() : TwstPasTreeContainer;virtual;abstract;
function LoadSimpleType_Enum_Schema() : TwstPasTreeContainer;virtual;abstract;
function LoadSimpleType_Enum_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
function LoadSimpleType_AliasToNativeType_Schema() : TwstPasTreeContainer;virtual;abstract;
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;virtual;abstract;
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;virtual;abstract;
@ -46,6 +47,7 @@ type
procedure SimpleType_Enum();
procedure SimpleType_Enum_Embedded();
procedure SimpleType_AliasToNativeType();
procedure ComplexType_Class();
procedure ComplexType_Class_Embedded();
@ -67,6 +69,7 @@ type
function LoadSimpleType_Enum_Schema() : TwstPasTreeContainer;override;
function LoadSimpleType_Enum_Embedded_Schema() : TwstPasTreeContainer;override;
function LoadSimpleType_AliasToNativeType_Schema() : TwstPasTreeContainer;override;
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;override;
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;override;
@ -88,6 +91,7 @@ type
function LoadSimpleType_Enum_Schema() : TwstPasTreeContainer;override;
function LoadSimpleType_Enum_Embedded_Schema() : TwstPasTreeContainer;override;
function LoadSimpleType_AliasToNativeType_Schema() : TwstPasTreeContainer;override;
function LoadComplexType_Class_Schema() : TwstPasTreeContainer;override;
function LoadComplexType_Class_Embedded_Schema() : TwstPasTreeContainer;override;
@ -97,6 +101,8 @@ type
function LoadComplexType_ArraySequence_Schema() : TwstPasTreeContainer;override;
function LoadComplexType_ArraySequence_Embedded_Schema() : TwstPasTreeContainer;override;
published
procedure no_binding_style();
end;
implementation
@ -127,8 +133,11 @@ const
x_enumSampleType = 'EnumSampleType';
x_enumSampleLIST_COUNT = 7;
x_enumSampleLIST : array[0..( x_enumSampleLIST_COUNT - 1 )] of string = ( 'esOne', 'esTwo', 'esThree', 'begin', 'finally', 'True', 'False' );
x_simpleTypeAliasString = 'AliasString';
x_simpleTypeAliasInt = 'AliasInt';
x_simpleType = 'simpletype';
x_simpleTypeEmbedded = 'simpletype_embedded';
x_simpletypeNativeAlias = 'simpletypeNativeAlias';
x_targetNamespace = 'urn:wst-test';
@ -253,6 +262,42 @@ begin
end;
end;
procedure TTest_CustomXsdParser.SimpleType_AliasToNativeType();
var
tr : TwstPasTreeContainer;
mdl : TPasModule;
ls : TList;
elt : TPasElement;
aliasType : TPasAliasType;
i : Integer;
begin
tr := LoadSimpleType_AliasToNativeType_Schema();
mdl := tr.FindModule(x_targetNamespace);
CheckNotNull(mdl);
CheckEquals(x_simpletypeNativeAlias,mdl.Name);
CheckEquals(x_targetNamespace,tr.GetExternalName(mdl));
ls := mdl.InterfaceSection.Declarations;
CheckEquals(2,ls.Count);
elt := tr.FindElement(x_simpleTypeAliasString);
CheckNotNull(elt,x_simpleTypeAliasString);
CheckEquals(x_simpleTypeAliasString,elt.Name);
CheckEquals(x_simpleTypeAliasString,tr.GetExternalName(elt));
CheckIs(elt,TPasAliasType);
aliasType := elt as TPasAliasType;
CheckNotNull(aliasType.DestType);
Check(tr.SameName(aliasType.DestType,'string'));
elt := tr.FindElement(x_simpleTypeAliasInt);
CheckNotNull(elt,x_simpleTypeAliasInt);
CheckEquals(x_simpleTypeAliasInt,elt.Name);
CheckEquals(x_simpleTypeAliasInt,tr.GetExternalName(elt));
CheckIs(elt,TPasAliasType);
aliasType := elt as TPasAliasType;
CheckNotNull(aliasType.DestType);
Check(tr.SameName(aliasType.DestType,'int'));
end;
type
TPropertyType = ( ptField, ptAttribute );
const
@ -890,6 +935,11 @@ begin
Result := ParseDoc(x_simpleTypeEmbedded);
end;
function TTest_XsdParser.LoadSimpleType_AliasToNativeType_Schema() : TwstPasTreeContainer;
begin
Result := ParseDoc(x_simpletypeNativeAlias);
end;
function TTest_XsdParser.LoadComplexType_Class_Schema(): TwstPasTreeContainer;
begin
Result := ParseDoc(x_complexType_class);
@ -958,6 +1008,11 @@ begin
Result := ParseDoc(x_simpleTypeEmbedded);
end;
function TTest_WsdlParser.LoadSimpleType_AliasToNativeType_Schema() : TwstPasTreeContainer;
begin
Result := ParseDoc(x_simpletypeNativeAlias);
end;
function TTest_WsdlParser.LoadComplexType_Class_Schema(): TwstPasTreeContainer;
begin
Result := ParseDoc(x_complexType_class);
@ -988,6 +1043,25 @@ begin
Result := ParseDoc(x_complexType_array_sequence_embedded);
end;
procedure TTest_WsdlParser.no_binding_style();
var
symTable : TwstPasTreeContainer;
elt : TPasElement;
intf : TPasClassType;
begin
symTable := ParseDoc('no_binding_style');
try
elt := symTable.FindElement('ISampleService');
CheckNotNull(elt);
CheckIs(elt,TPasClassType);
intf := elt as TPasClassType;
Check(intf.ObjKind = okInterface);
CheckEquals(2,GetElementCount(intf.Members,TPasProcedure));
finally
symTable.Free();
end;
end;
initialization
RegisterTest('XSD parser',TTest_XsdParser.Suite);
RegisterTest('WSDL parser',TTest_WsdlParser.Suite);

View File

@ -378,6 +378,8 @@ type
procedure Test_Record_simple();
procedure Test_Record_nested();
procedure test_GetScopeItemNames();
end;
{ TTestBinaryFormatter }
@ -2708,6 +2710,56 @@ begin
end;
end;
procedure TTestFormatter.test_GetScopeItemNames();
Var
f : IFormatterBase;
s : TMemoryStream;
a, b : TClass_A;
x : string;
ls : TStringList;
begin
ls := nil;
s := Nil;
b := nil;
a := TClass_A.Create();
try
a.Val_Bool := False;
a.Val_Enum := teThree;
a.Val_String := '123';
a.Val_32S := 55;
b := TClass_A.Create();
f := CreateFormatter(TypeInfo(TClass_A));
f.BeginObject('Root',TypeInfo(TClass_A));
f.Put('a',TypeInfo(TClass_A),a);
f.Put('b',TypeInfo(TClass_A),b);
f.EndScope();
s := TMemoryStream.Create();
f.SaveToStream(s);
FreeAndNil(a);
ls := TStringList.Create();
f := CreateFormatter(TypeInfo(TClass_A));
s.Position := 0;
f.LoadFromStream(s);
x := 'Root';
f.BeginObjectRead(x,TypeInfo(TClass_A));
CheckEquals(0, f.GetScopeItemNames(ls), 'GetScopeItemNames.Count()');
Check( ls.IndexOf('Val_Bool') >= 0 );
Check( ls.IndexOf('Val_Enum') >= 0 );
Check( ls.IndexOf('Val_String') >= 0 );
Check( ls.IndexOf('Val_32S') >= 0 );
f.EndScopeRead();
finally
ls.Free();
b.Free();;
a.Free();
s.Free();
end;
end;
{ TTestBinaryFormatter }

View File

@ -7,7 +7,7 @@
<MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/>
<ActiveEditorIndexAtStart Value="4"/>
<ActiveEditorIndexAtStart Value="1"/>
</General>
<PublishOptions>
<Version Value="2"/>
@ -27,7 +27,7 @@
<PackageName Value="FPCUnitTestRunner"/>
</Item1>
</RequiredPackages>
<Units Count="84">
<Units Count="72">
<Unit0>
<Filename Value="wst_test_suite.lpr"/>
<IsPartOfProject Value="True"/>
@ -40,12 +40,12 @@
<Filename Value="testformatter_unit.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="testformatter_unit"/>
<CursorPos X="33" Y="525"/>
<TopLine Value="503"/>
<CursorPos X="57" Y="195"/>
<TopLine Value="181"/>
<EditorIndex Value="0"/>
<UsageCount Value="200"/>
<Bookmarks Count="1">
<Item0 X="17" Y="1058" ID="3"/>
<Item0 X="17" Y="1060" ID="3"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit1>
@ -69,29 +69,35 @@
<Filename Value="..\..\base_binary_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_binary_formatter"/>
<CursorPos X="42" Y="219"/>
<TopLine Value="211"/>
<CursorPos X="3" Y="1358"/>
<TopLine Value="1346"/>
<EditorIndex Value="14"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="..\..\base_service_intf.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_service_intf"/>
<CursorPos X="61" Y="4557"/>
<TopLine Value="4538"/>
<CursorPos X="3" Y="152"/>
<TopLine Value="152"/>
<EditorIndex Value="13"/>
<UsageCount Value="200"/>
<Bookmarks Count="2">
<Item0 X="33" Y="1135" ID="0"/>
<Item1 X="5" Y="1189" ID="1"/>
<Item0 X="33" Y="1136" ID="0"/>
<Item1 X="5" Y="1190" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit5>
<Unit6>
<Filename Value="..\..\base_soap_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_soap_formatter"/>
<CursorPos X="54" Y="356"/>
<TopLine Value="337"/>
<CursorPos X="92" Y="1568"/>
<TopLine Value="1561"/>
<EditorIndex Value="1"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="..\..\binary_formatter.pas"/>
@ -161,301 +167,198 @@
<UnitName Value="metadata_wsdl"/>
<CursorPos X="40" Y="836"/>
<TopLine Value="828"/>
<EditorIndex Value="3"/>
<UsageCount Value="206"/>
<Loaded Value="True"/>
</Unit14>
<Unit15>
<Filename Value="D:\Lazarus\fpcsrc\fcl\xml\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="15" Y="429"/>
<TopLine Value="413"/>
<UsageCount Value="8"/>
<UsageCount Value="3"/>
</Unit15>
<Unit16>
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\objpas\sysutils\sysutilh.inc"/>
<CursorPos X="13" Y="235"/>
<TopLine Value="215"/>
<UsageCount Value="2"/>
</Unit16>
<Unit17>
<Filename Value="..\..\server_service_intf.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="server_service_intf"/>
<CursorPos X="25" Y="14"/>
<TopLine Value="97"/>
<UsageCount Value="203"/>
</Unit17>
<Unit18>
</Unit16>
<Unit17>
<Filename Value="..\..\service_intf.pas"/>
<UnitName Value="service_intf"/>
<CursorPos X="15" Y="22"/>
<TopLine Value="10"/>
<UsageCount Value="22"/>
</Unit18>
<Unit19>
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\objpas\classes\classesh.inc"/>
<CursorPos X="3" Y="316"/>
<TopLine Value="304"/>
<UsageCount Value="2"/>
</Unit19>
<Unit20>
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\objpas\classes\lists.inc"/>
<CursorPos X="3" Y="407"/>
<TopLine Value="404"/>
<UsageCount Value="2"/>
</Unit20>
<Unit21>
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\fcl\inc\contnrs.pp"/>
<UnitName Value="contnrs"/>
<CursorPos X="3" Y="474"/>
<TopLine Value="471"/>
<UsageCount Value="2"/>
</Unit21>
<Unit22>
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\inc\objpash.inc"/>
<CursorPos X="27" Y="121"/>
<TopLine Value="104"/>
<UsageCount Value="2"/>
</Unit22>
<Unit23>
<Filename Value="D:\lazarusClean\fpc\2.0.4\source\rtl\inc\objpas.inc"/>
<CursorPos X="9" Y="166"/>
<TopLine Value="142"/>
<UsageCount Value="2"/>
</Unit23>
<Unit24>
<Filename Value="D:\Lazarus\components\fpcunit\guitestrunner.pas"/>
<ComponentName Value="GUITestRunner"/>
<HasResources Value="True"/>
<UnitName Value="GuiTestRunner"/>
<CursorPos X="34" Y="32"/>
<TopLine Value="25"/>
<UsageCount Value="2"/>
</Unit24>
<Unit25>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="17"/>
</Unit17>
<Unit18>
<Filename Value="..\..\imp_utils.pas"/>
<UnitName Value="imp_utils"/>
<CursorPos X="1" Y="105"/>
<TopLine Value="90"/>
<UsageCount Value="14"/>
</Unit25>
<Unit26>
<UsageCount Value="9"/>
</Unit18>
<Unit19>
<Filename Value="..\..\..\..\..\lazarusClean\fpc\2.0.4\source\fcl\xml\xmlread.pp"/>
<UnitName Value="XMLRead"/>
<CursorPos X="43" Y="13"/>
<TopLine Value="1"/>
<UsageCount Value="8"/>
</Unit26>
<Unit27>
<UsageCount Value="3"/>
</Unit19>
<Unit20>
<Filename Value="test_parserdef.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="test_parserdef"/>
<CursorPos X="93" Y="76"/>
<TopLine Value="11"/>
<UsageCount Value="200"/>
</Unit20>
<Unit21>
<Filename Value="..\..\wst.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit21>
<Unit22>
<Filename Value="..\test_fpc\interface_problem\interface_problem.pas"/>
<UnitName Value="interface_problem"/>
<CursorPos X="1" Y="10"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit22>
<Unit23>
<Filename Value="..\..\base_xmlrpc_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_xmlrpc_formatter"/>
<CursorPos X="3" Y="1242"/>
<TopLine Value="1224"/>
<EditorIndex Value="10"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit23>
<Unit24>
<Filename Value="..\..\ws_helper\pscanner.pp"/>
<UnitName Value="PScanner"/>
<CursorPos X="19" Y="505"/>
<TopLine Value="491"/>
<UsageCount Value="7"/>
</Unit24>
<Unit25>
<Filename Value="..\..\ws_helper\pascal_parser_intf.pas"/>
<UnitName Value="pascal_parser_intf"/>
<CursorPos X="3" Y="174"/>
<TopLine Value="165"/>
<EditorIndex Value="9"/>
<UsageCount Value="45"/>
<Loaded Value="True"/>
</Unit25>
<Unit26>
<Filename Value="..\..\ws_helper\pastree.pp"/>
<UnitName Value="PasTree"/>
<CursorPos X="3" Y="75"/>
<TopLine Value="68"/>
<UsageCount Value="7"/>
</Unit26>
<Unit27>
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="38" Y="225"/>
<TopLine Value="203"/>
<UsageCount Value="6"/>
</Unit27>
<Unit28>
<Filename Value="..\..\wst.inc"/>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="5"/>
</Unit28>
<Unit29>
<Filename Value="..\test_fpc\interface_problem\interface_problem.pas"/>
<UnitName Value="interface_problem"/>
<CursorPos X="1" Y="10"/>
<TopLine Value="1"/>
<UsageCount Value="5"/>
</Unit29>
<Unit30>
<Filename Value="..\..\base_xmlrpc_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_xmlrpc_formatter"/>
<CursorPos X="70" Y="354"/>
<TopLine Value="325"/>
<UsageCount Value="200"/>
</Unit30>
<Unit31>
<Filename Value="..\..\ws_helper\pscanner.pp"/>
<UnitName Value="PScanner"/>
<CursorPos X="19" Y="505"/>
<TopLine Value="491"/>
<UsageCount Value="12"/>
</Unit31>
<Unit32>
<Filename Value="..\..\ws_helper\pascal_parser_intf.pas"/>
<UnitName Value="pascal_parser_intf"/>
<CursorPos X="85" Y="149"/>
<TopLine Value="53"/>
<EditorIndex Value="5"/>
<UsageCount Value="50"/>
<Loaded Value="True"/>
</Unit32>
<Unit33>
<Filename Value="..\..\ws_helper\pastree.pp"/>
<UnitName Value="PasTree"/>
<CursorPos X="3" Y="75"/>
<TopLine Value="68"/>
<UsageCount Value="12"/>
</Unit33>
<Unit34>
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="38" Y="225"/>
<TopLine Value="203"/>
<UsageCount Value="11"/>
</Unit34>
<Unit35>
<Filename Value="..\..\wst_rtti_filter\cursor_intf.pas"/>
<UnitName Value="cursor_intf"/>
<CursorPos X="3" Y="75"/>
<TopLine Value="70"/>
<UsageCount Value="3"/>
</Unit35>
<Unit36>
<Filename Value="..\..\wst_rtti_filter\dom_cursors.pas"/>
<UnitName Value="dom_cursors"/>
<CursorPos X="3" Y="182"/>
<TopLine Value="180"/>
<UsageCount Value="3"/>
</Unit36>
<Unit37>
<Filename Value="..\..\..\..\..\..\lazarus_23_215\fpc\2.1.5\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
<UnitName Value="fpcunit"/>
<CursorPos X="1" Y="446"/>
<TopLine Value="434"/>
<UsageCount Value="1"/>
</Unit37>
<Unit38>
<Filename Value="..\..\semaphore.pas"/>
<UnitName Value="semaphore"/>
<CursorPos X="3" Y="30"/>
<TopLine Value="23"/>
<UsageCount Value="2"/>
</Unit38>
<Unit39>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit39>
<Unit40>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\win32\system.pp"/>
<UnitName Value="System"/>
<CursorPos X="22" Y="33"/>
<TopLine Value="18"/>
<UsageCount Value="1"/>
</Unit40>
<Unit41>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-base\src\inc\contnrs.pp"/>
<UnitName Value="contnrs"/>
<CursorPos X="3" Y="114"/>
<TopLine Value="101"/>
<UsageCount Value="9"/>
</Unit41>
<Unit42>
<CursorPos X="3" Y="1376"/>
<TopLine Value="1370"/>
<UsageCount Value="6"/>
</Unit29>
<Unit30>
<Filename Value="..\..\wst_delphi.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="5"/>
</Unit42>
<Unit43>
<UsageCount Value="10"/>
</Unit30>
<Unit31>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpash.inc"/>
<CursorPos X="26" Y="173"/>
<TopLine Value="156"/>
<UsageCount Value="5"/>
</Unit43>
<Unit44>
<CursorPos X="8" Y="142"/>
<TopLine Value="197"/>
<UsageCount Value="6"/>
</Unit31>
<Unit32>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\objpas.inc"/>
<CursorPos X="11" Y="333"/>
<TopLine Value="375"/>
<UsageCount Value="5"/>
</Unit44>
<Unit45>
<UsageCount Value="10"/>
</Unit32>
<Unit33>
<Filename Value="..\..\wst_fpc_xml.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="wst_fpc_xml"/>
<CursorPos X="65" Y="85"/>
<TopLine Value="56"/>
<UsageCount Value="149"/>
</Unit45>
<Unit46>
<UsageCount Value="201"/>
</Unit33>
<Unit34>
<Filename Value="..\..\wst_global.inc"/>
<CursorPos X="3" Y="4"/>
<TopLine Value="1"/>
<UsageCount Value="6"/>
</Unit46>
<Unit47>
<UsageCount Value="1"/>
</Unit34>
<Unit35>
<Filename Value="test_utilities.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="test_utilities"/>
<CursorPos X="40" Y="64"/>
<TopLine Value="58"/>
<EditorIndex Value="1"/>
<UsageCount Value="140"/>
<EditorIndex Value="15"/>
<UsageCount Value="193"/>
<Loaded Value="True"/>
</Unit47>
<Unit48>
</Unit35>
<Unit36>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
<UnitName Value="fpcunit"/>
<CursorPos X="66" Y="231"/>
<TopLine Value="231"/>
<UsageCount Value="8"/>
</Unit48>
<Unit49>
<UsageCount Value="3"/>
</Unit36>
<Unit37>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\testregistry.pp"/>
<UnitName Value="testregistry"/>
<CursorPos X="11" Y="32"/>
<TopLine Value="17"/>
<UsageCount Value="10"/>
</Unit49>
<Unit50>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\testdecorator.pp"/>
<UnitName Value="testdecorator"/>
<CursorPos X="3" Y="30"/>
<TopLine Value="1"/>
<UsageCount Value="2"/>
</Unit50>
<Unit51>
<UsageCount Value="5"/>
</Unit37>
<Unit38>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/>
<CursorPos X="21" Y="9"/>
<TopLine Value="1"/>
<UsageCount Value="7"/>
</Unit51>
<Unit52>
<UsageCount Value="2"/>
</Unit38>
<Unit39>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\typinfo.pp"/>
<UnitName Value="typinfo"/>
<CursorPos X="53" Y="41"/>
<TopLine Value="37"/>
<UsageCount Value="5"/>
</Unit52>
<Unit53>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysstrh.inc"/>
<CursorPos X="89" Y="122"/>
<TopLine Value="106"/>
<UsageCount Value="4"/>
</Unit53>
<Unit54>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysinth.inc"/>
<CursorPos X="24" Y="63"/>
<TopLine Value="46"/>
<UsageCount Value="4"/>
</Unit54>
<Unit55>
<UsageCount Value="10"/>
</Unit39>
<Unit40>
<Filename Value="..\..\ws_helper\wsdl2pas_imp.pas"/>
<UnitName Value="wsdl2pas_imp"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="31"/>
<UsageCount Value="5"/>
</Unit55>
<Unit56>
<Filename Value="..\..\..\..\..\..\lazarus2204\fpc\2.0.4\source\fcl\xml\dom.pp"/>
<UnitName Value="DOM"/>
<CursorPos X="3" Y="196"/>
<TopLine Value="191"/>
<UsageCount Value="3"/>
</Unit56>
<Unit57>
<UsageCount Value="10"/>
</Unit40>
<Unit41>
<Filename Value="..\..\type_lib_edtr\umoduleedit.pas"/>
<ComponentName Value="fModuleEdit"/>
<HasResources Value="True"/>
@ -463,9 +366,9 @@
<UnitName Value="umoduleedit"/>
<CursorPos X="47" Y="21"/>
<TopLine Value="18"/>
<UsageCount Value="5"/>
</Unit57>
<Unit58>
<UsageCount Value="10"/>
</Unit41>
<Unit42>
<Filename Value="..\..\type_lib_edtr\ubindingedit.pas"/>
<ComponentName Value="fBindingEdit"/>
<HasResources Value="True"/>
@ -473,9 +376,9 @@
<UnitName Value="ubindingedit"/>
<CursorPos X="41" Y="21"/>
<TopLine Value="18"/>
<UsageCount Value="5"/>
</Unit58>
<Unit59>
<UsageCount Value="10"/>
</Unit42>
<Unit43>
<Filename Value="..\..\type_lib_edtr\ufarrayedit.pas"/>
<ComponentName Value="fArrayEdit"/>
<HasResources Value="True"/>
@ -483,9 +386,9 @@
<UnitName Value="ufarrayedit"/>
<CursorPos X="41" Y="9"/>
<TopLine Value="5"/>
<UsageCount Value="5"/>
</Unit59>
<Unit60>
<UsageCount Value="10"/>
</Unit43>
<Unit44>
<Filename Value="..\..\type_lib_edtr\uftypealiasedit.pas"/>
<ComponentName Value="fTypeAliasEdit"/>
<HasResources Value="True"/>
@ -493,9 +396,9 @@
<UnitName Value="uftypealiasedit"/>
<CursorPos X="22" Y="9"/>
<TopLine Value="7"/>
<UsageCount Value="5"/>
</Unit60>
<Unit61>
<UsageCount Value="10"/>
</Unit44>
<Unit45>
<Filename Value="..\..\type_lib_edtr\ufrmsaveoption.pas"/>
<ComponentName Value="frmSaveOptions"/>
<HasResources Value="True"/>
@ -503,300 +406,218 @@
<UnitName Value="ufrmsaveoption"/>
<CursorPos X="22" Y="9"/>
<TopLine Value="6"/>
<UsageCount Value="5"/>
</Unit61>
<Unit62>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\objpas\sysutils\sysutilh.inc"/>
<CursorPos X="4" Y="64"/>
<TopLine Value="64"/>
<UsageCount Value="3"/>
</Unit62>
<Unit63>
<UsageCount Value="10"/>
</Unit45>
<Unit46>
<Filename Value="..\..\server_service_xmlrpc.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="server_service_xmlrpc"/>
<CursorPos X="38" Y="33"/>
<TopLine Value="27"/>
<UsageCount Value="94"/>
</Unit63>
<Unit64>
<UsageCount Value="147"/>
</Unit46>
<Unit47>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\xmlread.pp"/>
<UnitName Value="XMLRead"/>
<CursorPos X="6" Y="37"/>
<TopLine Value="31"/>
<UsageCount Value="5"/>
</Unit64>
<Unit65>
<CursorPos X="3" Y="1205"/>
<TopLine Value="1203"/>
<UsageCount Value="8"/>
</Unit47>
<Unit48>
<Filename Value="..\..\xmlrpc_formatter.pas"/>
<UnitName Value="xmlrpc_formatter"/>
<CursorPos X="1" Y="169"/>
<TopLine Value="154"/>
<UsageCount Value="9"/>
</Unit65>
<Unit66>
<UsageCount Value="4"/>
</Unit48>
<Unit49>
<Filename Value="..\..\record_rtti.pas"/>
<UnitName Value="record_rtti"/>
<CursorPos X="37" Y="276"/>
<TopLine Value="265"/>
<UsageCount Value="13"/>
</Unit66>
<Unit67>
<UsageCount Value="8"/>
</Unit49>
<Unit50>
<Filename Value="..\..\wst_rtl_imp.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<UsageCount Value="5"/>
</Unit67>
<Unit68>
<UsageCount Value="10"/>
</Unit50>
<Unit51>
<Filename Value="test_parsers.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="test_parsers"/>
<CursorPos X="17" Y="621"/>
<TopLine Value="608"/>
<EditorIndex Value="2"/>
<UsageCount Value="72"/>
<CursorPos X="50" Y="24"/>
<TopLine Value="1"/>
<EditorIndex Value="4"/>
<UsageCount Value="125"/>
<Loaded Value="True"/>
</Unit68>
<Unit69>
</Unit51>
<Unit52>
<Filename Value="..\..\ws_helper\xsd_parser.pas"/>
<UnitName Value="xsd_parser"/>
<CursorPos X="3" Y="65"/>
<TopLine Value="88"/>
<EditorIndex Value="8"/>
<UsageCount Value="34"/>
<CursorPos X="17" Y="190"/>
<TopLine Value="188"/>
<EditorIndex Value="6"/>
<UsageCount Value="29"/>
<Loaded Value="True"/>
</Unit69>
<Unit70>
</Unit52>
<Unit53>
<Filename Value="..\..\ws_helper\parserutils.pas"/>
<UnitName Value="parserutils"/>
<CursorPos X="41" Y="29"/>
<TopLine Value="70"/>
<EditorIndex Value="6"/>
<UsageCount Value="26"/>
<CursorPos X="98" Y="94"/>
<TopLine Value="71"/>
<EditorIndex Value="8"/>
<UsageCount Value="21"/>
<Loaded Value="True"/>
</Unit70>
<Unit71>
</Unit53>
<Unit54>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-fpcunit\src\testregistry.pp"/>
<UnitName Value="testregistry"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="18"/>
<UsageCount Value="7"/>
</Unit71>
<Unit72>
<UsageCount Value="2"/>
</Unit54>
<Unit55>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-fpcunit\src\DUnitCompatibleInterface.inc"/>
<CursorPos X="3" Y="120"/>
<TopLine Value="115"/>
<UsageCount Value="6"/>
</Unit72>
<Unit73>
<UsageCount Value="1"/>
</Unit55>
<Unit56>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-fpcunit\src\fpcunit.pp"/>
<UnitName Value="fpcunit"/>
<CursorPos X="60" Y="449"/>
<TopLine Value="424"/>
<UsageCount Value="9"/>
</Unit73>
<Unit74>
<UsageCount Value="4"/>
</Unit56>
<Unit57>
<Filename Value="..\..\ws_helper\logger_intf.pas"/>
<UnitName Value="logger_intf"/>
<CursorPos X="85" Y="50"/>
<TopLine Value="35"/>
<UsageCount Value="6"/>
</Unit74>
<Unit75>
<UsageCount Value="1"/>
</Unit57>
<Unit58>
<Filename Value="..\..\ws_helper\ws_parser_imp.pas"/>
<UnitName Value="ws_parser_imp"/>
<CursorPos X="61" Y="122"/>
<TopLine Value="94"/>
<EditorIndex Value="10"/>
<UsageCount Value="33"/>
<CursorPos X="14" Y="91"/>
<TopLine Value="77"/>
<EditorIndex Value="7"/>
<UsageCount Value="28"/>
<Loaded Value="True"/>
</Unit75>
<Unit76>
</Unit58>
<Unit59>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpash.inc"/>
<CursorPos X="21" Y="151"/>
<TopLine Value="129"/>
<UsageCount Value="9"/>
</Unit76>
<Unit77>
<UsageCount Value="4"/>
</Unit59>
<Unit60>
<Filename Value="..\..\ws_helper\wsdl_generator.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="wsdl_generator"/>
<CursorPos X="27" Y="146"/>
<TopLine Value="124"/>
<EditorIndex Value="3"/>
<UsageCount Value="52"/>
<Loaded Value="True"/>
</Unit77>
<Unit78>
<UsageCount Value="105"/>
</Unit60>
<Unit61>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-xml\src\xmlread.pp"/>
<UnitName Value="XMLRead"/>
<CursorPos X="1" Y="1975"/>
<TopLine Value="1963"/>
<UsageCount Value="8"/>
</Unit78>
<Unit79>
<UsageCount Value="3"/>
</Unit61>
<Unit62>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\rtl\inc\objpas.inc"/>
<CursorPos X="11" Y="222"/>
<TopLine Value="219"/>
<UsageCount Value="9"/>
</Unit79>
<Unit80>
<UsageCount Value="4"/>
</Unit62>
<Unit63>
<Filename Value="..\..\..\..\..\..\lazarus_23_2.2.1\fpc\2.2.1\source\packages\fcl-base\src\inc\contnrs.pp"/>
<UnitName Value="contnrs"/>
<CursorPos X="3" Y="701"/>
<TopLine Value="698"/>
<UsageCount Value="9"/>
</Unit80>
<Unit81>
<UsageCount Value="4"/>
</Unit63>
<Unit64>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="xsd_generator"/>
<CursorPos X="3" Y="81"/>
<TopLine Value="77"/>
<EditorIndex Value="4"/>
<UsageCount Value="35"/>
<TopLine Value="261"/>
<EditorIndex Value="2"/>
<UsageCount Value="88"/>
<Loaded Value="True"/>
</Unit81>
<Unit82>
</Unit64>
<Unit65>
<Filename Value="..\..\ws_helper\xsd_consts.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="xsd_consts"/>
<CursorPos X="8" Y="78"/>
<TopLine Value="51"/>
<EditorIndex Value="7"/>
<UsageCount Value="34"/>
<Loaded Value="True"/>
</Unit82>
<Unit83>
<UsageCount Value="87"/>
</Unit65>
<Unit66>
<Filename Value="..\..\ws_helper\wsdl_parser.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="wsdl_parser"/>
<CursorPos X="67" Y="101"/>
<TopLine Value="90"/>
<EditorIndex Value="9"/>
<UsageCount Value="17"/>
<CursorPos X="28" Y="845"/>
<TopLine Value="835"/>
<EditorIndex Value="5"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit83>
</Unit66>
<Unit67>
<Filename Value="..\..\base_json_formatter.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="base_json_formatter"/>
<CursorPos X="58" Y="112"/>
<TopLine Value="99"/>
<EditorIndex Value="11"/>
<UsageCount Value="73"/>
<Loaded Value="True"/>
</Unit67>
<Unit68>
<Filename Value="..\..\fcl-json\src\fpjson.pp"/>
<UnitName Value="fpjson"/>
<CursorPos X="3" Y="265"/>
<TopLine Value="296"/>
<EditorIndex Value="12"/>
<UsageCount Value="37"/>
<Loaded Value="True"/>
</Unit68>
<Unit69>
<Filename Value="..\..\wst_types.pas"/>
<UnitName Value="wst_types"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="13"/>
<UsageCount Value="6"/>
</Unit69>
<Unit70>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\rtl\inc\systemh.inc"/>
<CursorPos X="3" Y="389"/>
<TopLine Value="375"/>
<UsageCount Value="6"/>
</Unit70>
<Unit71>
<Filename Value="..\..\..\..\..\..\lazarus_23_215XX\fpc\source\packages\fcl-xml\src\xmlwrite.pp"/>
<UnitName Value="XMLWrite"/>
<CursorPos X="9" Y="609"/>
<TopLine Value="586"/>
<UsageCount Value="16"/>
</Unit71>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<JumpHistory Count="2" HistoryIndex="1">
<Position1>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="697" Column="22" TopLine="680"/>
<Filename Value="..\..\base_soap_formatter.pas"/>
<Caret Line="1481" Column="23" TopLine="1470"/>
</Position1>
<Position2>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="277" Column="28" TopLine="253"/>
<Filename Value="..\..\base_soap_formatter.pas"/>
<Caret Line="127" Column="61" TopLine="115"/>
</Position2>
<Position3>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="732" Column="1" TopLine="714"/>
</Position3>
<Position4>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="64" Column="77" TopLine="43"/>
</Position4>
<Position5>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="726" Column="1" TopLine="705"/>
</Position5>
<Position6>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="77" Column="3" TopLine="75"/>
</Position6>
<Position7>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="769" Column="5" TopLine="739"/>
</Position7>
<Position8>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="72" Column="19" TopLine="57"/>
</Position8>
<Position9>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="802" Column="5" TopLine="771"/>
</Position9>
<Position10>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="806" Column="5" TopLine="792"/>
</Position10>
<Position11>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="87" Column="13" TopLine="73"/>
</Position11>
<Position12>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="760" Column="32" TopLine="741"/>
</Position12>
<Position13>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="777" Column="9" TopLine="763"/>
</Position13>
<Position14>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="795" Column="5" TopLine="782"/>
</Position14>
<Position15>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="798" Column="73" TopLine="785"/>
</Position15>
<Position16>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="805" Column="49" TopLine="791"/>
</Position16>
<Position17>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="71" Column="17" TopLine="52"/>
</Position17>
<Position18>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="804" Column="3" TopLine="798"/>
</Position18>
<Position19>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="73" Column="1" TopLine="53"/>
</Position19>
<Position20>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="779" Column="1" TopLine="767"/>
</Position20>
<Position21>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="86" Column="23" TopLine="73"/>
</Position21>
<Position22>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="799" Column="37" TopLine="787"/>
</Position22>
<Position23>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="757" Column="24" TopLine="744"/>
</Position23>
<Position24>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="799" Column="1" TopLine="787"/>
</Position24>
<Position25>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="801" Column="95" TopLine="788"/>
</Position25>
<Position26>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="798" Column="34" TopLine="773"/>
</Position26>
<Position27>
<Filename Value="..\..\ws_helper\wsdl_generator.pas"/>
<Caret Line="598" Column="49" TopLine="587"/>
</Position27>
<Position28>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="794" Column="20" TopLine="768"/>
</Position28>
<Position29>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="797" Column="32" TopLine="780"/>
</Position29>
<Position30>
<Filename Value="..\..\ws_helper\xsd_generator.pas"/>
<Caret Line="787" Column="16" TopLine="786"/>
</Position30>
</JumpHistory>
</ProjectOptions>
<CompilerOptions>
@ -807,7 +628,7 @@
</Target>
<SearchPaths>
<IncludeFiles Value="..\..\"/>
<OtherUnitFiles Value="..\..\;..\..\ws_helper\;..\..\wst_rtti_filter\"/>
<OtherUnitFiles Value="..\..\;..\..\ws_helper\;..\..\wst_rtti_filter\;..\..\fcl-json\src\"/>
<UnitOutputDirectory Value="obj"/>
</SearchPaths>
<Parsing>

View File

@ -17,7 +17,7 @@ uses
metadata_generator, parserdefs, server_service_intf, metadata_wsdl,
test_parserdef, base_xmlrpc_formatter, wst_fpc_xml, test_utilities,
server_service_xmlrpc, test_parsers, wsdl_generator, xsd_generator,
xsd_consts;
xsd_consts, base_json_formatter, wsdl_parser;
Const
ShortOpts = 'alh';