<?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.
08 Apr 2011    PO      Changed data type from xsd:normalizedString to NormalizedStringType.
        *****     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="../Common/Components.xsd"/>

    <xsd:complexType name="DistributionEntityType">
        <xsd:sequence>
            <xsd:element ref="EntityType" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> Can be a USER or GROUP. </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="ID" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> If ItemType=USER the UserID of the user. If ItemType=GROUP
                        the name of the usergroup. </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="DistributionEntity" type="DistributionEntityType"/>

    <xsd:complexType name="ParameterType">
        <xsd:sequence>
            <xsd:element ref="ID" minOccurs="0"/>
            <xsd:element ref="Name">
                <xsd:annotation>
                    <xsd:documentation> This is the unique identification of this parameter.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Value" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> This is the serialized value for the parameter.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="DataType">
                <xsd:annotation>
                    <xsd:documentation> This is the datatype of this parameter. Can be STRING,
                        DECIMAL, INTEGER, BOOLEAN, DATETIME, DATE, TIME, DURATION, IDENTIFIER or
                        VIEW. </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Label" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation> Translatable description of the Parameter. Used in user
                        presentations. </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Restriction" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> Holds any definition of a restriction to the DataType. Its
                        meaning is the same at the 'xs:pattern' restriction in XMLSchema.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name="TreeNodeParameterType">
        <xsd:sequence>
            <xsd:element ref="ID" minOccurs="0"/>
            <xsd:element ref="Name">
                <xsd:annotation>
                    <xsd:documentation> This is the unique identification of this parameter.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Value" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation> This is the serialized value for the parameter.
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="DataType">
                <xsd:annotation>
                    <xsd:documentation> This is the datatype of this parameter. Can be STRING,
                        DECIMAL, INTEGER, BOOLEAN, DATETIME, DATE, TIME, DURATION, IDENTIFIER or
                        VIEW. </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="Label" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation> Translatable description of the Parameter. Used in user
                        presentations. </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:simpleType name="AlertStatusCodeEnumerationType">
        <xsd:restriction base="StringType">
            <xsd:enumeration value="NEW"/>
            <xsd:enumeration value="ASSIGNED"/>
            <xsd:enumeration value="UNASSIGNED"/>
            <xsd:enumeration value="DONE"/>
            <xsd:enumeration value="CANCELLED"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="AlertStatusCodeType">
        <xsd:simpleContent>
            <xsd:extension base="AlertStatusCodeEnumerationType">
                <xsd:attributeGroup ref="CodeListAttributeGroup"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:simpleType name="TaskStatusCodeEnumerationType">
        <xsd:restriction base="StringType">
            <xsd:enumeration value="NEW"/>
            <xsd:enumeration value="ASSIGNED"/>
            <xsd:enumeration value="UNASSIGNED"/>
            <xsd:enumeration value="DONE"/>
            <xsd:enumeration value="CANCELLED"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="TaskStatusCodeType">
        <xsd:simpleContent>
            <xsd:extension base="TaskStatusCodeEnumerationType">
                <xsd:attributeGroup ref="CodeListAttributeGroup"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>



    <xsd:simpleType name="SourceCodeEnumerationType">
        <xsd:restriction base="NormalizedStringType">
            <xsd:enumeration value="MONITOR"/>
            <xsd:enumeration value="BOD"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="SourceCodeType">
        <xsd:simpleContent>
            <xsd:extension base="SourceCodeEnumerationType">
                <xsd:attributeGroup ref="CodeListAttributeGroup"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>
    <xsd:element name="SourceCode" type="SourceCodeType"/>

    <xsd:simpleType name="DataTypeEnumerationType">
        <xsd:restriction base="StringType">
            <xsd:enumeration value="STRING"/>
            <xsd:enumeration value="DECIMAL"/>
            <xsd:enumeration value="INTEGER"/>
            <xsd:enumeration value="BOOLEAN"/>
            <xsd:enumeration value="DATETIME"/>
            <xsd:enumeration value="DATE"/>
            <xsd:enumeration value="TIME"/>
            <xsd:enumeration value="DURATION"/>
            <xsd:enumeration value="IDENTIFIER"/>
            <xsd:enumeration value="VIEW"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="DataTypeType">
        <xsd:simpleContent>
            <xsd:extension base="DataTypeEnumerationType">
                <xsd:attributeGroup ref="CodeListAttributeGroup"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:simpleType name="EntityTypeEnumerationType">
        <xsd:restriction base="StringType">
            <xsd:enumeration value="PERSON"/>
            <xsd:enumeration value="GROUP"/>
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="EntityTypeType">
        <xsd:simpleContent>
            <xsd:extension base="EntityTypeEnumerationType">
                <xsd:attributeGroup ref="CodeListAttributeGroup"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <xsd:element name="Parameter" type="ParameterType"/>

    <xsd:element name="DataType" type="DataTypeType"/>
    <xsd:element name="Label" type="DescriptionType"/>
    <xsd:element name="EntityType" type="EntityTypeType"/>

    <xsd:element name="Value" type="NormalizedStringType"/>

    <xsd:element name="ReadOnly" type="IndicatorType"/>
    <xsd:element name="EscalationLevel" type="IntegerNumericType"/>
    <xsd:element name="MaxEscalationLevel" type="IntegerNumericType"/>

    <xsd:element name="AssignedPerson" type="PersonReferenceType"/>
    <xsd:element name="DistributionPerson" type="PersonReferenceType"/>
    <xsd:element name="Priority" type="PriorityType"/>

    <xsd:element name="FinishValues" type="StringType"/>
    <xsd:element name="NodeName" type="StringType"/>
    <xsd:element name="Restriction" type="StringType"/>

    <xsd:element name="TreeNodeParameter" type="TreeNodeParameterType"/>

</xsd:schema>
