<?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="../Common/Components.xsd" />

  <xsd:complexType name="UIMetadataType">
    <xsd:annotation>
      <xsd:documentation />
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="UIConfiguration" minOccurs="0" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="UIMetadata" type="UIMetadataType" />

  <xsd:complexType name="UIConfigurationType">
    <xsd:sequence>
      <xsd:element ref="HomePage" minOccurs="0" maxOccurs="unbounded" />
      <xsd:element ref="View" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>

  <xsd:element name="UIConfiguration" type="UIConfigurationType" />

  <xsd:complexType name="HomePageType">
    <xsd:sequence>
      <xsd:element ref="HomePageConfig" minOccurs="1" maxOccurs="1" />
      <xsd:element ref="ShellModule" maxOccurs="unbounded" />
      <xsd:element ref="Name" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="levelCode" type="UILevelEnumType" />
    <xsd:attribute name="levelKey" type="NormalizedStringType" />
    <xsd:attribute name="tenant" type="NormalizedStringType" />
  </xsd:complexType>

  <xsd:element name="HomePage" type="HomePageType" />

  <xsd:complexType name="ShellModuleType">
    <xsd:sequence>
      <xsd:element ref="HomePageContent" minOccurs="0"
        maxOccurs="unbounded" />
      <xsd:element ref="ShellModuleConfig" minOccurs="1" maxOccurs="1" />
      <xsd:element ref="Name" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="typeCode" type="ShellModuleTypeEnumType"
      use="required" />
    <xsd:attribute name="color" type="ShellModuleColorEnumType"
      use="required" />
  </xsd:complexType>

  <xsd:element name="ShellModule" type="ShellModuleType" />

  <xsd:complexType name="HomePageConfigType">
    <xsd:attribute name="showLeftPanel" type="IndicatorType" />
    <xsd:attribute name="showRightPanel" type="IndicatorType" />
  </xsd:complexType>

  <xsd:element name="HomePageConfig" type="HomePageConfigType" />

  <xsd:complexType name="ShellModuleConfigType">
    <xsd:sequence>
      <xsd:element ref="Placement" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
    <xsd:attribute name="collapsed" type="IndicatorType" />
    <xsd:attribute name="maxContent" type="IntegerNumericType" />
    <xsd:attribute name="contentSortOrder"
      type="ContentSortOrderEnumType" />
    <xsd:attribute name="contentWidth" type="ContentWidthEnumType" />
  </xsd:complexType>

  <xsd:element name="ShellModuleConfig" type="ShellModuleConfigType" />

  <xsd:complexType name="HomePageContentType">
    <xsd:sequence>
      <xsd:element ref="Name" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="contentId" type="NormalizedStringType" />
    <xsd:attribute name="personalizationId" type="NormalizedStringType" />

    <xsd:attribute name="index" type="IntegerNumericType" />
  </xsd:complexType>

  <xsd:element name="HomePageContent" type="HomePageContentType" />

  <xsd:complexType name="PlacementType">
    <xsd:attribute name="column" type="IntegerNumericType" />
    <xsd:attribute name="index" type="IntegerNumericType" />
  </xsd:complexType>

  <xsd:element name="Placement" type="PlacementType" />

  <xsd:complexType name="ViewType">
    <xsd:sequence>
      <xsd:element ref="Name" minOccurs="1" maxOccurs="unbounded" />
      <xsd:element ref="ViewParameter" minOccurs="0"
        maxOccurs="unbounded" />
      <xsd:element ref="ViewLink" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="viewId" type="NormalizedStringType"
      use="required" />
    <xsd:attribute name="tenant" type="NormalizedStringType"
      use="required" />
  </xsd:complexType>

  <xsd:element name="View" type="ViewType" />

  <xsd:complexType name="ViewParameterType">
    <xsd:sequence>
      <xsd:element ref="Name" minOccurs="1" maxOccurs="unbounded" />
      <xsd:element ref="Description" minOccurs="0"
        maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="parameterId" type="NormalizedStringType"
      use="required" />
  </xsd:complexType>

  <xsd:element name="ViewParameter" type="ViewParameterType" />

  <xsd:complexType name="ViewLinkType">
    <xsd:attribute name="applicationId" type="NormalizedStringType"
      use="required" />
    <xsd:attribute name="address" type="NormalizedStringType"
      use="required" />
  </xsd:complexType>

  <xsd:element name="ViewLink" type="ViewLinkType" />
</xsd:schema>
