Merged collections branch into trunk
This commit is contained in:
parent
e1f35e9999
commit
f453aea455
@ -23,6 +23,15 @@
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="InlinePart" type="xs:boolean" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="MultiCollection">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="MultiItemFirst" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="MultiItemSecond" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -4,6 +4,8 @@ interface
|
||||
type
|
||||
TDelphiXMLSection = (dxsForward, dxsInterface, dxsClass, dxsImplementation);
|
||||
TDelphiXMLMember = (dxmPropertyGet, dxmPropertySet, dxmPropertyDeclaration);
|
||||
TDelphiAccessor = (daGet, daSet);
|
||||
TDelphiNodeType = (dntElement, dntAttribute, dntCustom);
|
||||
|
||||
|
||||
const
|
||||
@ -18,6 +20,7 @@ const
|
||||
|
||||
UnitInterface = 'interface' + CrLf +
|
||||
'uses' + CrLf +
|
||||
'%<UsesClause>:s' +
|
||||
' Classes,' + CrLf +
|
||||
' XMLDoc,' + CrLf +
|
||||
' XMLIntf;' + CrLf +
|
||||
@ -25,6 +28,9 @@ const
|
||||
'type' + CrLf;
|
||||
|
||||
UnitImplementation = 'implementation' + CrLf +
|
||||
'uses' + CrLf +
|
||||
' SysUtils;' + CrLf +
|
||||
'' + CrLf +
|
||||
'' + CrLf;
|
||||
|
||||
UnitFooter = '' + CrLf +
|
||||
@ -110,6 +116,7 @@ const
|
||||
|
||||
PrefixInterface = 'IXML';
|
||||
PrefixClass = 'TXML';
|
||||
PrefixField = 'F';
|
||||
|
||||
|
||||
InterfaceItemForward = ' IXML%<Name>:s = interface;';
|
||||
@ -169,6 +176,7 @@ const
|
||||
(SchemaName: 'int'; DelphiName: 'Integer'; Conversion: tcNone),
|
||||
(SchemaName: 'integer'; DelphiName: 'Integer'; Conversion: tcNone),
|
||||
(SchemaName: 'short'; DelphiName: 'Smallint'; Conversion: tcNone),
|
||||
// #ToDo1 (MvR) 11-4-2008: differentiate date / time / dateTime
|
||||
(SchemaName: 'date'; DelphiName: 'TDateTime'; Conversion: tcDateTime),
|
||||
(SchemaName: 'time'; DelphiName: 'TDateTime'; Conversion: tcDateTime),
|
||||
(SchemaName: 'dateTime'; DelphiName: 'TDateTime'; Conversion: tcDateTime),
|
||||
@ -180,33 +188,180 @@ const
|
||||
|
||||
|
||||
|
||||
TypeConversionNone = ' %<Destination>:s := %<Source>:s;';
|
||||
|
||||
|
||||
TypeConversionVariables: array[TTypeConversion] of String =
|
||||
TypeConversionNone: array[TDelphiAccessor, TDelphiNodeType] of String =
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } '',
|
||||
{ tcDateTime } ''
|
||||
{ daGet }
|
||||
(
|
||||
{ dntElement } ' %<Destination>:s := ChildNodes[''%<Source>:s''].NodeValue;',
|
||||
{ dntAttribute } ' %<Destination>:s := AttributeNodes[''%<Source>:s''].NodeValue;',
|
||||
{ dntCustom } ' %<Destination>:s := %<Source>:s;'
|
||||
),
|
||||
{ daSet }
|
||||
(
|
||||
{ dntElement } ' ChildNodes[''%<Destination>:s''].NodeValue := %<Source>:s;',
|
||||
{ dntAttribute } ' SetAttribute(''%<Destination>:s'', %<Source>:s);',
|
||||
{ dntCustom } ' %<Destination>:s := %<Source>:s;'
|
||||
)
|
||||
);
|
||||
|
||||
TypeConversionToNative: array[TTypeConversion] of String =
|
||||
|
||||
TypeConversionHelpers: array[TTypeConversion] of String =
|
||||
(
|
||||
{ tcNone } TypeConversionNone,
|
||||
{ tcBoolean } TypeConversionNone,
|
||||
{ tcFloat } TypeConversionNone,
|
||||
{ tcDateTime } TypeConversionNone
|
||||
{ tcNone }
|
||||
'',
|
||||
|
||||
{ tcBoolean }
|
||||
'function BoolToXML(AValue: Boolean): WideString;' + CrLf +
|
||||
'begin' + CrLf +
|
||||
' Result := LowerCase(BoolToStr(AValue, True));' + CrLf +
|
||||
'end;' + CrLf +
|
||||
'' + CrLf,
|
||||
|
||||
{ tcFloat }
|
||||
'function GetXMLFloatFormatSettings: TFormatSettings;' + CrLf +
|
||||
'begin' + CrLf +
|
||||
' Result.DecimalSeparator := ''.'';' + CrLf +
|
||||
'end;' + CrLf +
|
||||
'' + CrLf +
|
||||
'function FloatToXML(AValue: Extended): WideString;' + CrLf +
|
||||
'begin' + CrLf +
|
||||
' Result := FloatToStr(AValue, GetXMLFloatFormatSettings);' + CrLf +
|
||||
'end;' + CrLf +
|
||||
'' + CrLf +
|
||||
'function XMLToFloat(const AValue: String): Extended;' + CrLf +
|
||||
'begin' + CrLf +
|
||||
' Result := StrToFloat(AValue, GetXMLFloatFormatSettings);' + CrLf +
|
||||
'end;' + CrLf +
|
||||
'' + CrLf,
|
||||
|
||||
|
||||
{ tcDate }
|
||||
// #ToDo1 (MvR) 11-4-2008: handle time in XMLToDateTime
|
||||
'function DateToXML(AValue: TDateTime): WideString;' + CrLf +
|
||||
'begin' + CrLf +
|
||||
' Result := FormatDateTime(''yyyy"-"mm"-"dd'', AValue);' + CrLf +
|
||||
'end;' + CrLf +
|
||||
'' + CrLf +
|
||||
'function XMLToDate(const ADate: String): TDateTime;' + CrLf +
|
||||
'begin' + CrLf +
|
||||
' try' + CrLf +
|
||||
' Result := EncodeDate(StrToInt(Copy(ADate, 1, 4)),' + CrLf +
|
||||
' StrToInt(Copy(ADate, 6, 2)),' + CrLf +
|
||||
' StrToInt(Copy(ADate, 9, 2)));' + CrLf +
|
||||
' except' + CrLf +
|
||||
' on E:EConvertError do' + CrLf +
|
||||
' Result := 0;' + CrLf +
|
||||
' end;' + CrLf +
|
||||
'end;' + CrLf +
|
||||
'' + CrLf
|
||||
);
|
||||
|
||||
TypeConversionToXML: array[TTypeConversion] of String =
|
||||
|
||||
TypeConversion: array[TDelphiAccessor, TDelphiNodeType, TTypeConversion] of String =
|
||||
(
|
||||
{ tcNone } TypeConversionNone,
|
||||
{ tcBoolean } ' %<Destination>:s := LowerCase(BoolToStr(%<Source>:s, True));',
|
||||
{ tcFloat } TypeConversionNone,
|
||||
{ tcDateTime } TypeConversionNone
|
||||
{ daGet }
|
||||
(
|
||||
{ dntElement }
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } ' %<Destination>:s := XMLToFloat(ChildNodes[''%<Source>:s''].NodeValue);',
|
||||
{ tcDateTime } ' %<Destination>:s := XMLToDate(ChildNodes[''%<Source>:s''].NodeValue);'
|
||||
),
|
||||
{ dntAttribute }
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } ' %<Destination>:s := XMLToFloat(AttributeNodes[''%<Source>:s''].NodeValue);',
|
||||
{ tcDateTime } ' %<Destination>:s := XMLToDate(AttributeNodes[''%<Source>:s''].NodeValue);'
|
||||
),
|
||||
{ dntCustom}
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } ' %<Destination>:s := XMLToFloat(%<Source>:s);',
|
||||
{ tcDateTime } ' %<Destination>:s := XMLToDate(%<Source>:s);'
|
||||
)
|
||||
),
|
||||
{ daSet }
|
||||
(
|
||||
{ dntElement }
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } ' ChildNodes[''%<Destination>:s''].NodeValue := BoolToXML(%<Source>:s);',
|
||||
{ tcFloat } ' ChildNodes[''%<Destination>:s''].NodeValue := FloatToXML(%<Source>:s);',
|
||||
{ tcDateTime } ' ChildNodes[''%<Destination>:s''].NodeValue := DateToXML(%<Source>:s);'
|
||||
),
|
||||
{ dntAttribute }
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } ' SetAttribute(''%<Destination>:s'', BoolToXML(%<Source>:s));',
|
||||
{ tcFloat } ' SetAttribute(''%<Destination>:s'', FloatToXML(%<Source>:s));',
|
||||
{ tcDateTime } ' SetAttribute(''%<Destination>:s'', DateToXML(%<Source>:s));'
|
||||
),
|
||||
{ dntCustom}
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } ' %<Destination>:s := BoolToXML(%<Source>:s);',
|
||||
{ tcFloat } ' %<Destination>:s := FloatToXML(%<Source>:s);',
|
||||
{ tcDateTime } ' %<Destination>:s := DateToXML(%<Source>:s);'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
(*
|
||||
TypeConversionVariables: array[TDelphiAccessor, TDelphiNodeType, TTypeConversion] of String =
|
||||
(
|
||||
{ daGet }
|
||||
(
|
||||
{ dntElement }
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } '',
|
||||
{ tcDateTime } ''
|
||||
),
|
||||
{ dntAttribute }
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } '',
|
||||
{ tcDateTime } ''
|
||||
),
|
||||
{ dntCustom}
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } '',
|
||||
{ tcDateTime } ''
|
||||
)
|
||||
),
|
||||
{ daSet }
|
||||
(
|
||||
{ dntElement }
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } '',
|
||||
{ tcDateTime } ''
|
||||
),
|
||||
{ dntAttribute }
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } '',
|
||||
{ tcDateTime } ''
|
||||
),
|
||||
{ dntCustom}
|
||||
(
|
||||
{ tcNone } '',
|
||||
{ tcBoolean } '',
|
||||
{ tcFloat } '',
|
||||
{ tcDateTime } ''
|
||||
)
|
||||
)
|
||||
);
|
||||
*)
|
||||
|
||||
implementation
|
||||
end.
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -32,9 +32,13 @@
|
||||
-M
|
||||
-$M16384,1048576
|
||||
-K$00400000
|
||||
-N0"Lib"
|
||||
-LE"C:\Documents and Settings\PsychoMark\My Documents\Borland Studio Projects\Bpl"
|
||||
-LN"C:\Documents and Settings\PsychoMark\My Documents\Borland Studio Projects\Bpl"
|
||||
-N"Lib"
|
||||
-LE"c:\program files\borland\delphi7\Projects\Bpl"
|
||||
-LN"c:\program files\borland\delphi7\Projects\Bpl"
|
||||
-U"P:\xtx\xtx\xsd"
|
||||
-O"P:\xtx\xtx\xsd"
|
||||
-I"P:\xtx\xtx\xsd"
|
||||
-R"P:\xtx\xtx\xsd"
|
||||
-w-UNSAFE_TYPE
|
||||
-w-UNSAFE_CODE
|
||||
-w-UNSAFE_CAST
|
||||
|
@ -94,13 +94,13 @@ OutputDir=
|
||||
UnitOutputDir=Lib
|
||||
PackageDLLOutputDir=
|
||||
PackageDCPOutputDir=
|
||||
SearchPath=
|
||||
SearchPath=P:\xtx\xtx\xsd
|
||||
Packages=vcl;rtl;vclx;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;vcldb;dsnapcon;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;CLXIB;ibxpress;VCLIB;teeui;teedb;tee;dss;vclactnband;vclshlctrls;dclOfficeXP;Indy70;cxLibraryVCLD7;dxBarD7;dxComnD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxsbD7;cxEditorsVCLD7;dxThemeD7;cxDataD7;cxExtEditorsVCLD7;cxPageControlVCLD7;cxGridVCLD7;cxSchedulerVCLD7;cxTreeListVCLD7;cxVerticalGridVCLD7;cxSpreadSheetVCLD7;dxNavBarD7;cxWebD7;cxWebPascalScriptD7;cxWebSnapD7;cxWebTeeChartD7;dxMasterViewD7;dxmdsD7;dxdbtrD7;dxtrmdD7;dxorgcD7;dxdborD7;dxFlowChartD7;dxLayoutControlD7;dxLayoutControlcxEditAdaptersD7;dxPSCoreD7;dxPSTeeChartD7;dxPsPrVwAdvD7;dxPSLnksD7;dxPSdxOCLnkD7;dxPSdxMVLnkD7;dxPSdxLCLnkD7;dxPSdxFCLnkD7;dxPSdxDBTVLnkD7;dxPSdxDBOCLnkD7;dxPSDBTeeChartD7;dxPScxCommonD7;dxPScxTLLnkD7;dxPScxSSLnkD7;dxPScxPCProdD7;dxPScxGridLnkD7;dxPScxExtCommonD7;dxPScxVGridLnkD7;fo_d7;xtx_d7;Rave50CLX;Rave50VCL;pngimaged7;dxGDIPlusD7;UnRegDxPNG
|
||||
Conditionals=
|
||||
DebugSourceDirs=
|
||||
UsePackages=0
|
||||
[Parameters]
|
||||
RunParams="P:\xtx\xtx\xsd\Offerte.xsd" "P:\xtx\xtx\xsd\xml_Offerte.pas"
|
||||
RunParams="P:\xtx\xtx\xsd\Offerte.xsd" "P:\xtx\xtx\xsd\"
|
||||
HostApplication=
|
||||
Launcher=
|
||||
UseLauncher=0
|
||||
@ -135,22 +135,23 @@ ProductName=
|
||||
ProductVersion=
|
||||
Comments=
|
||||
[Excluded Packages]
|
||||
P:\Algemeen\bin\unageneral_d7_design.bpl=UnameIT's General Components - Design-time Editors
|
||||
C:\Program Files\Borland\Indy\D7\dclIndy70.bpl=Internet Direct (Indy) for D7 Property and Component Editors
|
||||
[HistoryLists\hlUnitAliases]
|
||||
Count=1
|
||||
Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||
[HistoryLists\hlSearchPath]
|
||||
Count=2
|
||||
Item0=..\..
|
||||
Item1=F:\Development\VDarts\Packages
|
||||
Count=3
|
||||
Item0=P:\xtx\xtx\xsd
|
||||
Item1=..\..
|
||||
Item2=F:\Development\VDarts\Packages
|
||||
[HistoryLists\hlUnitOutputDirectory]
|
||||
Count=5
|
||||
Item0=P:\Algemeen\lib
|
||||
Item1=..\..\Lib\D7
|
||||
Item2=..\..\Dcu
|
||||
Item3=..\..\..\Dcu
|
||||
Item4=Dcu
|
||||
Count=6
|
||||
Item0=Lib
|
||||
Item1=P:\Algemeen\lib
|
||||
Item2=..\..\Lib\D7
|
||||
Item3=..\..\Dcu
|
||||
Item4=..\..\..\Dcu
|
||||
Item5=Dcu
|
||||
[HistoryLists\hlBPLOutput]
|
||||
Count=3
|
||||
Item0=..\..\Lib\D7
|
||||
|
@ -6,7 +6,10 @@ uses
|
||||
DelphiXMLDataBindingGenerator in 'Units\DelphiXMLDataBindingGenerator.pas',
|
||||
XMLDataBindingGenerator in 'Units\XMLDataBindingGenerator.pas',
|
||||
XMLDataBindingHelpers in 'Units\XMLDataBindingHelpers.pas',
|
||||
DelphiXMLDataBindingResources in 'Units\DelphiXMLDataBindingResources.pas';
|
||||
DelphiXMLDataBindingResources in 'Units\DelphiXMLDataBindingResources.pas',
|
||||
xml_ExternalLeadFeed in '..\xml_ExternalLeadFeed.pas',
|
||||
xml_Offerte in '..\..\xtx\xtx\xsd\xml_Offerte.pas';
|
||||
|
||||
|
||||
begin
|
||||
CoInitialize(nil);
|
||||
@ -16,6 +19,11 @@ begin
|
||||
OutputType := otSingle;
|
||||
OutputPath := ParamStr(2);
|
||||
|
||||
if DirectoryExists(OutputPath) then
|
||||
OutputType := otMultiple
|
||||
else
|
||||
OutputType := otSingle;
|
||||
|
||||
Execute(ParamStr(1));
|
||||
finally
|
||||
Free();
|
||||
|
Loading…
Reference in New Issue
Block a user