<?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     *****


  *****     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:element name="NounMetadata" type="NounMetadataType"/>

	<xsd:complexType name="NounMetadataType">
		<xsd:sequence>
			<xsd:element ref="Noun"/>
			<xsd:element ref="Relation" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="version" type="xsd:normalizedString" use="required"/>
	</xsd:complexType>

	<xsd:element name="Noun" type="MetadataNounType"/>

	<xsd:complexType name="MetadataNounType">
		<xsd:sequence>
			<xsd:element ref="NounName"/>
			<xsd:element ref="NounType"/>
			<xsd:element ref="Version"/>
			<xsd:element ref="IDXpath"/>
			<xsd:element ref="IDAccountingEntityXPath" minOccurs="0"/>
			<xsd:element ref="IDLocationXPath" minOccurs="0"/>
			<xsd:element ref="DisplayIDXPath" minOccurs="0"/>
			<xsd:element ref="AccountingEntityXPath" minOccurs="0"/>
			<xsd:element ref="LocationXPath" minOccurs="0"/>
			<xsd:element ref="DescriptionXPath" minOccurs="0"/>
			<xsd:element ref="ReferenceKeyXPath" minOccurs="0"/>
			<xsd:element ref="RevisionXPath" minOccurs="0"/>
			<xsd:element ref="VariationXPath" minOccurs="0"/>
			<xsd:element ref="StatusXPath" minOccurs="0"/>
			<xsd:element ref="DocumentDateTimeXPath" minOccurs="0"/>
			<xsd:element ref="SupportedVerbs" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="RelationType">
		<xsd:sequence>
			<xsd:element ref="ToNoun"/>
			<xsd:element ref="Priority" minOccurs="0"/>
			<xsd:element ref="RelationLabel" minOccurs="0"/>
			<xsd:element ref="RelationPaths" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="type" use="required" type="TypeType"/>
	</xsd:complexType>
	<xsd:element name="Relation" type="RelationType"/>

	<xsd:simpleType name="TypeType">
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="MasterData"/>
			<xsd:enumeration value="System"/>
			<xsd:enumeration value="Transactional"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:simpleType name="NounTypeType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Balance"/>     
			<xsd:enumeration value="Master Data"/> 
			<xsd:enumeration value="Other"/>        
			<xsd:enumeration value="System"/>     
			<xsd:enumeration value="Transactional"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="NounType" type="NounTypeType"/>

	<xsd:complexType name="RelationPathsType">
		<xsd:sequence>
			<xsd:element ref="FromNounPath"/>
			<xsd:element ref="ToNounPath" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="RelationPaths" type="RelationPathsType"/>

	<xsd:simpleType name="PriorityType">
		<xsd:restriction base="xsd:positiveInteger">
			<xsd:enumeration value="10"/>
			<xsd:enumeration value="20"/>
			<xsd:enumeration value="30"/>
			<xsd:enumeration value="40"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:complexType name="SupportedVerbsType">
		<xsd:sequence>
			<xsd:element ref="SupportedVerb" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="SupportedVerbs" type="SupportedVerbsType"/>
	
	<xsd:simpleType name="SupportedVerbType">
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="Acknowledge"/>
			<xsd:enumeration value="Get"/>
			<xsd:enumeration value="Load"/>
			<xsd:enumeration value="Process"/>
			<xsd:enumeration value="Show"/>
			<xsd:enumeration value="Sync"/>
			<xsd:enumeration value="Update"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="SupportedVerb" type="SupportedVerbType"/>
	
	<xsd:simpleType name="RelationLabelType">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="64"/>
		</xsd:restriction>
	</xsd:simpleType>
	
	<xsd:element name="AccountingEntityXPath" type="xsd:string"/>
	<xsd:element name="DescriptionXPath" type="xsd:string"/>
	<xsd:element name="DisplayIDXPath" type="xsd:string"/>
	<xsd:element name="DocumentDateTimeXPath" type="xsd:string"/>
	<xsd:element name="FromNoun" type="xsd:string"/>
	<xsd:element name="FromNounPath" type="xsd:string"/>
	<xsd:element name="Version" type="xsd:string"/>
	<xsd:element name="IDAccountingEntityXPath" type="xsd:string"/>
	<xsd:element name="IDLocationXPath" type="xsd:string"/>
	<xsd:element name="IDXpath" type="xsd:string"/>
	<xsd:element name="LocationXPath" type="xsd:string"/>
	<xsd:element name="NounName" type="xsd:normalizedString"/>
	<xsd:element name="Priority" type="PriorityType"/>
	<xsd:element name="RelationLabel" type="RelationLabelType"/>
	<xsd:element name="ReferenceKeyXPath" type="xsd:string"/>
	<xsd:element name="RevisionXPath" type="xsd:string"/>
	<xsd:element name="StatusXPath" type="xsd:string"/>
	<xsd:element name="ToNoun" type="xsd:string"/>
	<xsd:element name="ToNounPath" type="xsd:string"/>
	<xsd:element name="VariationXPath" type="xsd:string"/>
	
</xsd:schema>
