<?xml version="1.0" encoding="UTF-8"?>
<!--
© Copyright 2007 Infor Global Solutions Technology GmbH and/or its affiliates and subsidiaries. All rights reserved. The 
word and design marks set forth herein are trademarks and/or registered trademarks of Infor Global Solutions 
Technology GmbH and/or its affiliates and subsidiaries. All rights reserved. All other trademarks listed herein 
are the property of their respective owners.
 
-->

<!--    *****     Update Log     *****
 
Date           By      Note
17 Apr 2015    LA        New SCM ITK component created, BOD-2529
        *****     Update End     *****
 
-->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schema.infor.com/InforOAGIS/2"
    targetNamespace="http://schema.infor.com/InforOAGIS/2" elementFormDefault="qualified"
    attributeFormDefault="unqualified">
    
    <xsd:include schemaLocation="./Components.xsd"/>
    
    <xsd:complexType name="SCMITK_ApplicationType">
        <xsd:sequence>
            <xsd:element ref="ITK_Installer" minOccurs="0"/>
            <xsd:element ref="ITK_Ado" minOccurs="0"/>
            <xsd:element ref="ITK_Server" minOccurs="0"/>
            <xsd:element ref="ITK_Integrations" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ITK_InstallerType">
        <xsd:sequence>
            <xsd:element ref="ITK_File" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="ITK_InstallerInput" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_Installer" type="ITK_InstallerType"/>
    
    <xsd:complexType name="ITK_AdoType">
        <xsd:sequence>
            <xsd:element ref="ITK_Dependency" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_Ado" type = "ITK_AdoType"/>
    
    <xsd:complexType name="ITK_ServerType">
        <xsd:sequence>
            <xsd:element ref="ITK_CMD" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="ITK_Dependency" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="ITK_Registry" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_Server" type="ITK_ServerType"/>
    
    <xsd:complexType name="ITK_IntegrationsType">
        <xsd:sequence>
            <xsd:element ref="ITK_Integration" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_Integrations" type="ITK_IntegrationsType"/>
    
    <xsd:complexType name="ITK_IntegrationType">
        <xsd:sequence>
            <xsd:element ref="ITK_Property" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="ITK_Dependency" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="ITK_Registry" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_Integration" type="ITK_IntegrationType"/>
    
    <xsd:complexType name="ITK_CMDType">
        <xsd:sequence>
            <xsd:element ref="ITK_CMD_Name" minOccurs="0"/>
            <xsd:element ref="ITK_CMD_ExitCode" minOccurs="0"/>
            <xsd:element ref="ITK_CMD_Stdout" minOccurs="0"/>
            <xsd:element ref="ITK_CMD_Stderr" minOccurs="0"/>
            <xsd:element ref="ITK_CMD_Status" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_CMD" type="ITK_CMDType"/>
    
    <xsd:complexType name="ITK_DependencyType">
        <xsd:sequence>
            <xsd:element ref="ITK_File" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_Dependency" type="ITK_DependencyType"/>
    
    <xsd:complexType name="ITK_RegistryType">
        <xsd:sequence>
            <xsd:element ref="ITK_Property" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_Registry" type="ITK_RegistryType"/>
    
    <xsd:complexType name="ITK_FileType">
        <xsd:sequence>
            <xsd:element ref="ITK_FileName" minOccurs="0"/>
            <xsd:element ref="ITK_FileVersion" minOccurs="0"/>
            <xsd:element ref="ITK_FileLocation" minOccurs="0"/>
            <xsd:element ref="ITK_FileDateModified" minOccurs="0"/>
            <xsd:element ref="ITK_FileContent" minOccurs="0"/>
            <xsd:element ref="ITK_FileMetaData" minOccurs="0"/>
            <xsd:element ref="ITK_FileStatus" minOccurs="0"/>
        </xsd:sequence>    
    </xsd:complexType>
    <xsd:element name="ITK_File" type="ITK_FileType"/>
    
    <xsd:complexType name="ITK_InstallerInputType">
        <xsd:sequence>
            <xsd:element ref="ITK_Property" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_InstallerInput" type="ITK_InstallerInputType"/>
    
    <xsd:complexType name="ITK_PropertyType">
        <xsd:sequence>
            <xsd:element ref="ITK_Name" minOccurs="0"/>
            <xsd:element ref="ITK_Value" minOccurs="0"/>
            <xsd:element ref="ITK_Status" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_Property" type="ITK_PropertyType"/>
    
    <xsd:complexType name="SCMITK_DatabaseType">
        <xsd:sequence>
            <xsd:element ref="ITK_Table" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ITK_TableType">
        <xsd:sequence>
            <xsd:element ref="ITK_TableName" minOccurs="0"/>
            <xsd:element ref="ITK_TableData" minOccurs="0"/>
            <xsd:element ref="ITK_Property" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="ITK_TableStatus" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="ITK_Table" type="ITK_TableType"/>
    
    <xsd:element name="ITK_FileName" type="NameType"/>
    <xsd:element name="ITK_FileVersion" type="StringType"/>
    <xsd:element name="ITK_FileLocation" type="StringType"/>
    <xsd:element name="ITK_FileDateModified" type="DateType"/>
    <xsd:element name="ITK_FileContent" type="StringType"/>
    <xsd:element name="ITK_FileMetaData" type="StringType"/>
    <xsd:element name="ITK_FileStatus" type="StringType"/>
    <xsd:element name="ITK_Name" type="NameType"/>
    <xsd:element name="ITK_Value" type="StringType"/>
    <xsd:element name="ITK_Status" type="StringType"/>
    <xsd:element name="ITK_CMD_Name" type="NameType"/>
    <xsd:element name="ITK_CMD_ExitCode" type="StringType"/>
    <xsd:element name="ITK_CMD_Stdout" type="StringType"/>
    <xsd:element name="ITK_CMD_Stderr" type="StringType"/>
    <xsd:element name="ITK_CMD_Status" type="StringType"/>
    <xsd:element name="ITK_TableName" type="NameType"/>
    <xsd:element name="ITK_TableData" type="StringType"/>
    <xsd:element name="ITK_TableStatus" type="StringType"/>
</xsd:schema>
