<?xml version="1.0" encoding="utf-8"?>
<!--
    
    ** OAGIS® Revision: 9.1  **
    ** Date: 11 May 2007 **
    ** Copyright 1997-2007, All Rights Reserved **
    
    This is an OAGIS® BOD XML Schema (XSD) Definition.
    
    License information for this file is provided in the file **OAGi License Agreement.txt** that is provided with this download package.
    
    For support, more information, or to report implementation bugs, please contact the Open Applications Group at xml@openapplications.org.
    
    XML Schema 
    
-->

<!--
    © 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
    10 Apr 2008    JB      Added correct Copyright and update comments to schema.
    
    *****     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/Common/Components.xsd"/>
    
    <xsd:element name="LicenseUsage" type="LicenseUsageType">
        <xsd:annotation>
            <xsd:documentation/>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:complexType name="LicenseUsageType">
        <xsd:complexContent>
            <xsd:extension base="StatusEnabledHeaderType">
                <xsd:sequence>
                    <xsd:element ref="PermissionDefinitions" minOccurs="0"/>
                    <xsd:element ref="ConcurrentUsers" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <!-- PermissionDefinitions section -->
    <xsd:complexType name="PermissionDefinitionsType">
        <xsd:sequence>
            <xsd:element ref="Permissions" minOccurs="0"/>
            <xsd:element ref="PermissionSets" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:element name="PermissionDefinitions" type="PermissionDefinitionsType"/>
    
    <xsd:complexType name="PermissionsType">
        <xsd:sequence>
            <xsd:element ref="Permission" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:element name="Permissions" type="PermissionsType"/>
    
    <xsd:complexType name="PermissionType">
        <xsd:sequence>
            <xsd:element ref="PermissionID" minOccurs="1" maxOccurs="1"/>
            <xsd:element ref="PermissionName" minOccurs="1" maxOccurs="1"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:element name="Permission" type="PermissionType"/>
    
    <xsd:complexType name="PermissionSetsType">
        <xsd:sequence>
            <xsd:element ref="PermissionSet" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:element name="PermissionSets" type="PermissionSetsType"/>
    
    <xsd:complexType name="PermissionSetType">
        <xsd:sequence>
            <xsd:element ref="PermissionSetID" minOccurs="1" maxOccurs="1"/>
            <xsd:element ref="PermissionID" minOccurs="1" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:element name="PermissionSet" type="PermissionSetType"/>
    
    <!-- ConcurrentUsers section -->
    <xsd:complexType name="ConcurrentUsersType">
        <xsd:sequence>
            <xsd:element ref="ConcurrentUser" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:element name="ConcurrentUsers" type="ConcurrentUsersType"/>
    
    <xsd:complexType name="ConcurrentUserType">
        <xsd:sequence>
            <xsd:element ref="DistinguishedName" minOccurs="0"/>
            <xsd:element ref="SessionID" minOccurs="0"/>
            <xsd:element ref="PermissionUsages" minOccurs="0"/>
            <xsd:element ref="UserArea" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:element name="ConcurrentUser" type="ConcurrentUserType"/>
    
    <xsd:complexType name="PermissionUsagesType">
        <xsd:sequence>
            <xsd:element ref="PermissionUsage" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:element name="PermissionUsages" type="PermissionUsagesType"/>
    
    <xsd:complexType name="PermissionUsageType">
        <xsd:sequence>
            <xsd:element ref="MethodName" minOccurs="0"/>
            <xsd:element ref="GrantedPermissionSetID" minOccurs="0"/>
            <xsd:element ref="StartDateTime" minOccurs="0"/>
            <xsd:element ref="EndDateTime" minOccurs="0"/>
            <xsd:element ref="Frequency" minOccurs="0"/>
            <xsd:element ref="UserArea" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:element name="PermissionUsage" type="PermissionUsageType"/>
    
</xsd:schema>
