You've already forked lazarus-ccr
ws_helper : nested type definition parsing
Example :
<xs:element name="NestedType">
<xs:complexType>
<xs:sequence>
<xs:element name="Property_1" type="xs:string"/>
<xs:element name="Property_2" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Value" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
ws_helper : Soap Binding Style are now recorded in the metadata registration subroutine generated by ws_helper
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@144 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@@ -30,6 +30,7 @@ const
|
||||
sNEW_LINE = {$ifndef Unix}#13#10{$else}#10{$endif};
|
||||
|
||||
function IsStrEmpty(Const AStr : String):Boolean;
|
||||
function ExtractIdentifier(const AValue : string) : string ;
|
||||
|
||||
implementation
|
||||
|
||||
@@ -38,5 +39,30 @@ begin
|
||||
Result := ( Length(Trim(AStr)) = 0 );
|
||||
end;
|
||||
|
||||
function ExtractIdentifier(const AValue : string) : string ;
|
||||
var
|
||||
i, c : Integer;
|
||||
s : string;
|
||||
begin
|
||||
Result := '';
|
||||
s := Trim(AValue);
|
||||
c := Length(s);
|
||||
if ( c > 0 ) then begin
|
||||
if not ( s[1] in ['A'..'Z', 'a'..'z', '_'] ) then begin
|
||||
Result := '_';
|
||||
end;
|
||||
for i := 1 to c do begin
|
||||
if ( s[i] in ['A'..'Z', 'a'..'z', '0'..'9', '_'] ) then begin
|
||||
Result := Result + s[i];
|
||||
end else begin
|
||||
if ( Length(Result) > 0 ) and ( Result[Length(Result)] <> '_' ) then begin
|
||||
Result := Result + '_';
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
end.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user