{Copyright or © or Copr. :

CNRS - Laboratoire Mouvement & Perception
franck.buloup@univmed.fr

This software is a computer program whose purpose is to highly simplify  
the use of ADwinPro realtime systems when you develop experimental
protocols  on life's sciences area.

This software is governed by the CeCILL  license under French law and
abiding by the rules of distribution of free software.  You can  use, 
modify and/ or redistribute the software under the terms of the CeCILL
license as circulated by CEA, CNRS and INRIA at the following URL
"http://www.cecill.info". 

As a counterpart to the access to the source code and  rights to copy,
modify and redistribute granted by the license, users are provided only
with a limited warranty  and the software's author,  the holder of the
economic rights,  and the successive licensors  have only  limited
liability. 

In this respect, the user's attention is drawn to the risks associated
with loading,  using,  modifying and/or developing or reproducing the
software by the user in light of its specific status of free software,
that may mean  that it is complicated to manipulate,  and  that  also
therefore means  that it is reserved for developers  and  experienced
professionals having in-depth computer knowledge. Users are therefore
encouraged to load and test the software's suitability as regards their
requirements in conditions enabling the security of their systems and/or 
data to be ensured and,  more generally, to use and operate it in the 
same conditions as regards security. 

The fact that you are presently reading this means that you have had
knowledge of the CeCILL license and that you accept its terms.}
unit XMLClassesEchanges;

interface

uses xmldom, XMLDoc, XMLIntf;

type

{ Décl. Forward }

  IXMLEchangeROOTType = interface;
  IXMLEchangeFONCTIONType = interface;
  IXMLEchangeENTREEType = interface;
  IXMLEchangeENTREETypeList = interface;
  IXMLEchangeSORTIEType = interface;
  IXMLEchangeSORTIETypeList = interface;
  IXMLEchangePARAMType = interface;
  IXMLEchangePARAMTypeList = interface;
  IXMLEchangeADBASICType = interface;
  IXMLEchangeINCLUDEType = interface;
  IXMLEchangeINCLUDETypeList = interface;
  IXMLEchangeIMPORTType = interface;
  IXMLEchangeIMPORTTypeList = interface;
  IXMLEchangeVARType = interface;
  IXMLEchangeVARTypeList = interface;
  IXMLEchangeLOWINITType = interface;
  IXMLEchangeLOWINITTypeList = interface;
  IXMLEchangeCODEType = interface;
  IXMLEchangeCODETypeList = interface;
  IXMLEchangeFINISHType = interface;
  IXMLEchangeFINISHTypeList = interface;
  IXMLEchangeFCTSSPType = interface;
  IXMLEchangeFCTSSPTypeList = interface;
  IXMLEchangeLIBRARYType = interface;
  IXMLEchangeLIBRARYTypeList = interface;
  IXMLEchangePASCALType = interface;
  IXMLEchangeCANALType = interface;
  IXMLEchangeCANALTypeList = interface;

{ IXMLEchangeROOTType }

  IXMLEchangeROOTType = interface(IXMLNode)
    ['{40E9E7BF-28D3-4248-8779-636592DAC777}']
    { Accesseurs de propriétés }
    function Get_FONCTION: IXMLEchangeFONCTIONType;
    function Get_CANAL: IXMLEchangeCANALTypeList;
    { Méthodes & propriétés }
    property FONCTION: IXMLEchangeFONCTIONType read Get_FONCTION;
    property CANAL: IXMLEchangeCANALTypeList read Get_CANAL;
  end;

{ IXMLEchangeFONCTIONType }

  IXMLEchangeFONCTIONType = interface(IXMLNode)
    ['{F576ED5D-2478-4CAE-9BE0-3DCE4A914995}']
    { Accesseurs de propriétés }
    function Get_DUREE: Double;
    function Get_FICHIER: WideString;
    function Get_GENRE: WideString;
    function Get_ENTREE: IXMLEchangeENTREETypeList;
    function Get_SORTIE: IXMLEchangeSORTIETypeList;
    function Get_PARAM: IXMLEchangePARAMTypeList;
    function Get_ADBASIC: IXMLEchangeADBASICType;
    function Get_PASCAL: IXMLEchangePASCALType;
    procedure Set_DUREE(Value: Double);
    procedure Set_FICHIER(Value: WideString);
    procedure Set_GENRE(Value: WideString);
    { Méthodes & propriétés }
    property DUREE: Double read Get_DUREE write Set_DUREE;
    property FICHIER: WideString read Get_FICHIER write Set_FICHIER;
    property GENRE: WideString read Get_GENRE write Set_GENRE;
    property ENTREE: IXMLEchangeENTREETypeList read Get_ENTREE;
    property SORTIE: IXMLEchangeSORTIETypeList read Get_SORTIE;
    property PARAM: IXMLEchangePARAMTypeList read Get_PARAM;
    property ADBASIC: IXMLEchangeADBASICType read Get_ADBASIC;
    property PASCAL_: IXMLEchangePASCALType read Get_PASCAL;
  end;

{ IXMLEchangeENTREEType }

  IXMLEchangeENTREEType = interface(IXMLNode)
    ['{D77CBB89-E096-4F86-8280-283F19087ED6}']
    { Accesseurs de propriétés }
    function Get_NOM: WideString;
    procedure Set_NOM(Value: WideString);
    { Méthodes & propriétés }
    property NOM: WideString read Get_NOM write Set_NOM;
  end;

{ IXMLEchangeENTREETypeList }

  IXMLEchangeENTREETypeList = interface(IXMLNodeCollection)
    ['{2BB81F31-5821-4145-91B9-2527B4384103}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeENTREEType;
    function Insert(const Index: Integer): IXMLEchangeENTREEType;
    function Get_Item(Index: Integer): IXMLEchangeENTREEType;
    property Items[Index: Integer]: IXMLEchangeENTREEType read Get_Item; default;
  end;

{ IXMLEchangeSORTIEType }

  IXMLEchangeSORTIEType = interface(IXMLNode)
    ['{67A6D12E-9A37-41ED-8641-AC023CC7FDDC}']
    { Accesseurs de propriétés }
    function Get_NOM: WideString;
    procedure Set_NOM(Value: WideString);
    { Méthodes & propriétés }
    property NOM: WideString read Get_NOM write Set_NOM;
  end;

{ IXMLEchangeSORTIETypeList }

  IXMLEchangeSORTIETypeList = interface(IXMLNodeCollection)
    ['{E87A671E-C99E-49FB-917D-395B663B2769}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeSORTIEType;
    function Insert(const Index: Integer): IXMLEchangeSORTIEType;
    function Get_Item(Index: Integer): IXMLEchangeSORTIEType;
    property Items[Index: Integer]: IXMLEchangeSORTIEType read Get_Item; default;
  end;

{ IXMLEchangePARAMType }

  IXMLEchangePARAMType = interface(IXMLNode)
    ['{433EC85C-A0D3-4974-8F23-B28B7135AE9E}']
    { Accesseurs de propriétés }
    function Get_NOM: WideString;
    procedure Set_NOM(Value: WideString);
    { Méthodes & propriétés }
    property NOM: WideString read Get_NOM write Set_NOM;
  end;

{ IXMLEchangePARAMTypeList }

  IXMLEchangePARAMTypeList = interface(IXMLNodeCollection)
    ['{806AA862-4EAA-4F54-AE2C-DA68321854A1}']
    { Méthodes & propriétés }
    function Add: IXMLEchangePARAMType;
    function Insert(const Index: Integer): IXMLEchangePARAMType;
    function Get_Item(Index: Integer): IXMLEchangePARAMType;
    property Items[Index: Integer]: IXMLEchangePARAMType read Get_Item; default;
  end;

{ IXMLEchangeINCLUDEType }

  IXMLEchangeINCLUDEType = interface(IXMLNode)
    ['{6FA3E32A-6103-4587-BE32-27726D60D4D7}']
    { Accesseurs de propriétés }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
    { Méthodes & propriétés }
    property TEXT: WideString read Get_TEXT write Set_TEXT;
  end;

{ IXMLEchangeINCLUDETypeList }

  IXMLEchangeINCLUDETypeList = interface(IXMLNodeCollection)
    ['{AEF7B444-8EAD-4273-A617-908C68315DBA}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeINCLUDEType;
    function Insert(const Index: Integer): IXMLEchangeINCLUDEType;
    function Get_Item(Index: Integer): IXMLEchangeINCLUDEType;
    property Items[Index: Integer]: IXMLEchangeINCLUDEType read Get_Item; default;
  end;

{ IXMLEchangeIMPORTType }

  IXMLEchangeIMPORTType = interface(IXMLNode)
    ['{91A7E9E8-0700-4A3D-951A-BB12DFA46BAE}']
    { Accesseurs de propriétés }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
    { Méthodes & propriétés }
    property TEXT: WideString read Get_TEXT write Set_TEXT;
  end;

{ IXMLEchangeIMPORTTypeList }

  IXMLEchangeIMPORTTypeList = interface(IXMLNodeCollection)
    ['{FC45EA43-ABAA-4762-8235-4411639DEEEC}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeIMPORTType;
    function Insert(const Index: Integer): IXMLEchangeIMPORTType;
    function Get_Item(Index: Integer): IXMLEchangeIMPORTType;
    property Items[Index: Integer]: IXMLEchangeIMPORTType read Get_Item; default;
  end;

{ IXMLEchangeVARType }

  IXMLEchangeVARType = interface(IXMLNode)
    ['{1B8E8AD8-35CD-4753-9698-60EED3646B35}']
    { Accesseurs de propriétés }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
    { Méthodes & propriétés }
    property TEXT: WideString read Get_TEXT write Set_TEXT;
  end;

{ IXMLEchangeVARTypeList }

  IXMLEchangeVARTypeList = interface(IXMLNodeCollection)
    ['{4E8749DD-8DF1-4125-A59E-E8BA665202C8}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeVARType;
    function Insert(const Index: Integer): IXMLEchangeVARType;
    function Get_Item(Index: Integer): IXMLEchangeVARType;
    property Items[Index: Integer]: IXMLEchangeVARType read Get_Item; default;
  end;

{ IXMLEchangeLOWINITType }

  IXMLEchangeLOWINITType = interface(IXMLNode)
    ['{89DA648D-321E-44CA-A4E3-F893013551CF}']
    { Accesseurs de propriétés }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
    { Méthodes & propriétés }
    property TEXT: WideString read Get_TEXT write Set_TEXT;
  end;

{ IXMLEchangeLOWINITTypeList }

  IXMLEchangeLOWINITTypeList = interface(IXMLNodeCollection)
    ['{0B51200D-D4AD-47DF-945C-768DE6BC7153}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeLOWINITType;
    function Insert(const Index: Integer): IXMLEchangeLOWINITType;
    function Get_Item(Index: Integer): IXMLEchangeLOWINITType;
    property Items[Index: Integer]: IXMLEchangeLOWINITType read Get_Item; default;
  end;

{ IXMLEchangeCODEType }

  IXMLEchangeCODEType = interface(IXMLNode)
    ['{8F04FDD7-ACFF-4321-AE19-9EA81D22897A}']
    { Accesseurs de propriétés }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
    { Méthodes & propriétés }
    property TEXT: WideString read Get_TEXT write Set_TEXT;
  end;

{ IXMLEchangeCODETypeList }

  IXMLEchangeCODETypeList = interface(IXMLNodeCollection)
    ['{2BE9BF82-7E9E-477B-B51E-11A84E0B92DD}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeCODEType;
    function Insert(const Index: Integer): IXMLEchangeCODEType;
    function Get_Item(Index: Integer): IXMLEchangeCODEType;
    property Items[Index: Integer]: IXMLEchangeCODEType read Get_Item; default;
  end;

{ IXMLEchangeFINISHType }

  IXMLEchangeFINISHType = interface(IXMLNode)
    ['{6082968F-51DB-4D49-B923-BFAD14382E0C}']
    { Accesseurs de propriétés }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
    { Méthodes & propriétés }
    property TEXT: WideString read Get_TEXT write Set_TEXT;
  end;

{ IXMLEchangeFINISHTypeList }

  IXMLEchangeFINISHTypeList = interface(IXMLNodeCollection)
    ['{CA9BC0D4-4F7E-4B26-8AC7-665494490293}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeFINISHType;
    function Insert(const Index: Integer): IXMLEchangeFINISHType;
    function Get_Item(Index: Integer): IXMLEchangeFINISHType;
    property Items[Index: Integer]: IXMLEchangeFINISHType read Get_Item; default;
  end;

{ IXMLEchangeFCTSSPType }

  IXMLEchangeFCTSSPType = interface(IXMLNode)
    ['{AC56C0B5-3234-4890-9C9C-0F3D64EF8142}']
    { Accesseurs de propriétés }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
    { Méthodes & propriétés }
    property TEXT: WideString read Get_TEXT write Set_TEXT;
  end;

{ IXMLEchangeFCTSSPTypeList }

  IXMLEchangeFCTSSPTypeList = interface(IXMLNodeCollection)
    ['{9AC14781-2C9F-4B4A-B501-634F2EBF5514}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeFCTSSPType;
    function Insert(const Index: Integer): IXMLEchangeFCTSSPType;
    function Get_Item(Index: Integer): IXMLEchangeFCTSSPType;
    property Items[Index: Integer]: IXMLEchangeFCTSSPType read Get_Item; default;
  end;

{ IXMLEchangeLIBRARYType }

  IXMLEchangeLIBRARYType = interface(IXMLNode)
    ['{B56923A8-6864-4284-8027-BDDB79530654}']
    { Accesseurs de propriétés }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
    { Méthodes & propriétés }
    property TEXT: WideString read Get_TEXT write Set_TEXT;
  end;

{ IXMLEchangeLIBRARYTypeList }

  IXMLEchangeLIBRARYTypeList = interface(IXMLNodeCollection)
    ['{7C5D3E79-6C11-4B51-937D-36B1117C29FB}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeLIBRARYType;
    function Insert(const Index: Integer): IXMLEchangeLIBRARYType;
    function Get_Item(Index: Integer): IXMLEchangeLIBRARYType;
    property Items[Index: Integer]: IXMLEchangeLIBRARYType read Get_Item; default;
  end;

{ IXMLEchangeADBASICType }

  IXMLEchangeADBASICType = interface(IXMLNode)
    ['{D258DD0A-155A-47CC-A95E-F535CF7CAF8A}']
    { Accesseurs de propriétés }
    function Get_INCLUDE: IXMLEchangeINCLUDETypeList;
    function Get_IMPORT: IXMLEchangeIMPORTTypeList;
    function Get_VAR_: IXMLEchangeVARTypeList;
    function Get_LOWINIT: IXMLEchangeLOWINITTypeList;
    function Get_CODE: IXMLEchangeCODETypeList;
    function Get_FINISH: IXMLEchangeFINISHTypeList;
    function Get_FCTSSP: IXMLEchangeFCTSSPTypeList;
    function Get_LIBRARY_: IXMLEchangeLIBRARYTypeList;
    { Méthodes & propriétés }
    property INCLUDE: IXMLEchangeINCLUDETypeList read Get_INCLUDE;
    property IMPORT: IXMLEchangeIMPORTTypeList read Get_IMPORT;
    property VAR_: IXMLEchangeVARTypeList read Get_VAR_;
    property LOWINIT: IXMLEchangeLOWINITTypeList read Get_LOWINIT;
    property CODE: IXMLEchangeCODETypeList read Get_CODE;
    property FINISH: IXMLEchangeFINISHTypeList read Get_FINISH;
    property FCTSSP: IXMLEchangeFCTSSPTypeList read Get_FCTSSP;
    property LIBRARY_: IXMLEchangeLIBRARYTypeList read Get_LIBRARY_;
  end;

{ IXMLEchangePASCALType }

  IXMLEchangePASCALType = interface(IXMLNode)
    ['{45725A98-7006-4532-90E9-7AEADCD16D46}']
    { Accesseurs de propriétés }
    function Get_INCLUDE: IXMLEchangeINCLUDETypeList;
    function Get_IMPORT: IXMLEchangeIMPORTTypeList;
    function Get_VAR_: IXMLEchangeVARTypeList;
    function Get_LOWINIT: IXMLEchangeLOWINITTypeList;
    function Get_CODE: IXMLEchangeCODETypeList;
    function Get_FINISH: IXMLEchangeFINISHTypeList;
    function Get_FCTSSP: IXMLEchangeFCTSSPTypeList;
    function Get_LIBRARY_: IXMLEchangeLIBRARYTypeList;
    { Méthodes & propriétés }
    property INCLUDE: IXMLEchangeINCLUDETypeList read Get_INCLUDE;
    property IMPORT: IXMLEchangeIMPORTTypeList read Get_IMPORT;
    property VAR_: IXMLEchangeVARTypeList read Get_VAR_;
    property LOWINIT: IXMLEchangeLOWINITTypeList read Get_LOWINIT;
    property CODE: IXMLEchangeCODETypeList read Get_CODE;
    property FINISH: IXMLEchangeFINISHTypeList read Get_FINISH;
    property FCTSSP: IXMLEchangeFCTSSPTypeList read Get_FCTSSP;
    property LIBRARY_: IXMLEchangeLIBRARYTypeList read Get_LIBRARY_;
  end;

{ IXMLEchangeCANALType }

  IXMLEchangeCANALType = interface(IXMLNode)
    ['{5429865A-4CC6-41D6-8D46-3C9494865E09}']
    { Accesseurs de propriétés }
    function Get_NOM: WideString;
    procedure Set_NOM(Value: WideString);
    function Get_SORTE: WideString;
    procedure Set_SORTE(Value: WideString);
    { Méthodes & propriétés }
    property NOM: WideString read Get_NOM write Set_NOM;
    property SORTE : WideString read Get_SORTE write Set_SORTE;
  end;

{ IXMLEchangeCANALTypeList }

  IXMLEchangeCANALTypeList = interface(IXMLNodeCollection)
    ['{6BB1D9F7-6D9F-4133-AA72-AB43DB4EB5B1}']
    { Méthodes & propriétés }
    function Add: IXMLEchangeCANALType;
    function Insert(const Index: Integer): IXMLEchangeCANALType;
    function Get_Item(Index: Integer): IXMLEchangeCANALType;
    property Items[Index: Integer]: IXMLEchangeCANALType read Get_Item; default;
  end;

{ Décl. Forward }

  TXMLEchangeROOTType = class;
  TXMLEchangeFONCTIONType = class;
  TXMLEchangeENTREEType = class;
  TXMLEchangeENTREETypeList = class;
  TXMLEchangeSORTIEType = class;
  TXMLEchangeSORTIETypeList = class;
  TXMLEchangePARAMType = class;
  TXMLEchangePARAMTypeList = class;
  TXMLEchangeADBASICType = class;
  TXMLEchangeINCLUDEType = class;
  TXMLEchangeINCLUDETypeList = class;
  TXMLEchangeIMPORTType = class;
  TXMLEchangeIMPORTTypeList = class;
  TXMLEchangeVARType = class;
  TXMLEchangeVARTypeList = class;
  TXMLEchangeLOWINITType = class;
  TXMLEchangeLOWINITTypeList = class;
  TXMLEchangeCODEType = class;
  TXMLEchangeCODETypeList = class;
  TXMLEchangeFINISHType = class;
  TXMLEchangeFINISHTypeList = class;
  TXMLEchangeFCTSSPType = class;
  TXMLEchangeFCTSSPTypeList = class;
  TXMLEchangeLIBRARYType = class;
  TXMLEchangeLIBRARYTypeList = class;
  TXMLEchangePASCALType = class;
  TXMLEchangeCANALType = class;
  TXMLEchangeCANALTypeList = class;

{ TXMLEchangeROOTType }

  TXMLEchangeROOTType = class(TXMLNode, IXMLEchangeROOTType)
  private
    FCANAL: IXMLEchangeCANALTypeList;
  protected
    { IXMLEchangeROOTType }
    function Get_FONCTION: IXMLEchangeFONCTIONType;
    function Get_CANAL: IXMLEchangeCANALTypeList;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLEchangeFONCTIONType }

  TXMLEchangeFONCTIONType = class(TXMLNode, IXMLEchangeFONCTIONType)
  private
    FENTREE: IXMLEchangeENTREETypeList;
    FSORTIE: IXMLEchangeSORTIETypeList;
    FPARAM: IXMLEchangePARAMTypeList;
  protected
    { IXMLEchangeFONCTIONType }
    function Get_DUREE: Double;
    function Get_FICHIER: WideString;
    function Get_GENRE: WideString;
    function Get_ENTREE: IXMLEchangeENTREETypeList;
    function Get_SORTIE: IXMLEchangeSORTIETypeList;
    function Get_PARAM: IXMLEchangePARAMTypeList;
    function Get_ADBASIC: IXMLEchangeADBASICType;
    function Get_PASCAL: IXMLEchangePASCALType;
    procedure Set_DUREE(Value: Double);
    procedure Set_FICHIER(Value: WideString);
    procedure Set_GENRE(Value: WideString);
  public
    procedure AfterConstruction; override;
  end;

{ TXMLEchangeENTREEType }

  TXMLEchangeENTREEType = class(TXMLNode, IXMLEchangeENTREEType)
  protected
    { IXMLEchangeENTREEType }
    function Get_NOM: WideString;
    procedure Set_NOM(Value: WideString);
  end;

{ TXMLEchangeENTREETypeList }

  TXMLEchangeENTREETypeList = class(TXMLNodeCollection, IXMLEchangeENTREETypeList)
  protected
    { IXMLEchangeENTREETypeList }
    function Add: IXMLEchangeENTREEType;
    function Insert(const Index: Integer): IXMLEchangeENTREEType;
    function Get_Item(Index: Integer): IXMLEchangeENTREEType;
  end;

{ TXMLEchangeSORTIEType }

  TXMLEchangeSORTIEType = class(TXMLNode, IXMLEchangeSORTIEType)
  protected
    { IXMLEchangeSORTIEType }
    function Get_NOM: WideString;
    procedure Set_NOM(Value: WideString);
  end;

{ TXMLEchangeSORTIETypeList }

  TXMLEchangeSORTIETypeList = class(TXMLNodeCollection, IXMLEchangeSORTIETypeList)
  protected
    { IXMLEchangeSORTIETypeList }
    function Add: IXMLEchangeSORTIEType;
    function Insert(const Index: Integer): IXMLEchangeSORTIEType;
    function Get_Item(Index: Integer): IXMLEchangeSORTIEType;
  end;

{ TXMLEchangePARAMType }

  TXMLEchangePARAMType = class(TXMLNode, IXMLEchangePARAMType)
  protected
    { IXMLEchangePARAMType }
    function Get_NOM: WideString;
    procedure Set_NOM(Value: WideString);
  end;

{ TXMLEchangePARAMTypeList }

  TXMLEchangePARAMTypeList = class(TXMLNodeCollection, IXMLEchangePARAMTypeList)
  protected
    { IXMLEchangePARAMTypeList }
    function Add: IXMLEchangePARAMType;
    function Insert(const Index: Integer): IXMLEchangePARAMType;
    function Get_Item(Index: Integer): IXMLEchangePARAMType;
  end;

{ TXMLEchangeADBASICType }

  TXMLEchangeADBASICType = class(TXMLNode, IXMLEchangeADBASICType)
  private
    FINCLUDE: IXMLEchangeINCLUDETypeList;
    FIMPORT: IXMLEchangeIMPORTTypeList;
    FVAR_: IXMLEchangeVARTypeList;
    FLOWINIT: IXMLEchangeLOWINITTypeList;
    FCODE: IXMLEchangeCODETypeList;
    FFINISH: IXMLEchangeFINISHTypeList;
    FFCTSSP: IXMLEchangeFCTSSPTypeList;
    FLIBRARY_: IXMLEchangeLIBRARYTypeList;
  protected
    { IXMLEchangeADBASICType }
    function Get_INCLUDE: IXMLEchangeINCLUDETypeList;
    function Get_IMPORT: IXMLEchangeIMPORTTypeList;
    function Get_VAR_: IXMLEchangeVARTypeList;
    function Get_LOWINIT: IXMLEchangeLOWINITTypeList;
    function Get_CODE: IXMLEchangeCODETypeList;
    function Get_FINISH: IXMLEchangeFINISHTypeList;
    function Get_FCTSSP: IXMLEchangeFCTSSPTypeList;
    function Get_LIBRARY_: IXMLEchangeLIBRARYTypeList;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLEchangeINCLUDEType }

  TXMLEchangeINCLUDEType = class(TXMLNode, IXMLEchangeINCLUDEType)
  protected
    { IXMLEchangeINCLUDEType }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
  end;

{ TXMLEchangeINCLUDETypeList }

  TXMLEchangeINCLUDETypeList = class(TXMLNodeCollection, IXMLEchangeINCLUDETypeList)
  protected
    { IXMLEchangeINCLUDETypeList }
    function Add: IXMLEchangeINCLUDEType;
    function Insert(const Index: Integer): IXMLEchangeINCLUDEType;
    function Get_Item(Index: Integer): IXMLEchangeINCLUDEType;
  end;

{ TXMLEchangeIMPORTType }

  TXMLEchangeIMPORTType = class(TXMLNode, IXMLEchangeIMPORTType)
  protected
    { IXMLEchangeIMPORTType }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
  end;

{ TXMLEchangeIMPORTTypeList }

  TXMLEchangeIMPORTTypeList = class(TXMLNodeCollection, IXMLEchangeIMPORTTypeList)
  protected
    { IXMLEchangeIMPORTTypeList }
    function Add: IXMLEchangeIMPORTType;
    function Insert(const Index: Integer): IXMLEchangeIMPORTType;
    function Get_Item(Index: Integer): IXMLEchangeIMPORTType;
  end;

{ TXMLEchangeVARType }

  TXMLEchangeVARType = class(TXMLNode, IXMLEchangeVARType)
  protected
    { IXMLEchangeVARType }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
  end;

{ TXMLEchangeVARTypeList }

  TXMLEchangeVARTypeList = class(TXMLNodeCollection, IXMLEchangeVARTypeList)
  protected
    { IXMLEchangeVARTypeList }
    function Add: IXMLEchangeVARType;
    function Insert(const Index: Integer): IXMLEchangeVARType;
    function Get_Item(Index: Integer): IXMLEchangeVARType;
  end;

{ TXMLEchangeLOWINITType }

  TXMLEchangeLOWINITType = class(TXMLNode, IXMLEchangeLOWINITType)
  protected
    { IXMLEchangeLOWINITType }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
  end;

{ TXMLEchangeLOWINITTypeList }

  TXMLEchangeLOWINITTypeList = class(TXMLNodeCollection, IXMLEchangeLOWINITTypeList)
  protected
    { IXMLEchangeLOWINITTypeList }
    function Add: IXMLEchangeLOWINITType;
    function Insert(const Index: Integer): IXMLEchangeLOWINITType;
    function Get_Item(Index: Integer): IXMLEchangeLOWINITType;
  end;

{ TXMLEchangeCODEType }

  TXMLEchangeCODEType = class(TXMLNode, IXMLEchangeCODEType)
  protected
    { IXMLEchangeCODEType }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
  end;

{ TXMLEchangeCODETypeList }

  TXMLEchangeCODETypeList = class(TXMLNodeCollection, IXMLEchangeCODETypeList)
  protected
    { IXMLEchangeCODETypeList }
    function Add: IXMLEchangeCODEType;
    function Insert(const Index: Integer): IXMLEchangeCODEType;
    function Get_Item(Index: Integer): IXMLEchangeCODEType;
  end;

{ TXMLEchangeFINISHType }

  TXMLEchangeFINISHType = class(TXMLNode, IXMLEchangeFINISHType)
  protected
    { IXMLEchangeFINISHType }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
  end;

{ TXMLEchangeFINISHTypeList }

  TXMLEchangeFINISHTypeList = class(TXMLNodeCollection, IXMLEchangeFINISHTypeList)
  protected
    { IXMLEchangeFINISHTypeList }
    function Add: IXMLEchangeFINISHType;
    function Insert(const Index: Integer): IXMLEchangeFINISHType;
    function Get_Item(Index: Integer): IXMLEchangeFINISHType;
  end;

{ TXMLEchangeFCTSSPType }

  TXMLEchangeFCTSSPType = class(TXMLNode, IXMLEchangeFCTSSPType)
  protected
    { IXMLEchangeFCTSSPType }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
  end;

{ TXMLEchangeFCTSSPTypeList }

  TXMLEchangeFCTSSPTypeList = class(TXMLNodeCollection, IXMLEchangeFCTSSPTypeList)
  protected
    { IXMLEchangeFCTSSPTypeList }
    function Add: IXMLEchangeFCTSSPType;
    function Insert(const Index: Integer): IXMLEchangeFCTSSPType;
    function Get_Item(Index: Integer): IXMLEchangeFCTSSPType;
  end;

{ TXMLEchangeLIBRARYType }

  TXMLEchangeLIBRARYType = class(TXMLNode, IXMLEchangeLIBRARYType)
  protected
    { IXMLEchangeLIBRARYType }
    function Get_TEXT: WideString;
    procedure Set_TEXT(Value: WideString);
  end;

{ TXMLEchangeLIBRARYTypeList }

  TXMLEchangeLIBRARYTypeList = class(TXMLNodeCollection, IXMLEchangeLIBRARYTypeList)
  protected
    { IXMLEchangeLIBRARYTypeList }
    function Add: IXMLEchangeLIBRARYType;
    function Insert(const Index: Integer): IXMLEchangeLIBRARYType;
    function Get_Item(Index: Integer): IXMLEchangeLIBRARYType;
  end;

{ TXMLEchangePASCALType }

  TXMLEchangePASCALType = class(TXMLNode, IXMLEchangePASCALType)
  private
    FINCLUDE: IXMLEchangeINCLUDETypeList;
    FIMPORT: IXMLEchangeIMPORTTypeList;
    FVAR_: IXMLEchangeVARTypeList;
    FLOWINIT: IXMLEchangeLOWINITTypeList;
    FCODE: IXMLEchangeCODETypeList;
    FFINISH: IXMLEchangeFINISHTypeList;
    FFCTSSP: IXMLEchangeFCTSSPTypeList;
    FLIBRARY_: IXMLEchangeLIBRARYTypeList;
  protected
    { IXMLEchangePASCALType }
    function Get_INCLUDE: IXMLEchangeINCLUDETypeList;
    function Get_IMPORT: IXMLEchangeIMPORTTypeList;
    function Get_VAR_: IXMLEchangeVARTypeList;
    function Get_LOWINIT: IXMLEchangeLOWINITTypeList;
    function Get_CODE: IXMLEchangeCODETypeList;
    function Get_FINISH: IXMLEchangeFINISHTypeList;
    function Get_FCTSSP: IXMLEchangeFCTSSPTypeList;
    function Get_LIBRARY_: IXMLEchangeLIBRARYTypeList;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLEchangeCANALType }

  TXMLEchangeCANALType = class(TXMLNode, IXMLEchangeCANALType)
  protected
    { IXMLEchangeCANALType }
    function Get_NOM: WideString;
    procedure Set_NOM(Value: WideString);
    function Get_SORTE: WideString;
    procedure Set_SORTE(Value: WideString);
  end;

{ TXMLEchangeCANALTypeList }

  TXMLEchangeCANALTypeList = class(TXMLNodeCollection, IXMLEchangeCANALTypeList)
  protected
    { IXMLEchangeCANALTypeList }
    function Add: IXMLEchangeCANALType;
    function Insert(const Index: Integer): IXMLEchangeCANALType;
    function Get_Item(Index: Integer): IXMLEchangeCANALType;
  end;

{ Fonctions globales }

function GetROOTEchange(Doc: IXMLDocument): IXMLEchangeROOTType;
function LoadROOTEchange(const FileName: WideString): IXMLEchangeROOTType;
function NewROOTEchange: IXMLEchangeROOTType;

const
  TargetNamespace = '';

implementation

{ Fonctions globales }

function GetROOTEchange(Doc: IXMLDocument): IXMLEchangeROOTType;
begin
  Result := Doc.GetDocBinding('ROOT', TXMLEchangeROOTType, TargetNamespace) as IXMLEchangeROOTType;
end;

function LoadROOTEchange(const FileName: WideString): IXMLEchangeROOTType;
begin
  Result := LoadXMLDocument(FileName).GetDocBinding('ROOT', TXMLEchangeROOTType, TargetNamespace) as 
IXMLEchangeROOTType;
end;

function NewROOTEchange: IXMLEchangeROOTType;
begin
  Result := NewXMLDocument.GetDocBinding('ROOT', TXMLEchangeROOTType, TargetNamespace) as IXMLEchangeROOTType;
end;

{ TXMLEchangeROOTType }

procedure TXMLEchangeROOTType.AfterConstruction;
begin
  RegisterChildNode('FONCTION', TXMLEchangeFONCTIONType);
  RegisterChildNode('CANAL', TXMLEchangeCANALType);
  FCANAL := CreateCollection(TXMLEchangeCANALTypeList, IXMLEchangeCANALType, 'CANAL') as IXMLEchangeCANALTypeList;
  inherited;
end;

function TXMLEchangeROOTType.Get_FONCTION: IXMLEchangeFONCTIONType;
begin
  Result := ChildNodes['FONCTION'] as IXMLEchangeFONCTIONType;
end;

function TXMLEchangeROOTType.Get_CANAL: IXMLEchangeCANALTypeList;
begin
  Result := FCANAL;
end;

{ TXMLEchangeFONCTIONType }

procedure TXMLEchangeFONCTIONType.AfterConstruction;
begin
  RegisterChildNode('ENTREE', TXMLEchangeENTREEType);
  RegisterChildNode('SORTIE', TXMLEchangeSORTIEType);
  RegisterChildNode('PARAM', TXMLEchangePARAMType);
  RegisterChildNode('ADBASIC', TXMLEchangeADBASICType);
  RegisterChildNode('PASCAL', TXMLEchangePASCALType);
  FENTREE := CreateCollection(TXMLEchangeENTREETypeList, IXMLEchangeENTREEType, 'ENTREE') as 
IXMLEchangeENTREETypeList;
  FSORTIE := CreateCollection(TXMLEchangeSORTIETypeList, IXMLEchangeSORTIEType, 'SORTIE') as 
IXMLEchangeSORTIETypeList;
  FPARAM := CreateCollection(TXMLEchangePARAMTypeList, IXMLEchangePARAMType, 'PARAM') as IXMLEchangePARAMTypeList;
  inherited;
end;

function TXMLEchangeFONCTIONType.Get_DUREE: Double;
begin
  Result := AttributeNodes['DUREE'].NodeValue;
end;

procedure TXMLEchangeFONCTIONType.Set_DUREE(Value: Double);
begin
  SetAttribute('DUREE', Value);
end;

function TXMLEchangeFONCTIONType.Get_FICHIER: WideString;
begin
  Result := AttributeNodes['FICHIER'].Text;
end;

procedure TXMLEchangeFONCTIONType.Set_FICHIER(Value: WideString);
begin
  SetAttribute('FICHIER', Value);
end;

function TXMLEchangeFONCTIONType.Get_GENRE: WideString;
begin
  Result := AttributeNodes['GENRE'].Text;
end;

procedure TXMLEchangeFONCTIONType.Set_GENRE(Value: WideString);
begin
  SetAttribute('GENRE', Value);
end;

function TXMLEchangeFONCTIONType.Get_ENTREE: IXMLEchangeENTREETypeList;
begin
  Result := FENTREE;
end;

function TXMLEchangeFONCTIONType.Get_SORTIE: IXMLEchangeSORTIETypeList;
begin
  Result := FSORTIE;
end;

function TXMLEchangeFONCTIONType.Get_PARAM: IXMLEchangePARAMTypeList;
begin
  Result := FPARAM;
end;

function TXMLEchangeFONCTIONType.Get_ADBASIC: IXMLEchangeADBASICType;
begin
  Result := ChildNodes['ADBASIC'] as IXMLEchangeADBASICType;
end;

function TXMLEchangeFONCTIONType.Get_PASCAL: IXMLEchangePASCALType;
begin
  Result := ChildNodes['PASCAL'] as IXMLEchangePASCALType;
end;

{ TXMLEchangeENTREEType }

function TXMLEchangeENTREEType.Get_NOM: WideString;
begin
  Result := AttributeNodes['NOM'].Text;
end;

procedure TXMLEchangeENTREEType.Set_NOM(Value: WideString);
begin
  SetAttribute('NOM', Value);
end;

{ TXMLEchangeENTREETypeList }

function TXMLEchangeENTREETypeList.Add: IXMLEchangeENTREEType;
begin
  Result := AddItem(-1) as IXMLEchangeENTREEType;
end;

function TXMLEchangeENTREETypeList.Insert(const Index: Integer): IXMLEchangeENTREEType;
begin
  Result := AddItem(Index) as IXMLEchangeENTREEType;
end;
function TXMLEchangeENTREETypeList.Get_Item(Index: Integer): IXMLEchangeENTREEType;
begin
  Result := List[Index] as IXMLEchangeENTREEType;
end;

{ TXMLEchangeSORTIEType }

function TXMLEchangeSORTIEType.Get_NOM: WideString;
begin
  Result := AttributeNodes['NOM'].Text;
end;

procedure TXMLEchangeSORTIEType.Set_NOM(Value: WideString);
begin
  SetAttribute('NOM', Value);
end;

{ TXMLEchangeSORTIETypeList }

function TXMLEchangeSORTIETypeList.Add: IXMLEchangeSORTIEType;
begin
  Result := AddItem(-1) as IXMLEchangeSORTIEType;
end;

function TXMLEchangeSORTIETypeList.Insert(const Index: Integer): IXMLEchangeSORTIEType;
begin
  Result := AddItem(Index) as IXMLEchangeSORTIEType;
end;
function TXMLEchangeSORTIETypeList.Get_Item(Index: Integer): IXMLEchangeSORTIEType;
begin
  Result := List[Index] as IXMLEchangeSORTIEType;
end;

{ TXMLEchangePARAMType }

function TXMLEchangePARAMType.Get_NOM: WideString;
begin
  Result := AttributeNodes['NOM'].Text;
end;

procedure TXMLEchangePARAMType.Set_NOM(Value: WideString);
begin
  SetAttribute('NOM', Value);
end;

{ TXMLEchangePARAMTypeList }

function TXMLEchangePARAMTypeList.Add: IXMLEchangePARAMType;
begin
  Result := AddItem(-1) as IXMLEchangePARAMType;
end;

function TXMLEchangePARAMTypeList.Insert(const Index: Integer): IXMLEchangePARAMType;
begin
  Result := AddItem(Index) as IXMLEchangePARAMType;
end;
function TXMLEchangePARAMTypeList.Get_Item(Index: Integer): IXMLEchangePARAMType;
begin
  Result := List[Index] as IXMLEchangePARAMType;
end;

{ TXMLEchangeADBASICType }

procedure TXMLEchangeADBASICType.AfterConstruction;
begin
  RegisterChildNode('INCLUDE', TXMLEchangeINCLUDEType);
  RegisterChildNode('IMPORT', TXMLEchangeIMPORTType);
  RegisterChildNode('VAR', TXMLEchangeVARType);
  RegisterChildNode('LOWINIT', TXMLEchangeLOWINITType);
  RegisterChildNode('CODE', TXMLEchangeCODEType);
  RegisterChildNode('FINISH', TXMLEchangeFINISHType);
  RegisterChildNode('FCTSSP', TXMLEchangeFCTSSPType);
  RegisterChildNode('LIBRARY', TXMLEchangeLIBRARYType);
  FINCLUDE := CreateCollection(TXMLEchangeINCLUDETypeList, IXMLEchangeINCLUDEType, 'INCLUDE') as 
IXMLEchangeINCLUDETypeList;
  FIMPORT := CreateCollection(TXMLEchangeIMPORTTypeList, IXMLEchangeIMPORTType, 'IMPORT') as 
IXMLEchangeIMPORTTypeList;
  FVAR_ := CreateCollection(TXMLEchangeVARTypeList, IXMLEchangeVARType, 'VAR') as IXMLEchangeVARTypeList;
  FLOWINIT := CreateCollection(TXMLEchangeLOWINITTypeList, IXMLEchangeLOWINITType, 'LOWINIT') as 
IXMLEchangeLOWINITTypeList;
  FCODE := CreateCollection(TXMLEchangeCODETypeList, IXMLEchangeCODEType, 'CODE') as IXMLEchangeCODETypeList;
  FFINISH := CreateCollection(TXMLEchangeFINISHTypeList, IXMLEchangeFINISHType, 'FINISH') as IXMLEchangeFINISHTypeList;
  FFCTSSP := CreateCollection(TXMLEchangeFCTSSPTypeList, IXMLEchangeFCTSSPType, 'FCTSSP') as 
IXMLEchangeFCTSSPTypeList;
  FLIBRARY_ := CreateCollection(TXMLEchangeLIBRARYTypeList, IXMLEchangeLIBRARYType, 'LIBRARY') as 
IXMLEchangeLIBRARYTypeList;
  inherited;
end;

function TXMLEchangeADBASICType.Get_INCLUDE: IXMLEchangeINCLUDETypeList;
begin
  Result := FINCLUDE;
end;

function TXMLEchangeADBASICType.Get_IMPORT: IXMLEchangeIMPORTTypeList;
begin
  Result := FIMPORT;
end;

function TXMLEchangeADBASICType.Get_VAR_: IXMLEchangeVARTypeList;
begin
  Result := FVAR_;
end;

function TXMLEchangeADBASICType.Get_LOWINIT: IXMLEchangeLOWINITTypeList;
begin
  Result := FLOWINIT;
end;

function TXMLEchangeADBASICType.Get_CODE: IXMLEchangeCODETypeList;
begin
  Result := FCODE;
end;

function TXMLEchangeADBASICType.Get_FINISH: IXMLEchangeFINISHTypeList;
begin
  Result := FFINISH;
end;

function TXMLEchangeADBASICType.Get_FCTSSP: IXMLEchangeFCTSSPTypeList;
begin
  Result := FFCTSSP;
end;

function TXMLEchangeADBASICType.Get_LIBRARY_: IXMLEchangeLIBRARYTypeList;
begin
  Result := FLIBRARY_;
end;

{ TXMLEchangeINCLUDEType }

function TXMLEchangeINCLUDEType.Get_TEXT: WideString;
begin
  Result := AttributeNodes['TEXT'].Text;
end;

procedure TXMLEchangeINCLUDEType.Set_TEXT(Value: WideString);
begin
  SetAttribute('TEXT', Value);
end;

{ TXMLEchangeINCLUDETypeList }

function TXMLEchangeINCLUDETypeList.Add: IXMLEchangeINCLUDEType;
begin
  Result := AddItem(-1) as IXMLEchangeINCLUDEType;
end;

function TXMLEchangeINCLUDETypeList.Insert(const Index: Integer): IXMLEchangeINCLUDEType;
begin
  Result := AddItem(Index) as IXMLEchangeINCLUDEType;
end;
function TXMLEchangeINCLUDETypeList.Get_Item(Index: Integer): IXMLEchangeINCLUDEType;
begin
  Result := List[Index] as IXMLEchangeINCLUDEType;
end;

{ TXMLEchangeIMPORTType }

function TXMLEchangeIMPORTType.Get_TEXT: WideString;
begin
  Result := AttributeNodes['TEXT'].Text;
end;

procedure TXMLEchangeIMPORTType.Set_TEXT(Value: WideString);
begin
  SetAttribute('TEXT', Value);
end;

{ TXMLEchangeIMPORTTypeList }

function TXMLEchangeIMPORTTypeList.Add: IXMLEchangeIMPORTType;
begin
  Result := AddItem(-1) as IXMLEchangeIMPORTType;
end;

function TXMLEchangeIMPORTTypeList.Insert(const Index: Integer): IXMLEchangeIMPORTType;
begin
  Result := AddItem(Index) as IXMLEchangeIMPORTType;
end;
function TXMLEchangeIMPORTTypeList.Get_Item(Index: Integer): IXMLEchangeIMPORTType;
begin
  Result := List[Index] as IXMLEchangeIMPORTType;
end;

{ TXMLEchangeVARType }

function TXMLEchangeVARType.Get_TEXT: WideString;
begin
  Result := AttributeNodes['TEXT'].Text;
end;

procedure TXMLEchangeVARType.Set_TEXT(Value: WideString);
begin
  SetAttribute('TEXT', Value);
end;

{ TXMLEchangeVARTypeList }

function TXMLEchangeVARTypeList.Add: IXMLEchangeVARType;
begin
  Result := AddItem(-1) as IXMLEchangeVARType;
end;

function TXMLEchangeVARTypeList.Insert(const Index: Integer): IXMLEchangeVARType;
begin
  Result := AddItem(Index) as IXMLEchangeVARType;
end;
function TXMLEchangeVARTypeList.Get_Item(Index: Integer): IXMLEchangeVARType;
begin
  Result := List[Index] as IXMLEchangeVARType;
end;

{ TXMLEchangeLOWINITType }

function TXMLEchangeLOWINITType.Get_TEXT: WideString;
begin
  Result := AttributeNodes['TEXT'].Text;
end;

procedure TXMLEchangeLOWINITType.Set_TEXT(Value: WideString);
begin
  SetAttribute('TEXT', Value);
end;

{ TXMLEchangeLOWINITTypeList }

function TXMLEchangeLOWINITTypeList.Add: IXMLEchangeLOWINITType;
begin
  Result := AddItem(-1) as IXMLEchangeLOWINITType;
end;

function TXMLEchangeLOWINITTypeList.Insert(const Index: Integer): IXMLEchangeLOWINITType;
begin
  Result := AddItem(Index) as IXMLEchangeLOWINITType;
end;
function TXMLEchangeLOWINITTypeList.Get_Item(Index: Integer): IXMLEchangeLOWINITType;
begin
  Result := List[Index] as IXMLEchangeLOWINITType;
end;

{ TXMLEchangeCODEType }

function TXMLEchangeCODEType.Get_TEXT: WideString;
begin
  Result := AttributeNodes['TEXT'].Text;
end;

procedure TXMLEchangeCODEType.Set_TEXT(Value: WideString);
begin
  SetAttribute('TEXT', Value);
end;

{ TXMLEchangeCODETypeList }

function TXMLEchangeCODETypeList.Add: IXMLEchangeCODEType;
begin
  Result := AddItem(-1) as IXMLEchangeCODEType;
end;

function TXMLEchangeCODETypeList.Insert(const Index: Integer): IXMLEchangeCODEType;
begin
  Result := AddItem(Index) as IXMLEchangeCODEType;
end;
function TXMLEchangeCODETypeList.Get_Item(Index: Integer): IXMLEchangeCODEType;
begin
  Result := List[Index] as IXMLEchangeCODEType;
end;

{ TXMLEchangeFINISHType }

function TXMLEchangeFINISHType.Get_TEXT: WideString;
begin
  Result := AttributeNodes['TEXT'].Text;
end;

procedure TXMLEchangeFINISHType.Set_TEXT(Value: WideString);
begin
  SetAttribute('TEXT', Value);
end;

{ TXMLEchangeFINISHTypeList }

function TXMLEchangeFINISHTypeList.Add: IXMLEchangeFINISHType;
begin
  Result := AddItem(-1) as IXMLEchangeFINISHType;
end;

function TXMLEchangeFINISHTypeList.Insert(const Index: Integer): IXMLEchangeFINISHType;
begin
  Result := AddItem(Index) as IXMLEchangeFINISHType;
end;
function TXMLEchangeFINISHTypeList.Get_Item(Index: Integer): IXMLEchangeFINISHType;
begin
  Result := List[Index] as IXMLEchangeFINISHType;
end;

{ TXMLEchangeFCTSSPType }

function TXMLEchangeFCTSSPType.Get_TEXT: WideString;
begin
  Result := AttributeNodes['TEXT'].Text;
end;

procedure TXMLEchangeFCTSSPType.Set_TEXT(Value: WideString);
begin
  SetAttribute('TEXT', Value);
end;

{ TXMLEchangeFCTSSPTypeList }

function TXMLEchangeFCTSSPTypeList.Add: IXMLEchangeFCTSSPType;
begin
  Result := AddItem(-1) as IXMLEchangeFCTSSPType;
end;

function TXMLEchangeFCTSSPTypeList.Insert(const Index: Integer): IXMLEchangeFCTSSPType;
begin
  Result := AddItem(Index) as IXMLEchangeFCTSSPType;
end;
function TXMLEchangeFCTSSPTypeList.Get_Item(Index: Integer): IXMLEchangeFCTSSPType;
begin
  Result := List[Index] as IXMLEchangeFCTSSPType;
end;

{ TXMLEchangeLIBRARYType }

function TXMLEchangeLIBRARYType.Get_TEXT: WideString;
begin
  Result := AttributeNodes['TEXT'].Text;
end;

procedure TXMLEchangeLIBRARYType.Set_TEXT(Value: WideString);
begin
  SetAttribute('TEXT', Value);
end;

{ TXMLEchangeLIBRARYTypeList }

function TXMLEchangeLIBRARYTypeList.Add: IXMLEchangeLIBRARYType;
begin
  Result := AddItem(-1) as IXMLEchangeLIBRARYType;
end;

function TXMLEchangeLIBRARYTypeList.Insert(const Index: Integer): IXMLEchangeLIBRARYType;
begin
  Result := AddItem(Index) as IXMLEchangeLIBRARYType;
end;
function TXMLEchangeLIBRARYTypeList.Get_Item(Index: Integer): IXMLEchangeLIBRARYType;
begin
  Result := List[Index] as IXMLEchangeLIBRARYType;
end;

{ TXMLEchangePASCALType }

procedure TXMLEchangePASCALType.AfterConstruction;
begin
  RegisterChildNode('INCLUDE', TXMLEchangeINCLUDEType);
  RegisterChildNode('IMPORT', TXMLEchangeIMPORTType);
  RegisterChildNode('VAR', TXMLEchangeVARType);
  RegisterChildNode('LOWINIT', TXMLEchangeLOWINITType);
  RegisterChildNode('CODE', TXMLEchangeCODEType);
  RegisterChildNode('FINISH', TXMLEchangeFINISHType);
  RegisterChildNode('FCTSSP', TXMLEchangeFCTSSPType);
  RegisterChildNode('LIBRARY', TXMLEchangeLIBRARYType);
  FINCLUDE := CreateCollection(TXMLEchangeINCLUDETypeList, IXMLEchangeINCLUDEType, 'INCLUDE') as 
IXMLEchangeINCLUDETypeList;
  FIMPORT := CreateCollection(TXMLEchangeIMPORTTypeList, IXMLEchangeIMPORTType, 'IMPORT') as 
IXMLEchangeIMPORTTypeList;
  FVAR_ := CreateCollection(TXMLEchangeVARTypeList, IXMLEchangeVARType, 'VAR') as IXMLEchangeVARTypeList;
  FLOWINIT := CreateCollection(TXMLEchangeLOWINITTypeList, IXMLEchangeLOWINITType, 'LOWINIT') as 
IXMLEchangeLOWINITTypeList;
  FCODE := CreateCollection(TXMLEchangeCODETypeList, IXMLEchangeCODEType, 'CODE') as IXMLEchangeCODETypeList;
  FFINISH := CreateCollection(TXMLEchangeFINISHTypeList, IXMLEchangeFINISHType, 'FINISH') as IXMLEchangeFINISHTypeList;
  FFCTSSP := CreateCollection(TXMLEchangeFCTSSPTypeList, IXMLEchangeFCTSSPType, 'FCTSSP') as 
IXMLEchangeFCTSSPTypeList;
  FLIBRARY_ := CreateCollection(TXMLEchangeLIBRARYTypeList, IXMLEchangeLIBRARYType, 'LIBRARY') as 
IXMLEchangeLIBRARYTypeList;
  inherited;
end;

function TXMLEchangePASCALType.Get_INCLUDE: IXMLEchangeINCLUDETypeList;
begin
  Result := FINCLUDE;
end;

function TXMLEchangePASCALType.Get_IMPORT: IXMLEchangeIMPORTTypeList;
begin
  Result := FIMPORT;
end;

function TXMLEchangePASCALType.Get_VAR_: IXMLEchangeVARTypeList;
begin
  Result := FVAR_;
end;

function TXMLEchangePASCALType.Get_LOWINIT: IXMLEchangeLOWINITTypeList;
begin
  Result := FLOWINIT;
end;

function TXMLEchangePASCALType.Get_CODE: IXMLEchangeCODETypeList;
begin
  Result := FCODE;
end;

function TXMLEchangePASCALType.Get_FINISH: IXMLEchangeFINISHTypeList;
begin
  Result := FFINISH;
end;

function TXMLEchangePASCALType.Get_FCTSSP: IXMLEchangeFCTSSPTypeList;
begin
  Result := FFCTSSP;
end;

function TXMLEchangePASCALType.Get_LIBRARY_: IXMLEchangeLIBRARYTypeList;
begin
  Result := FLIBRARY_;
end;

{ TXMLEchangeCANALType }

function TXMLEchangeCANALType.Get_NOM: WideString;
begin
  Result := AttributeNodes['NOM'].Text;
end;

procedure TXMLEchangeCANALType.Set_NOM(Value: WideString);
begin
  SetAttribute('NOM', Value);
end;

function TXMLEchangeCANALType.Get_SORTE: WideString;
begin
  Result := AttributeNodes['SORTE'].Text;
end;

procedure TXMLEchangeCANALType.Set_SORTE(Value: WideString);
begin
  SetAttribute('SORTE', Value);
end;

{ TXMLEchangeCANALTypeList }

function TXMLEchangeCANALTypeList.Add: IXMLEchangeCANALType;
begin
  Result := AddItem(-1) as IXMLEchangeCANALType;
end;

function TXMLEchangeCANALTypeList.Insert(const Index: Integer): IXMLEchangeCANALType;
begin
  Result := AddItem(Index) as IXMLEchangeCANALType;
end;
function TXMLEchangeCANALTypeList.Get_Item(Index: Integer): IXMLEchangeCANALType;
begin
  Result := List[Index] as IXMLEchangeCANALType;
end;

end.












