Browse Source

* Dotted filenames for package fcl-sdo

Michaël Van Canneyt 2 years ago
parent
commit
99549eec92
71 changed files with 587 additions and 42 deletions
  1. 3 0
      packages/fcl-sdo/namespaced/Sdo.Base.pas
  2. 3 0
      packages/fcl-sdo/namespaced/Sdo.BaseTypes.pas
  3. 3 0
      packages/fcl-sdo/namespaced/Sdo.Binary.Streamer.pas
  4. 3 0
      packages/fcl-sdo/namespaced/Sdo.ChangeSummary.pas
  5. 3 0
      packages/fcl-sdo/namespaced/Sdo.Consts.pas
  6. 3 0
      packages/fcl-sdo/namespaced/Sdo.Cursor.Intf.pas
  7. 3 0
      packages/fcl-sdo/namespaced/Sdo.Das.DataAcces.Intf.pas
  8. 3 0
      packages/fcl-sdo/namespaced/Sdo.Das.Impl.pas
  9. 3 0
      packages/fcl-sdo/namespaced/Sdo.Das.Utils.pas
  10. 3 0
      packages/fcl-sdo/namespaced/Sdo.Das.pas
  11. 3 0
      packages/fcl-sdo/namespaced/Sdo.Data.Factory.pas
  12. 3 0
      packages/fcl-sdo/namespaced/Sdo.DataObject.pas
  13. 3 0
      packages/fcl-sdo/namespaced/Sdo.DateUtils.pas
  14. 3 0
      packages/fcl-sdo/namespaced/Sdo.Dom.Cursors.pas
  15. 3 0
      packages/fcl-sdo/namespaced/Sdo.Field.Impl.pas
  16. 3 0
      packages/fcl-sdo/namespaced/Sdo.Fpc.Xml.pas
  17. 3 0
      packages/fcl-sdo/namespaced/Sdo.Impl.Utils.pas
  18. 3 0
      packages/fcl-sdo/namespaced/Sdo.LinkedList.pas
  19. 3 0
      packages/fcl-sdo/namespaced/Sdo.Locators.pas
  20. 3 0
      packages/fcl-sdo/namespaced/Sdo.Logger.Intf.pas
  21. 3 0
      packages/fcl-sdo/namespaced/Sdo.Parser.Utils.pas
  22. 3 0
      packages/fcl-sdo/namespaced/Sdo.Pas.Generator.pas
  23. 3 0
      packages/fcl-sdo/namespaced/Sdo.Rtti.Filters.pas
  24. 3 0
      packages/fcl-sdo/namespaced/Sdo.Serialization.Binary.pas
  25. 3 0
      packages/fcl-sdo/namespaced/Sdo.Serialization.Utils.pas
  26. 3 0
      packages/fcl-sdo/namespaced/Sdo.Serialization.Xml.pas
  27. 3 0
      packages/fcl-sdo/namespaced/Sdo.Serialization.pas
  28. 3 0
      packages/fcl-sdo/namespaced/Sdo.Types.pas
  29. 3 0
      packages/fcl-sdo/namespaced/Sdo.Utils.pas
  30. 3 0
      packages/fcl-sdo/namespaced/Sdo.Xpath.Helper.pas
  31. 3 0
      packages/fcl-sdo/namespaced/Sdo.Xsd.Consts.pas
  32. 3 0
      packages/fcl-sdo/namespaced/Sdo.Xsd.Generator.pas
  33. 3 0
      packages/fcl-sdo/namespaced/Sdo.Xsd.Helper.pas
  34. 3 0
      packages/fcl-sdo/namespaced/Sdo.Xsd.Intf.pas
  35. 3 0
      packages/fcl-sdo/namespaced/Sdo.Xsd.Parser.pas
  36. 39 0
      packages/fcl-sdo/namespaces.lst
  37. 24 12
      packages/fcl-sdo/src/base/pas_generator.pas
  38. 13 0
      packages/fcl-sdo/src/base/sdo.pas
  39. 12 1
      packages/fcl-sdo/src/base/sdo_binary_streamer.pas
  40. 13 0
      packages/fcl-sdo/src/base/sdo_changesummary.pas
  41. 2 0
      packages/fcl-sdo/src/base/sdo_consts.pas
  42. 8 1
      packages/fcl-sdo/src/base/sdo_cursor_intf.pas
  43. 12 0
      packages/fcl-sdo/src/base/sdo_datafactory.pas
  44. 15 1
      packages/fcl-sdo/src/base/sdo_dataobject.pas
  45. 13 2
      packages/fcl-sdo/src/base/sdo_date_utils.pas
  46. 15 0
      packages/fcl-sdo/src/base/sdo_dom_cursors.pas
  47. 12 0
      packages/fcl-sdo/src/base/sdo_field_imp.pas
  48. 12 0
      packages/fcl-sdo/src/base/sdo_fpc_xml.pas
  49. 8 0
      packages/fcl-sdo/src/base/sdo_imp_utils.pas
  50. 9 0
      packages/fcl-sdo/src/base/sdo_linked_list.pas
  51. 14 0
      packages/fcl-sdo/src/base/sdo_locators.pas
  52. 8 0
      packages/fcl-sdo/src/base/sdo_logger_intf.pas
  53. 13 0
      packages/fcl-sdo/src/base/sdo_parserutils.pas
  54. 9 1
      packages/fcl-sdo/src/base/sdo_rtti_filters.pas
  55. 16 0
      packages/fcl-sdo/src/base/sdo_serialization.pas
  56. 9 0
      packages/fcl-sdo/src/base/sdo_serialization_binary.pas
  57. 8 0
      packages/fcl-sdo/src/base/sdo_serialization_utils.pas
  58. 20 0
      packages/fcl-sdo/src/base/sdo_serialization_xml.pas
  59. 13 0
      packages/fcl-sdo/src/base/sdo_type.pas
  60. 8 1
      packages/fcl-sdo/src/base/sdo_types.pas
  61. 12 0
      packages/fcl-sdo/src/base/sdo_utils.pas
  62. 13 0
      packages/fcl-sdo/src/base/sdo_xpath_helper.pas
  63. 27 8
      packages/fcl-sdo/src/base/sdo_xsd_helper.pas
  64. 8 0
      packages/fcl-sdo/src/base/sdo_xsdintf.pas
  65. 24 0
      packages/fcl-sdo/src/base/sdo_xsdparser.pas
  66. 2 0
      packages/fcl-sdo/src/base/xsd_consts.pas
  67. 29 15
      packages/fcl-sdo/src/base/xsd_generator.pas
  68. 7 0
      packages/fcl-sdo/src/das/data_acces_intf.pas
  69. 8 0
      packages/fcl-sdo/src/das/sdo_das.pas
  70. 14 0
      packages/fcl-sdo/src/das/sdo_das_imp.pas
  71. 13 0
      packages/fcl-sdo/src/das/sdo_das_utils.pas

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Base.pas

@@ -0,0 +1,3 @@
+unit Sdo.Base;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.BaseTypes.pas

@@ -0,0 +1,3 @@
+unit Sdo.BaseTypes;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_types.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Binary.Streamer.pas

@@ -0,0 +1,3 @@
+unit Sdo.Binary.Streamer;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_binary_streamer.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.ChangeSummary.pas

@@ -0,0 +1,3 @@
+unit Sdo.ChangeSummary;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_changesummary.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Consts.pas

@@ -0,0 +1,3 @@
+unit Sdo.Consts;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_consts.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Cursor.Intf.pas

@@ -0,0 +1,3 @@
+unit Sdo.Cursor.Intf;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_cursor_intf.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Das.DataAcces.Intf.pas

@@ -0,0 +1,3 @@
+unit Sdo.Das.DataAcces.Intf;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i data_acces_intf.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Das.Impl.pas

@@ -0,0 +1,3 @@
+unit Sdo.Das.Impl;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_das_imp.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Das.Utils.pas

@@ -0,0 +1,3 @@
+unit Sdo.Das.Utils;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_das_utils.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Das.pas

@@ -0,0 +1,3 @@
+unit Sdo.Das;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_das.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Data.Factory.pas

@@ -0,0 +1,3 @@
+unit Sdo.Data.Factory;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_datafactory.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.DataObject.pas

@@ -0,0 +1,3 @@
+unit Sdo.DataObject;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_dataobject.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.DateUtils.pas

@@ -0,0 +1,3 @@
+unit Sdo.DateUtils;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_date_utils.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Dom.Cursors.pas

@@ -0,0 +1,3 @@
+unit Sdo.Dom.Cursors;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_dom_cursors.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Field.Impl.pas

@@ -0,0 +1,3 @@
+unit Sdo.Field.Impl;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_field_imp.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Fpc.Xml.pas

@@ -0,0 +1,3 @@
+unit Sdo.Fpc.Xml;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_fpc_xml.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Impl.Utils.pas

@@ -0,0 +1,3 @@
+unit Sdo.Impl.Utils;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_imp_utils.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.LinkedList.pas

@@ -0,0 +1,3 @@
+unit Sdo.LinkedList;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_linked_list.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Locators.pas

@@ -0,0 +1,3 @@
+unit Sdo.Locators;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_locators.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Logger.Intf.pas

@@ -0,0 +1,3 @@
+unit Sdo.Logger.Intf;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_logger_intf.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Parser.Utils.pas

@@ -0,0 +1,3 @@
+unit Sdo.Parser.Utils;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_parserutils.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Pas.Generator.pas

@@ -0,0 +1,3 @@
+unit Sdo.Pas.Generator;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i pas_generator.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Rtti.Filters.pas

@@ -0,0 +1,3 @@
+unit Sdo.Rtti.Filters;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_rtti_filters.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Serialization.Binary.pas

@@ -0,0 +1,3 @@
+unit Sdo.Serialization.Binary;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_serialization_binary.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Serialization.Utils.pas

@@ -0,0 +1,3 @@
+unit Sdo.Serialization.Utils;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_serialization_utils.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Serialization.Xml.pas

@@ -0,0 +1,3 @@
+unit Sdo.Serialization.Xml;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_serialization_xml.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Serialization.pas

@@ -0,0 +1,3 @@
+unit Sdo.Serialization;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_serialization.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Types.pas

@@ -0,0 +1,3 @@
+unit Sdo.Types;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_type.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Utils.pas

@@ -0,0 +1,3 @@
+unit Sdo.Utils;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_utils.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Xpath.Helper.pas

@@ -0,0 +1,3 @@
+unit Sdo.Xpath.Helper;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_xpath_helper.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Xsd.Consts.pas

@@ -0,0 +1,3 @@
+unit Sdo.Xsd.Consts;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i xsd_consts.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Xsd.Generator.pas

@@ -0,0 +1,3 @@
+unit Sdo.Xsd.Generator;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i xsd_generator.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Xsd.Helper.pas

@@ -0,0 +1,3 @@
+unit Sdo.Xsd.Helper;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_xsd_helper.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Xsd.Intf.pas

@@ -0,0 +1,3 @@
+unit Sdo.Xsd.Intf;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_xsdintf.pas}

+ 3 - 0
packages/fcl-sdo/namespaced/Sdo.Xsd.Parser.pas

@@ -0,0 +1,3 @@
+unit Sdo.Xsd.Parser;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i sdo_xsdparser.pas}

+ 39 - 0
packages/fcl-sdo/namespaces.lst

@@ -0,0 +1,39 @@
+src/base/xsd_generator.pas=namespaced/Sdo.Xsd.Generator.pas
+{s*:src/base/}=namespaced/
+{i+:src/base/}
+src/base/sdo_field_imp.pas=namespaced/Sdo.Field.Impl.pas
+src/base/sdo_dataobject.pas=namespaced/Sdo.DataObject.pas
+src/base/sdo_serialization.pas=namespaced/Sdo.Serialization.pas
+src/base/sdo_binary_streamer.pas=namespaced/Sdo.Binary.Streamer.pas
+src/base/sdo_parserutils.pas=namespaced/Sdo.Parser.Utils.pas
+src/base/sdo_linked_list.pas=namespaced/Sdo.LinkedList.pas
+src/base/sdo.pas=namespaced/Sdo.Base.pas
+src/base/sdo_date_utils.pas=namespaced/Sdo.DateUtils.pas
+src/base/sdo_serialization_binary.pas=namespaced/Sdo.Serialization.Binary.pas
+src/base/sdo_xpath_helper.pas=namespaced/Sdo.Xpath.Helper.pas
+src/base/sdo_logger_intf.pas=namespaced/Sdo.Logger.Intf.pas
+src/base/sdo_consts.pas=namespaced/Sdo.Consts.pas
+src/base/sdo_xsd_helper.pas=namespaced/Sdo.Xsd.Helper.pas
+src/base/sdo_dom_cursors.pas=namespaced/Sdo.Dom.Cursors.pas
+src/base/sdo_fpc_xml.pas=namespaced/Sdo.Fpc.Xml.pas
+src/base/sdo_type.pas=namespaced/Sdo.Types.pas
+src/base/sdo_serialization_xml.pas=namespaced/Sdo.Serialization.Xml.pas
+src/base/sdo_imp_utils.pas=namespaced/Sdo.Impl.Utils.pas
+src/base/sdo_locators.pas=namespaced/Sdo.Locators.pas
+src/base/sdo_datafactory.pas=namespaced/Sdo.Data.Factory.pas
+src/base/xsd_consts.pas=namespaced/Sdo.Xsd.Consts.pas
+src/base/sdo_serialization_utils.pas=namespaced/Sdo.Serialization.Utils.pas
+src/base/pas_generator.pas=namespaced/Sdo.Pas.Generator.pas
+src/base/sdo_types.pas=namespaced/Sdo.BaseTypes.pas
+src/base/sdo_rtti_filters.pas=namespaced/Sdo.Rtti.Filters.pas
+src/base/sdo_xsdparser.pas=namespaced/Sdo.Xsd.Parser.pas
+src/base/sdo_xsdintf.pas=namespaced/Sdo.Xsd.Intf.pas
+src/base/sdo_utils.pas=namespaced/Sdo.Utils.pas
+src/base/sdo_cursor_intf.pas=namespaced/Sdo.Cursor.Intf.pas
+src/base/sdo_changesummary.pas=namespaced/Sdo.ChangeSummary.pas
+src/das/sdo_das_imp.pas=namespaced/Sdo.Das.Impl.pas
+{s*:src/das/}=namespaced/
+{i+:src/das/}
+src/das/sdo_das_utils.pas=namespaced/Sdo.Das.Utils.pas
+src/das/data_acces_intf.pas=namespaced/Sdo.Das.DataAcces.Intf.pas
+src/das/sdo_das.pas=namespaced/Sdo.Das.pas

+ 24 - 12
packages/fcl-sdo/src/base/pas_generator.pas

@@ -15,12 +15,19 @@
  **********************************************************************}
 {$mode objfpc}
 {$h+}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit pas_generator;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, System.TypInfo, Sdo.Base, System.Contnrs;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, TypInfo, sdo, contnrs;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -212,8 +219,13 @@ type
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Xsd.Intf, Sdo.Xsd.Consts,  System.StrUtils, Sdo.Types, Sdo.Parser.Utils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_xsdintf, xsd_consts,  StrUtils, sdo_types, sdo_parserutils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 { TPasClass }
 
@@ -433,7 +445,7 @@ begin
         GenerateDocumentation(resNode,DecodeLineBreak(ls.ValueFromIndex[i]),ADocument);
     end;
   {$ENDIF SDO_HANDLE_DOC}
-  S:=typItm.getString(sdo_xsdintf.s_Name)+' = (';
+  S:=typItm.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name)+' = (';
   ET:=TPasEnumeration.CreateNamed(S,'');
   Self.FIdentifiers.Add(Et);
   valueList := typItm.getList(s_EnumValue);
@@ -456,7 +468,7 @@ begin
       if not p.getBoolean(s_IsAttribute) then begin
         if ( ACategory = tcSimpleContent ) then begin
           Error(  'Invalid type definition, a simple type cannot have "not attribute" properties : "%s"',
-                  [AClassType.getString(sdo_xsdintf.s_Name)]
+                  [AClassType.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name)]
                 );
         end;
         Result := True;
@@ -476,9 +488,9 @@ var
 
 begin
   p := AProp;
-  PP:=TPasProperty.CreateNamed(p.getString(sdo_xsdintf.s_Name),'');
+  PP:=TPasProperty.CreateNamed(p.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name),'');
   AClass.Members.Add(pp);
-  if p.getBoolean(sdo_xsdintf.s_IsAttribute) then
+  if p.getBoolean({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_IsAttribute) then
     begin
 {    s := Format('%s:%s',[s_xs_short,s_attribute]);
     if Assigned(derivationNode) then
@@ -490,10 +502,10 @@ begin
   pt := p.getDataObject(s_DataType);
   if Assigned(pt) then
     begin
-    if pt.getBoolean(sdo_xsdintf.s_Unresolved) then
-      pt := Find( AContainer,pt.getString(sdo_xsdintf.s_NameSpace),pt.getString(sdo_xsdintf.s_Name));
+    if pt.getBoolean({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Unresolved) then
+      pt := Find( AContainer,pt.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_NameSpace),pt.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name));
     propItmUltimeType := GetUltimeType(pt);
-    PP.TypeName:=pt.getString(sdo_xsdintf.s_Name);
+    PP.TypeName:=pt.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name);
     PP.TypeNamespace := GetTypeNameSpace(pt);
     PP.DefaultValue:=p.getString(s_DefaultValue);
     if p.getBoolean(s_IsAttribute) then
@@ -527,7 +539,7 @@ begin
   if (ASymbol = nil) then
     Exit;
   typItm := ASymbol;
-  PC:=TPasClass.CreateNamed(typItm.getString(sdo_xsdintf.s_Name),AContainer.getDataObject(s_CurrentModule).getString(sdo_xsdintf.s_NameSpace));
+  PC:=TPasClass.CreateNamed(typItm.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name),AContainer.getDataObject(s_CurrentModule).getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_NameSpace));
   Self.FIdentifiers.Add(PC);
 {$IFDEF SDO_HANDLE_DOC}
   ls := AContainer.Properties.FindList(typItm);
@@ -540,19 +552,19 @@ begin
 
   typeCategory := tcComplexContent;
   hasSequence := True;
-  trueParent := typItm.getDataObject(sdo_xsdintf.s_BaseType);
+  trueParent := typItm.getDataObject({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_BaseType);
   if (trueParent <> nil) then
     begin
     if trueParent.getBoolean(s_Unresolved) then
-      trueParent := Find(AContainer,trueParent.getString(sdo_xsdintf.s_NameSpace), trueParent.getString(sdo_xsdintf.s_Name));
+      trueParent := Find(AContainer,trueParent.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_NameSpace), trueParent.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name));
     if (trueParent <> nil) then
       begin
-      if (trueParent.getByte(s_ElementKind) = sdo_xsdintf.ELEMENT_KIND_VARIABLE) then
+      if (trueParent.getByte(s_ElementKind) = {$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.ELEMENT_KIND_VARIABLE) then
         trueParent := GetUltimeType(trueParent);
       if not trueParent.getBoolean(s_IsComplex) then
         typeCategory := tcSimpleContent;
       PC.ParentNameSpace:=GetTypeNameSpace(trueParent);
-      PC.ParentName:=trueParent.getString(sdo_xsdintf.s_Name);
+      PC.ParentName:=trueParent.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name);
       hasSequence := False;
       end;
     end;

+ 13 - 0
packages/fcl-sdo/src/base/sdo.pas

@@ -14,12 +14,20 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, System.Types, System.Variants,
+  Sdo.BaseTypes, Sdo.LinkedList, Sdo.DateUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, Types,
   sdo_types, sdo_linked_list, sdo_date_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   sdo_namespace = 'commonj.sdo';
@@ -1664,8 +1672,13 @@ const
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.StrUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   StrUtils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 procedure InitBufferResources(const ADataType : TSDOTypeKind; var ABuffer : TValueBuffer);
 begin

+ 12 - 1
packages/fcl-sdo/src/base/sdo_binary_streamer.pas

@@ -15,12 +15,19 @@
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
 {$RANGECHECKS OFF}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_binary_streamer;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, System.Types, Sdo.BaseTypes;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, Types, sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 Const
   MAX_ARRAY_LENGTH = 1024*1024;
@@ -45,7 +52,7 @@ Type
 {$ENDIF USE_UNICODE}
   TAnsiCharacter = AnsiChar;
   TWideCharacter = WideChar;
-  TByteDynArray = sdo_types.TByteDynArray;
+  TByteDynArray = {$IFDEF FPC_DOTTEDUNITS}Sdo.BaseTypes.{$ELSE}sdo_types.{$ENDIF}TByteDynArray;
   
   TFloat_Single_4    = Single;
   TFloat_Double_8    = Double;
@@ -622,6 +629,7 @@ function TDataStoreReader.ReadAnsiStr(): TAnsiStringData;
 Var
   i : TInt32S;
 begin
+  Result:=Default(TAnsiStringData);
   i := ReadInt32S();
   SetLength(Result,i);
   If ( i > 0 ) Then
@@ -632,6 +640,7 @@ function TDataStoreReader.ReadWideStr(): TWideStringData;
 var
   i : TInt32S;
 begin
+  Result:=Default(TWideStringData);
   i := ReadInt32S();
   SetLength(Result,i);
   if ( i > 0 ) then begin
@@ -644,6 +653,7 @@ function TDataStoreReader.ReadBinary() : TByteDynArray;
 var
   i : TInt32S;
 begin
+  Result:=Default(TByteDynArray);
   i := ReadInt32S();
   SetLength(Result,i);
   if ( i > 0 ) then
@@ -655,6 +665,7 @@ function TDataStoreReader.ReadUnicodeStr(): TUnicodeStringData;
 var
   i : TInt32S;
 begin
+  Result:=Default(TUnicodeStringData);
   i := ReadInt32S();
   SetLength(Result,i);
   if ( i > 0 ) then begin

+ 13 - 0
packages/fcl-sdo/src/base/sdo_changesummary.pas

@@ -26,12 +26,20 @@
         it will be accepted later _only_ as a new DataObject regardless of the fact that
         it was an ancient member.
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_changesummary;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, System.Contnrs,
+  Sdo.Base, Sdo.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, Contnrs,
   sdo, sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -384,8 +392,13 @@ type
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Utils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {function DataObjectExtractor(const AList : TObjectList; const AIndex : PtrInt) : PtrInt;
 begin

+ 2 - 0
packages/fcl-sdo/src/base/sdo_consts.pas

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_consts;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 

+ 8 - 1
packages/fcl-sdo/src/base/sdo_cursor_intf.pas

@@ -14,12 +14,19 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_cursor_intf;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, Sdo.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -223,4 +230,4 @@ begin
 end;
 
 
-end.
+end.

+ 12 - 0
packages/fcl-sdo/src/base/sdo_datafactory.pas

@@ -14,11 +14,18 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_datafactory;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.SysUtils, System.Classes,
+     Sdo.Base, Sdo.BaseTypes, Sdo.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses SysUtils, Classes,
      sdo, sdo_type, sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -99,8 +106,13 @@ type
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Impl.Utils, Sdo.DataObject, Sdo.Consts;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_imp_utils, sdo_dataobject, sdo_consts;
+{$ENDIF FPC_DOTTEDUNITS}
 
 { TSDOBaseDataFactory }
 

+ 15 - 1
packages/fcl-sdo/src/base/sdo_dataobject.pas

@@ -14,13 +14,22 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_dataobject;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, System.Contnrs,
+  Sdo.Types, Sdo.Base, Sdo.BaseTypes, Sdo.ChangeSummary, Sdo.Xpath.Helper, Sdo.LinkedList,
+  Sdo.Field.Impl;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, Contnrs,
   sdo_types, sdo, sdo_type, sdo_changesummary, sdo_xpath_helper, sdo_linked_list,
   sdo_field_imp;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -716,8 +725,13 @@ type
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Impl.Utils, Sdo.Utils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_imp_utils, sdo_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 { TSDOBaseDataObject }
 
@@ -2142,7 +2156,7 @@ begin
   if Assigned(AContainerProperty) then begin
     if not Assigned(AContainer) then
       raise ESDOIllegalArgumentException.Create('AContainer');
-    if not sdo_utils.InheritsFrom(AContainer.getType(), AContainerProperty.getContainingType()) then //if ( AContainerProperty.getContainingType() <> AContainer.getType() ) then
+    if not {$IFDEF FPC_DOTTEDUNITS}Sdo.Utils.{$ELSE}sdo_utils.{$ENDIF}InheritsFrom(AContainer.getType(), AContainerProperty.getContainingType()) then //if ( AContainerProperty.getContainingType() <> AContainer.getType() ) then
       raise ESDOIllegalArgumentException.Create('AContainerProperty');
   end;
   if Self.IsAncestorOf(AContainer) then

+ 13 - 2
packages/fcl-sdo/src/base/sdo_date_utils.pas

@@ -14,11 +14,18 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_date_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, Sdo.BaseTypes;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
   
 type
 
@@ -144,16 +151,20 @@ resourcestring
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.DateUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses DateUtils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function IncHour(const AValue: TDateTime; const ANumberOfHours: Int64): TDateTime;
 begin
-  Result := DateOf(AValue) + DateUtils.IncHour(TimeOf(AValue),ANumberOfHours);
+  Result := DateOf(AValue) +{$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}DateUtils.IncHour(TimeOf(AValue),ANumberOfHours);
 end;
 
 function IncMinute(const AValue: TDateTime; const ANumberOfMinutes: Int64): TDateTime;
 begin
-  Result := DateOf(AValue) + DateUtils.IncMinute(TimeOf(AValue),ANumberOfMinutes);
+  Result := DateOf(AValue) + {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}DateUtils.IncMinute(TimeOf(AValue),ANumberOfMinutes);
 end;
 
 function NormalizeToUTC(const ADate : TDateTimeRec) : TDateTime;

+ 15 - 0
packages/fcl-sdo/src/base/sdo_dom_cursors.pas

@@ -14,10 +14,23 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_dom_cursors;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils,
+  Sdo.Cursor.Intf,
+{$IFNDEF FPC}
+  xmldom, sdo_win_xml,
+{$ELSE}
+  Xml.Dom, Sdo.Fpc.Xml,
+{$ENDIF}
+  Sdo.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils,
   sdo_cursor_intf,
@@ -27,6 +40,7 @@ uses
   DOM, sdo_fpc_xml,
 {$ENDIF}
   sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
 
@@ -140,6 +154,7 @@ type
 
 
 implementation
+
 {$IFDEF INTF_DOM}
   function CreateChildrenCursor(
           ANode : TDOMNode;

+ 12 - 0
packages/fcl-sdo/src/base/sdo_field_imp.pas

@@ -14,11 +14,18 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_field_imp;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.SysUtils, System.Classes,
+     Sdo.Types, Sdo.Base, Sdo.BaseTypes;
+{$ELSE FPC_DOTTEDUNITS}
 uses SysUtils, Classes,
      sdo_types, sdo, sdo_type;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   BIT_ORDER_SET  = 1;
@@ -1294,8 +1301,13 @@ type
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Impl.Utils, Sdo.DateUtils, System.Variants;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_imp_utils, sdo_date_utils, Variants;
+{$ENDIF FPC_DOTTEDUNITS}
 
 var
   FieldMAP : array[TSDOTypeKind] of ISDOField;

+ 12 - 0
packages/fcl-sdo/src/base/sdo_fpc_xml.pas

@@ -14,12 +14,19 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_fpc_xml;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, Xml.Dom;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, DOM;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -59,8 +66,13 @@ resourcestring
   SERR_XpathExpectingOneNode = 'Xpath expression expecting a single node while got %d node : %s.';
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Xml.Writer, Xml.XPath;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   XMLWrite, xpath;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function GetNodeItemsCount(const ANode : TDOMNode): Integer;
 var

+ 8 - 0
packages/fcl-sdo/src/base/sdo_imp_utils.pas

@@ -14,12 +14,20 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_imp_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes,
+  Sdo.Types, Sdo.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes,
   sdo_types, sdo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 

+ 9 - 0
packages/fcl-sdo/src/base/sdo_linked_list.pas

@@ -16,12 +16,20 @@
 
 {$INCLUDE sdo_global.inc}
 {$RANGECHECKS OFF}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_linked_list;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, System.Types,
+  Sdo.BaseTypes;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, Types,
   sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -315,6 +323,7 @@ function TLinkedListIterator.GetBookmark(): TLinkedListBookmark;
 var
   rec : TLinkedListBookmarkRecord;
 begin
+  Result:=Default(TLinkedListBookmark);
   rec._Data := FData;
   rec._Node := FCurrent;
   rec._Generation := FData.Generation;

+ 14 - 0
packages/fcl-sdo/src/base/sdo_locators.pas

@@ -14,10 +14,23 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_locators;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils,
+{$IFDEF DELPHI}
+  xmldom, sdo_win_xml,
+{$ENDIF DELPHI}
+{$IFDEF FPC}
+ Xml.Dom, Xml.Read,
+{$ENDIF FPC}
+ Sdo.Xsd.Parser;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils,
 {$IFDEF DELPHI}
@@ -27,6 +40,7 @@ uses
  DOM, XMLRead,
 {$ENDIF FPC}
  sdo_xsdparser;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 

+ 8 - 0
packages/fcl-sdo/src/base/sdo_logger_intf.pas

@@ -14,12 +14,19 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_logger_intf;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils; 
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils; 
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -56,6 +63,7 @@ type
 implementation
 
 var FLogger : ILogger = nil;
+
 function SetLogger(ALogger : ILogger) : ILogger;
 begin
   Result := FLogger;

+ 13 - 0
packages/fcl-sdo/src/base/sdo_parserutils.pas

@@ -14,14 +14,23 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_parserutils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes
+  {$IFNDEF FPC}, xmldom, sdo_win_xml{$ELSE},Xml.Dom{$ENDIF},
+  Sdo.Cursor.Intf, Sdo.Dom.Cursors, Sdo.Xsd.Consts, Sdo.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes
   {$IFNDEF FPC}, xmldom, sdo_win_xml{$ELSE},DOM{$ENDIF},
   sdo_cursor_intf, sdo_dom_cursors, xsd_consts, sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TNotFoundAction = ( nfaNone, nfaRaiseException );
@@ -101,7 +110,11 @@ type
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.StrUtils, Sdo.Rtti.Filters;
+{$ELSE FPC_DOTTEDUNITS}
 uses StrUtils, sdo_rtti_filters;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const LANGAGE_TOKEN : array[0..127] of string = (
   'ABSOLUTE', 'ABSTRACT', 'AND', 'ARRAY', 'AS', 'ASM',

+ 9 - 1
packages/fcl-sdo/src/base/sdo_rtti_filters.pas

@@ -14,13 +14,21 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_rtti_filters;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, System.Contnrs, System.TypInfo,
+  Sdo.Cursor.Intf, Sdo.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, Contnrs, TypInfo,
   sdo_cursor_intf, sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -917,4 +925,4 @@ begin
 end;
 {$ENDIF}
 
-end.
+end.

+ 16 - 0
packages/fcl-sdo/src/base/sdo_serialization.pas

@@ -14,14 +14,23 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_serialization;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, System.Contnrs,
+  Sdo.Base, Sdo.BaseTypes, Sdo.Types,
+  Sdo.Serialization.Utils, Sdo.Serialization.Xml;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, Contnrs,
   sdo, sdo_types,
   sdo_serialization_utils, sdo_serialization_xml;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   MAX_NESTED_LEVEL = 256;
@@ -278,10 +287,17 @@ type
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.TypInfo, Sdo.Consts, Sdo.Xsd.Helper,
+  System.StrUtils, Sdo.Impl.Utils, Sdo.Xpath.Helper, Sdo.ChangeSummary,
+  Sdo.Utils, Sdo.DataObject;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   TypInfo, sdo_consts, sdo_xsd_helper,
   StrUtils, sdo_imp_utils, sdo_xpath_helper, sdo_changesummary,
   sdo_utils, sdo_dataobject;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   //TManyValuePropAction = ( mvpaAppend, mvpaInsert, mvpaChange, mvpaDelete );

+ 9 - 0
packages/fcl-sdo/src/base/sdo_serialization_binary.pas

@@ -14,14 +14,23 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_serialization_binary;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, System.Contnrs,
+  Sdo.Binary.Streamer,
+  Sdo.Types, Sdo.Base, Sdo.Consts, Sdo.Serialization.Utils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, Contnrs,
   sdo_binary_streamer,
   sdo_types, sdo, sdo_consts, sdo_serialization_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$DEFINE sdo_binary_header}
   

+ 8 - 0
packages/fcl-sdo/src/base/sdo_serialization_utils.pas

@@ -14,12 +14,20 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_serialization_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, System.Contnrs,
+  Sdo.Types, Sdo.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, Contnrs,
   sdo_types, sdo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 

+ 20 - 0
packages/fcl-sdo/src/base/sdo_serialization_xml.pas

@@ -14,9 +14,23 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_serialization_xml;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, System.Contnrs,
+  Sdo.Types, Sdo.Base, Sdo.Consts, Sdo.Serialization.Utils
+{$IFDEF DELPHI}
+  , xmldom, sdo_win_xml
+{$ENDIF DELPHI}
+{$IFDEF FPC}
+  , Xml.Dom, Sdo.Fpc.Xml, Xml.Read, Xml.Writer
+{$ENDIF FPC}
+  ;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, Contnrs,
   sdo_types, sdo, sdo_consts, sdo_serialization_utils
@@ -27,6 +41,7 @@ uses
   , DOM, sdo_fpc_xml, XMLRead, XMLWrite
 {$ENDIF FPC}
   ;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -324,8 +339,13 @@ resourcestring
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Impl.Utils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_imp_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function ExtractNameSpaceShortName(const ANameSpaceDeclaration : string):string;
 var

+ 13 - 0
packages/fcl-sdo/src/base/sdo_type.pas

@@ -14,11 +14,18 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_type;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.SysUtils, System.Classes,
+     Sdo.BaseTypes, Sdo.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses SysUtils, Classes,
      sdo_types, sdo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   VALUE_STATUS_LENGTH = 1;
@@ -485,8 +492,14 @@ type
   end;
 
 implementation
+
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Impl.Utils, Sdo.DateUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_imp_utils, sdo_date_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 { TSDOTypeAsbtract }

+ 8 - 1
packages/fcl-sdo/src/base/sdo_types.pas

@@ -14,11 +14,18 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 {$IFDEF DELPHI}
   type
@@ -51,7 +58,7 @@ type
 {$ENDIF}
   TBinaryString = TStringBufferType;
 
-  TByteDynArray = Types.TByteDynArray;
+  TByteDynArray = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.TByteDynArray;
   
 implementation
 

+ 12 - 0
packages/fcl-sdo/src/base/sdo_utils.pas

@@ -14,11 +14,18 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Base, Sdo.Types;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo, sdo_types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
   TListValueExtractProc = procedure (const AList : ISDODataObjectList; var AValueBuffer : TValueBuffer);
@@ -45,8 +52,13 @@ type
   function InheritsFrom(const AChild, AParent : ISDOType) : Boolean;
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function InheritsFrom(const AChild, AParent : ISDOType) : Boolean;
 var

+ 13 - 0
packages/fcl-sdo/src/base/sdo_xpath_helper.pas

@@ -14,12 +14,20 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_xpath_helper;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Contnrs,
+  Sdo.Types, Sdo.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Contnrs,
   sdo_types, sdo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -302,8 +310,13 @@ type
 
 implementation
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.TypInfo;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   TypInfo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function ParseXPath(const AString : string) : TXPathNode;
 var

+ 27 - 8
packages/fcl-sdo/src/base/sdo_xsd_helper.pas

@@ -14,11 +14,18 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_xsd_helper;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.SysUtils, System.Classes,
+     Sdo.Base, Sdo.BaseTypes, Sdo.Types, Sdo.Data.Factory;
+{$ELSE FPC_DOTTEDUNITS}
 uses SysUtils, Classes,
      sdo, sdo_type, sdo_datafactory;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -67,6 +74,17 @@ type
   end;
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+   Sdo.Parser.Utils,
+{$IFNDEF FPC}
+   xmldom, sdo_win_xml,
+{$ELSE}
+   Xml.Dom, Xml.Read, Xml.Writer, Sdo.Fpc.Xml,
+{$ENDIF}
+   Sdo.Xsd.Parser, Sdo.Impl.Utils, Sdo.Xsd.Generator, Sdo.Xsd.Consts, Sdo.Consts,
+   Sdo.Xsd.Intf, Sdo.Pas.Generator;
+{$ELSE FPC_DOTTEDUNITS}
 uses
    sdo_types, sdo_parserutils,
 {$IFNDEF FPC}
@@ -76,6 +94,7 @@ uses
 {$ENDIF}
    sdo_xsdparser, sdo_imp_utils, xsd_generator, xsd_consts, sdo_consts,
    sdo_xsdintf, pas_generator;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   SDO_SPECIAL_TYPES = [CharacterType, CurrencyType];
@@ -191,7 +210,7 @@ begin
     AddXsdTypes(tree);
     SdoTypesToPasTree(tree,FDataFactory,lst);
     doc := CreateDoc();
-    gnrt := TXsdGenerator.Create(doc,[xsd_generator.xgoIgnorembeddedArray]);
+    gnrt := TXsdGenerator.Create(doc,[{$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Generator{$ELSE}xsd_generator{$ENDIF}.xgoIgnorembeddedArray]);
     gnrt.SetPreferedShortNames(sdo_namespace,s_sdo);
     gnrt.Execute(tree,ATargetNamespace);
     WriteXMLFile(doc,ADestStream);
@@ -253,7 +272,7 @@ begin
   try
     AddXsdTypes(tree);
     SdoTypesToPasTree(tree,FDataFactory,lst);
-    gnrt := TPasGenerator.Create(ADestStream,[pas_generator.xgoIgnorembeddedArray]);
+    gnrt := TPasGenerator.Create(ADestStream,[{$IFDEF FPC_DOTTEDUNITS}Sdo.Pas.Generator{$ELSE}pas_generator{$ENDIF}.xgoIgnorembeddedArray]);
     gnrt.SetPreferedShortNames(sdo_namespace,s_sdo);
     gnrt.Execute(tree,ATargetNamespace);
   finally
@@ -469,7 +488,7 @@ var
     k : PtrInt;
   begin
     Result := nil;
-    line := Trim(FindTag(AProp,Format('%s#%s',[sdo_namespace,sdo_consts.s_propertyType])));
+    line := Trim(FindTag(AProp,Format('%s#%s',[sdo_namespace,{$IFDEF FPC_DOTTEDUNITS}Sdo.Consts{$ELSE}sdo_consts{$ENDIF}.s_propertyType])));
     if ( Length(line) > 0 ) then begin
       k := Pos('#',line);
       if ( k > 0 ) then begin
@@ -750,7 +769,7 @@ var
       if not AProperty.getContainingType().equals(AType) then
         Exit;
       propTypeSDO := AProperty.getType();
-      isObjRefProp := propTypeSDO.isDataObjectType() and AProperty.isReference();
+      isObjRefProp := propTypeSdo.isDataObjectType() and AProperty.isReference();
       if isObjRefProp then
         propType := Find(FTree,s_xs,s_anyURI)
       else
@@ -764,7 +783,7 @@ var
           prop.setInteger(s_PropertyMaxOccurs,MaxInt);
         prop.setBoolean(
           s_IsAttribute,
-          (not( propTypeSDO.isDataObjectType() or
+          (not( propTypeSdo.isDataObjectType() or
                 isObjRefProp or
                 AProperty.isMany() or
                 AProperty.getType().isChangeSummaryType()
@@ -773,11 +792,11 @@ var
           AProperty.isAttribute()
         );
       res.getList(s_Property).append(prop);
-      if isObjRefProp or (propTypeSDO.getTypeEnum() in SDO_SPECIAL_TYPES) then
+      if isObjRefProp or (propTypeSdo.getTypeEnum() in SDO_SPECIAL_TYPES) then
         SetTagValue(
           prop,
-          Format('%s#%s',[sdo_namespace,sdo_consts.s_propertyType]),
-          Format('%s#%s',[propTypeSDO.getURI(),propTypeSDO.getName()])
+          Format('%s#%s',[sdo_namespace,{$IFDEF FPC_DOTTEDUNITS}Sdo.Consts{$ELSE}sdo_consts{$ENDIF}.s_propertyType]),
+          Format('%s#%s',[propTypeSdo.getURI(),propTypeSdo.getName()])
         );
     end;
 

+ 8 - 0
packages/fcl-sdo/src/base/sdo_xsdintf.pas

@@ -14,12 +14,20 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_xsdintf;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils,
+  Sdo.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils,
   sdo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
 { Type tree :

+ 24 - 0
packages/fcl-sdo/src/base/sdo_xsdparser.pas

@@ -14,9 +14,23 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_xsdparser;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, System.Contnrs,
+{$IFDEF DELPHI}
+  xmldom, sdo_win_xml,
+{$ENDIF DELPHI}
+{$IFDEF FPC}
+  Xml.Dom, Sdo.Fpc.Xml,
+{$ENDIF FPC}
+  Sdo.Cursor.Intf, Sdo.Rtti.Filters, Sdo.Logger.Intf,
+  Sdo.Types, Sdo.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, Contnrs,
 {$IFDEF DELPHI}
@@ -27,6 +41,7 @@ uses
 {$ENDIF FPC}
   sdo_cursor_intf, sdo_rtti_filters, sdo_logger_intf,
   sdo_types, sdo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -296,12 +311,21 @@ type
 
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+{$IFDEF FPC}
+  Xml.Read,
+{$ENDIF FPC}
+  Sdo.Dom.Cursors, Sdo.Parser.Utils, System.StrUtils, Sdo.Xsd.Consts, Sdo.Consts,
+  Sdo.Xsd.Intf, Sdo.Utils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 {$IFDEF FPC}
   xmlread,
 {$ENDIF FPC}
   sdo_dom_cursors, sdo_parserutils, StrUtils, xsd_consts, sdo_consts,
   sdo_xsdintf, sdo_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 procedure ParseSchema(
   const AFileName : string;

+ 2 - 0
packages/fcl-sdo/src/base/xsd_consts.pas

@@ -13,7 +13,9 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit xsd_consts;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 

+ 29 - 15
packages/fcl-sdo/src/base/xsd_generator.pas

@@ -14,14 +14,23 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit xsd_generator;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, System.TypInfo,
+  {$IFNDEF FPC}xmldom, sdo_win_xml,{$ELSE}Xml.Dom, Sdo.Fpc.Xml,{$ENDIF}
+  Sdo.Base;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   Classes, SysUtils, TypInfo,
   {$IFNDEF FPC}xmldom, sdo_win_xml,{$ELSE}DOM, sdo_fpc_xml,{$ENDIF}
   sdo;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -103,8 +112,13 @@ type
   function CreateElement(const ANodeName : DOMString; AParent : TDOMNode; ADoc : TDOMDocument):TDOMElement;{$IFDEF USE_INLINE}inline;{$ENDIF}
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Xsd.Intf, Sdo.Xsd.Consts, System.Contnrs, System.StrUtils, Sdo.Types, Sdo.Parser.Utils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_xsdintf, xsd_consts, Contnrs, StrUtils, sdo_types, sdo_parserutils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function FindAttributeByValueInNode(
   const AAttValue        : string;
@@ -259,7 +273,7 @@ begin
 
   s := Format('%s:%s',[s_xs_short,s_simpleType]);
   resNode := CreateElement(s,defSchemaNode,Document);
-  resNode.SetAttribute(s_name, typItm.getString(sdo_xsdintf.s_Name)) ;
+  resNode.SetAttribute(s_name, typItm.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name)) ;
 {$IFDEF SDO_HANDLE_DOC}
   ls := AContainer.Properties.FindList(typItm);
   if ( ls <> nil ) then begin
@@ -301,7 +315,7 @@ procedure TCustomXsdGenerator.GenerateComplex(AContainer, ASymbol: ISDODataObjec
           if ( ACategory = tcSimpleContent ) then begin
             raise EXsdGeneratorException.CreateFmt(
                     'Invalid type definition, a simple type cannot have "not attribute" properties : "%s"',
-                    [AClassType.getString(sdo_xsdintf.s_Name)]
+                    [AClassType.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name)]
                   );
           end;
           Result := True;
@@ -321,14 +335,14 @@ procedure TCustomXsdGenerator.GenerateComplex(AContainer, ASymbol: ISDODataObjec
     if (ls.size() > 0) then begin
       for k := 0 to ls.size() - 1 do begin
         tagObj := ls.getDataObject(k);
-        line := tagObj.getString(sdo_xsdintf.s_Name);
+        line := tagObj.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name);
         q := Pos('#',line);
         if ( q > 0 ) then begin
           ns := Copy(line,1,Pred(q));
           localName := Copy(line,Succ(q),MaxInt);
           ns_short := GetNameSpaceShortName(ns,Document,GetPreferedShortNames());
           attName := Format('%s:%s',[ns_short,localName]);
-          line := tagObj.getString(sdo_xsdintf.s_Value);
+          line := tagObj.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Value);
           q := Pos('#',line);
           if ( q > 0 ) then begin
             ns := Copy(line,1,Pred(q));
@@ -400,7 +414,7 @@ var
     prop_ns_shortName : string;
   begin
     p := AProp;
-    if p.getBoolean(sdo_xsdintf.s_IsAttribute) then begin
+    if p.getBoolean({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_IsAttribute) then begin
       s := Format('%s:%s',[s_xs_short,s_attribute]);
       if Assigned(derivationNode) then
         propNode := CreateElement(s,derivationNode,Document)
@@ -410,13 +424,13 @@ var
       s := Format('%s:%s',[s_xs_short,s_element]);
       propNode := CreateElement(s,sqcNode,Document);
     end;
-    propNode.SetAttribute(s_name,p.getString(sdo_xsdintf.s_Name));
+    propNode.SetAttribute(s_name,p.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name));
     propTypItm := p.getDataObject(s_DataType);
     if Assigned(propTypItm) then begin
-      if propTypItm.getBoolean(sdo_xsdintf.s_Unresolved) then
-        propTypItm := Find( AContainer,propTypItm.getString(sdo_xsdintf.s_NameSpace),propTypItm.getString(sdo_xsdintf.s_Name));
+      if propTypItm.getBoolean({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Unresolved) then
+        propTypItm := Find( AContainer,propTypItm.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_NameSpace),propTypItm.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name));
       propItmUltimeType := GetUltimeType(propTypItm);
-      s := propTypItm.getString(sdo_xsdintf.s_Name);
+      s := propTypItm.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name);
       prop_ns_shortName := GetNameSpaceShortName(GetTypeNameSpace(propTypItm),Document,GetPreferedShortNames());
       propNode.SetAttribute(s_type,Format('%s:%s',[prop_ns_shortName,s]));
       if (Length(p.getString(s_DefaultValue)) > 0) then
@@ -451,14 +465,14 @@ begin
     Exit;
   typItm := ASymbol;
   GetNameSpaceShortName(
-    AContainer.getDataObject(s_CurrentModule).getString(sdo_xsdintf.s_NameSpace),
+    AContainer.getDataObject(s_CurrentModule).getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_NameSpace),
     Document,GetPreferedShortNames()
   );
   defSchemaNode := GetSchemaNode(Document) as TDOMElement;
 
   s := Format('%s:%s',[s_xs_short,s_complexType]);
   cplxNode := CreateElement(s,defSchemaNode,Document);
-  cplxNode.SetAttribute(s_name, typItm.getString(sdo_xsdintf.s_Name)) ;
+  cplxNode.SetAttribute(s_name, typItm.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name)) ;
 
 {$IFDEF SDO_HANDLE_DOC}
   ls := AContainer.Properties.FindList(typItm);
@@ -472,12 +486,12 @@ begin
   typeCategory := tcComplexContent;
   derivationNode := nil;
   hasSequence := True;
-  trueParent := typItm.getDataObject(sdo_xsdintf.s_BaseType);
+  trueParent := typItm.getDataObject({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_BaseType);
   if (trueParent <> nil) then begin
     if trueParent.getBoolean(s_Unresolved) then
-      trueParent := Find(AContainer,trueParent.getString(sdo_xsdintf.s_NameSpace), trueParent.getString(sdo_xsdintf.s_Name));
+      trueParent := Find(AContainer,trueParent.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_NameSpace), trueParent.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name));
     if (trueParent <> nil) then begin
-      if (trueParent.getByte(s_ElementKind) = sdo_xsdintf.ELEMENT_KIND_VARIABLE) then
+      if (trueParent.getByte(s_ElementKind) = {$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.ELEMENT_KIND_VARIABLE) then
         trueParent := GetUltimeType(trueParent);
       if not trueParent.getBoolean(s_IsComplex) then
         typeCategory := tcSimpleContent;
@@ -490,7 +504,7 @@ begin
       s := Trim(GetNameSpaceShortName(GetTypeNameSpace(trueParent),Document,GetPreferedShortNames()));
       if ( Length(s) > 0 ) then
         s := s + ':';
-      s := s + trueParent.getString(sdo_xsdintf.s_Name);
+      s := s + trueParent.getString({$IFDEF FPC_DOTTEDUNITS}Sdo.Xsd.Intf{$ELSE}sdo_xsdintf{$ENDIF}.s_Name);
       derivationNode.SetAttribute(s_base,s);
       hasSequence := False;
     end;

+ 7 - 0
packages/fcl-sdo/src/das/data_acces_intf.pas

@@ -14,11 +14,18 @@
 
  **********************************************************************}
 {$I sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit data_acces_intf;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, Data.Db;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, DB;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   s_DatabaseName = 'DatabaseName';

+ 8 - 0
packages/fcl-sdo/src/das/sdo_das.pas

@@ -14,12 +14,20 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_das;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, Data.Db, 
+  Sdo.Base, Sdo.Das.DataAcces.Intf;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, DB, 
   sdo, data_acces_intf;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 

+ 14 - 0
packages/fcl-sdo/src/das/sdo_das_imp.pas

@@ -14,12 +14,20 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_das_imp;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, System.Contnrs, Data.Db,
+  Sdo.Base, Sdo.Das, Sdo.Consts, Sdo.Types, Sdo.Das.DataAcces.intf;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, Contnrs, DB,
   sdo, sdo_das, sdo_consts, sdo_types, data_acces_intf;
+{$ENDIF FPC_DOTTEDUNITS}
 
 type
 
@@ -120,8 +128,14 @@ resourcestring
   SDODAS_MSG_INALID_PARAMS = 'Invalid parameter(s) : "%s".';
 
 implementation
+
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.Das.Utils, Sdo.Impl.Utils;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_das_utils, sdo_imp_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 function Creator(AFactory : ISDODataFactory) : ISDODAS;
 begin

+ 13 - 0
packages/fcl-sdo/src/das/sdo_das_utils.pas

@@ -14,12 +14,20 @@
 
  **********************************************************************}
 {$INCLUDE sdo_global.inc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit sdo_das_utils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.SysUtils, System.Classes, Data.Db,
+  Sdo.Base, Sdo.Das, Sdo.Das.DataAcces.Intf;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   SysUtils, Classes, DB,
   sdo, sdo_das, data_acces_intf;
+{$ENDIF FPC_DOTTEDUNITS}
 
 const
   BOOLEAN_TRUE_CHARS : set of AnsiChar = ['T','t', 'Y', 'y', 'O', 'o', '1'];
@@ -106,8 +114,13 @@ type
 
 
 implementation
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  Sdo.DateUtils, Sdo.Impl.Utils, Sdo.LinkedList;
+{$ELSE FPC_DOTTEDUNITS}
 uses
   sdo_date_utils, sdo_imp_utils, sdo_linked_list;
+{$ENDIF FPC_DOTTEDUNITS}
 
 procedure AssignValue(AObject : ISDODataObject; AProp : ISDOProperty; AField : TField);