Better Array generation

Define "float" as "Single"

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@997 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
inoussa 2009-11-09 09:48:35 +00:00
parent 6719a67d5d
commit c7e3cdf5c8
2 changed files with 17 additions and 6 deletions

View File

@ -226,7 +226,7 @@ const
('Longint', 'TComplexInt32SContentRemotable', 'int'),
('Int64', 'TComplexInt64SContentRemotable', 'long'),
('Qword', 'TComplexInt64UContentRemotable', 'unsignedLong'),
('Single', 'TComplexFloatSingleContentRemotable', 'single'),
('Single', 'TComplexFloatSingleContentRemotable', 'float'),
('Double', 'TComplexFloatDoubleContentRemotable', 'double'),
('Extended', 'TComplexFloatExtendedContentRemotable', 'decimal')
);
@ -451,7 +451,7 @@ begin
AddAlias('token','string',Result);
AddAlias('anyURI','string',Result);
AddAlias('ID','string',Result);
AddAlias('float','Single',Result);
//AddAlias('float','Single',Result);
AddAlias('nonNegativeInteger','LongWord',Result);
AddAlias('positiveInteger','nonNegativeInteger',Result);
{$IFNDEF WST_HAS_TDURATIONREMOTABLE}

View File

@ -891,7 +891,7 @@ var
p : TPasProperty;
s : string;
propNode : TDOMElement;
propTypItm, propItmUltimeType : TPasType;
propTypItm, propItmUltimeType, arrayItemType : TPasType;
prop_ns_shortName : string;
isEmbeddedArray : Boolean;
typeHelper : IXsdSpecialTypeHelper;
@ -919,16 +919,27 @@ var
( AContainer.GetArrayStyle(TPasArrayType(propItmUltimeType)) = asEmbeded );
if isEmbeddedArray then begin
s := AContainer.GetExternalName(TPasArrayType(propItmUltimeType).ElType);
prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(AContainer,TPasArrayType(propItmUltimeType).ElType),ADocument,GetOwner().GetPreferedShortNames());
arrayItemType := TPasArrayType(propItmUltimeType).ElType;
prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(AContainer,arrayItemType),ADocument,GetOwner().GetPreferedShortNames());
propNode.SetAttribute(s_type,Format('%s:%s',[prop_ns_shortName,s]));
if arrayItemType.InheritsFrom(TPasNativeSpecialSimpleType) then begin
if GetRegistry().FindHelper(arrayItemType,typeHelper) then
typeHelper.HandleTypeUsage(propNode,defSchemaNode);
end;
end else begin
s := AContainer.GetExternalName(propTypItm);
prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(AContainer,propTypItm),ADocument,GetOwner().GetPreferedShortNames());
propNode.SetAttribute(s_type,Format('%s:%s',[prop_ns_shortName,s]));
if propTypItm.InheritsFrom(TPasNativeSpecialSimpleType) then begin
if GetRegistry().FindHelper(propTypItm,typeHelper) then
typeHelper.HandleTypeUsage(propNode,defSchemaNode);
end;
end;
propNode.SetAttribute(s_type,Format('%s:%s',[prop_ns_shortName,s]));
{propNode.SetAttribute(s_type,Format('%s:%s',[prop_ns_shortName,s]));
if propTypItm.InheritsFrom(TPasNativeSpecialSimpleType) then begin
if GetRegistry().FindHelper(propTypItm,typeHelper) then
typeHelper.HandleTypeUsage(propNode,defSchemaNode);
end;
end; }
if ( Length(p.DefaultValue) > 0 ) then
propNode.SetAttribute(s_default,p.DefaultValue);
if AContainer.IsAttributeProperty(p) then begin