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

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:oa="http://www.openapplications.org/oagis/9" xmlns="http://schema.infor.com/Infor1.0"
    targetNamespace="http://schema.infor.com/Infor1.0" elementFormDefault="qualified"
    attributeFormDefault="unqualified">

    <xsd:import namespace="http://www.openapplications.org/oagis/9"
        schemaLocation="../../../9.0/Resources/Components/Common/Components.xsd"/>
    <xsd:include schemaLocation="../Components/Common/Components.xsd"/>

    <xsd:element name="BISConfig" type="BISConfigType">
        <xsd:annotation>
            <xsd:documentation source="http://schema.infor.com/Infor1.0">BISConfig is used to communicate the configuration of reports and reporting services.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>

    <xsd:complexType name="BISConfigType">
        <xsd:complexContent>
            <xsd:extension base="oa:StatusEnabledHeaderType">
                <xsd:sequence>
                    <xsd:choice>
                        <xsd:element ref="Noun" minOccurs="0"/>
                        <xsd:element ref="ConverterLibrary" minOccurs="0"/>
                        <xsd:element ref="ExportService" minOccurs="0"/>
                        <xsd:element ref="ImportService" minOccurs="0"/>
                        <xsd:element ref="OutputFormat" minOccurs="0"/>
                        <xsd:element ref="OutputMapping" minOccurs="0"/>
                        <xsd:element ref="OutputView" minOccurs="0"/>
                        <xsd:element ref="SchemaDefinition" minOccurs="0"/>
                        <xsd:element ref="ServicesOrganization" minOccurs="0"/>
                        <xsd:element ref="DataCategorisation" minOccurs="0"/>
                    </xsd:choice>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="BaseConfigurationType">
        <xsd:annotation>
            <xsd:documentation>A base type that defines very common element structures used in many other BIS types.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="LastModification" minOccurs="0"/>
            <xsd:element ref="ToBeDeletedIndicator" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ConverterLibraryType">
        <xsd:annotation>
            <xsd:documentation>A converter library is a container for several different types of converters.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Name of the converter library.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the converter library</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="SystemLibraryIndicator" minOccurs="0"/>
                    <xsd:element ref="IOConverter" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="ShortcutConverter" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="Script" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="EditableIndicator" minOccurs="0"/>
                    <xsd:element ref="Implementor" minOccurs="0"/>
                </xsd:sequence>     
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:element name="Script" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>The converters implementation is held in beanshell script. This element holds the script contents.</xsd:documentation>
        </xsd:annotation>   
    </xsd:element>
    
    <xsd:complexType name="ConverterType">
        <xsd:annotation>
            <xsd:documentation>Base type for all converters that can be defined in BIS. A converter belongs to a converter library</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Name of the converter</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the converter</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>     
                    <xsd:element ref="ConverterParameter" minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ConverterParameterType">
        <xsd:annotation>
            <xsd:documentation>Defines a parameter, any number of which can be used with elements of ConverterType</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Name of the parameter</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the parameter</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="ConverterParameterValue" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation>A type/value pair for the parameter. The absence of any value would indicate a 'null' value for the parameter.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ConverterParameterValueType">
        <xsd:annotation>
            <xsd:documentation>Describes the value and type of a converter parameter</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:Type" />
            <xsd:element ref="Value" />
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="IOConverterType">
        <xsd:annotation>
            <xsd:documentation>A converter that can be used for input, output or both input and output functions in BIS</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="ConverterType">
                <xsd:sequence>
                    <xsd:element ref="InputConverterIndicator" minOccurs="0" />
                    <xsd:element ref="OutputConverterIndicator" minOccurs="0" />
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ShortcutConverterType">
        <xsd:annotation>
            <xsd:documentation>A converter that is able to define shortcut values.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="ConverterType">
                <xsd:sequence>
                    <xsd:element ref="oa:Type">
                        <xsd:annotation>
                            <xsd:documentation>The type that the converter and its shortcuts supports. For example Date, Integer etc.</xsd:documentation>
                        </xsd:annotation>      
                    </xsd:element>
                    <xsd:element ref="Shortcut" minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ShortcutType">
        <xsd:annotation>
            <xsd:documentation>A shortcut is a simple value and description. They belong to shortcut converters within a converter library.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:Name" maxOccurs="unbounded"/>
            <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="RuntimeConverterType">
        <xsd:annotation>
            <xsd:documentation>Defines the use of a specific converter for an import or export service. Decorates a referenced converter with extra usage parameters.</xsd:documentation>
        </xsd:annotation>   
        <xsd:sequence>
            <xsd:element ref="ConverterReference" minOccurs="0"/>
            <xsd:element ref="ConverterParameterValue" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="EnabledIndicator" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ExportServiceType">
        <xsd:annotation>
            <xsd:documentation>An export service is configuration information for report generation that describes the report and the required parameters to execute it.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded"/>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="RowLimit" minOccurs="0"/>
                    <xsd:element ref="ServicesOrganizationReference" minOccurs="0"/>
                    <xsd:element ref="UnboundExportServiceParameter" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="ColumnBoundExportServiceParameter" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="BusinessReferenceExportServiceParameter" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="RuntimeConverter" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="EnabledIndicator" minOccurs="0"/>
                    <xsd:element ref="ExportServiceOption" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="OutputMappingReference" minOccurs="0"/>
                    <xsd:element ref="EditableIndicator" minOccurs="0"/>
                    <xsd:element ref="Implementor" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ExportServiceParameterType">
        <xsd:annotation>
            <xsd:documentation>Describes a parameter for an export service.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:Name" maxOccurs="unbounded"/>
            <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="Prompt" minOccurs="0"/>
            <xsd:element ref="Condition" minOccurs="0"/>
            <xsd:element ref="RequiredIndicator" minOccurs="0"/>
            <xsd:element ref="FixedIndicator" minOccurs="0"/>
            <xsd:element ref="ShortcutConverterReference" minOccurs="0">
                <xsd:annotation>
                    <xsd:documentation>A reference to a shortcut converter to use for the parameter.</xsd:documentation>
                </xsd:annotation>    
            </xsd:element>
            <xsd:element ref="ExportServiceParameterValue" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ExportServiceParameterValueType">
        <xsd:annotation>
            <xsd:documentation>Describes a value for an export service parameter.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="DefaultValue" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>Default values for the parameter. There can be a number of these, for example if describing values for an 'In list' type criteria.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>          
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ColumnBoundExportServiceParameterType">
        <xsd:annotation>
            <xsd:documentation>An export service parameter that is linked to an output view column.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="ExportServiceParameterType">
                <xsd:sequence>               
                    <xsd:element ref="OutputViewColumnReference" />
                </xsd:sequence>           
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="BusinessReferenceExportServiceParameterType">
        <xsd:annotation>
            <xsd:documentation>An export service parameter that is linked to a business reference.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="ExportServiceParameterType">
                <xsd:sequence>
                    <xsd:element ref="BusinessReferenceReference"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="UnboundExportServiceParameterType">
        <xsd:annotation>
            <xsd:documentation>An export service parameter to be used with an export service that is not bound to any column but just is able to provide a value of a given type.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="ExportServiceParameterType">
                <xsd:sequence>
                    <xsd:element ref="oa:Type"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ExportServiceOptionType">
        <xsd:annotation>
            <xsd:documentation>Describes sorting and aggregation options for use with an export service.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="OutputViewColumnReference" minOccurs="0"/>
            <xsd:element ref="AggregationType" minOccurs="0"/>
            <xsd:element ref="SortType" minOccurs="0"/>
            <xsd:element ref="Sequence" minOccurs="0"/>
        </xsd:sequence>  
    </xsd:complexType>
    
    <xsd:complexType name="ImportMappingType">
        <xsd:annotation>
            <xsd:documentation>Maps a BIS schema column to a NounValue (BOD column) for an import service.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="DefaultValue" minOccurs="0"/>
                    <xsd:element ref="XPath" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation>An XPath value defining a path to a specific element in a repeating group. This is used as a constraint in the import services column mapping.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="SchemaColumnReference"/>
                    <xsd:element ref="NounValueReference"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ImportServiceType">
        <xsd:annotation>
            <xsd:documentation>An import service is configuration information on how received BODs will be stored in BIS for reporting purposes.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Name of the import service</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the import service</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="ServicesOrganizationReference" minOccurs="0"/>
                    <xsd:element ref="NounReference" minOccurs="0"/>
                    <xsd:element ref="SchemaDefinitionReference" minOccurs="0"/>
                    <xsd:element ref="ImportMapping" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="RuntimeConverter" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="EditableIndicator" minOccurs="0"/>
                    <xsd:element ref="Implementor" minOccurs="0"/>
                    <xsd:element ref="EnabledIndicator" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
     
    <xsd:complexType name="NounType">
        <xsd:annotation>
            <xsd:documentation>Defines the elements of a Noun that will be imported into BIS. Analgous with a BOD Registration in BIS.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="DocumentCode" minOccurs="0"/>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded"/>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="NounValue" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="SupportGetIndicator" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="SupportSyncIndicator" minOccurs="0" maxOccurs="1"/>
                    <xsd:element ref="EditableIndicator" minOccurs="0"/>
                    <xsd:element ref="Implementor" minOccurs="0"/>
                    <xsd:element ref="XPath">
                        <xsd:annotation>
                            <xsd:documentation>A flattening XPath description.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="NounValueType">
        <xsd:annotation>
            <xsd:documentation>Defines an element in a BOD. Analgous with a BOD Column for a BOD registration in BIS.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="XPath" minOccurs="0"/>
                    <xsd:element ref="EnabledIndicator" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="OutputFormatType">
        <xsd:annotation>
            <xsd:documentation>An output format to be used with an export service. A format describes the content of an report based on the views it covers.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the mapping. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the mapping.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="OutputFormatField" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="EditableIndicator" minOccurs="0"/>
                    <xsd:element ref="Implementor" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="OutputFormatFieldType">
        <xsd:annotation>
            <xsd:documentation>A field to describe an output value in an output format.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the format field. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the format field.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>    
                    <xsd:element ref="oa:Type"/>
                    <xsd:element ref="OutputFieldType"/>   
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="OutputFieldType">
        <xsd:annotation>
            <xsd:documentation>A type to be used with an output format field.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:Name" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>The Name of the field type. Not multilingual.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
            <xsd:element ref="JavaClass" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="OutputMappingType">
        <xsd:annotation>
            <xsd:documentation>An output mapping describes the relationship between an output view and output format for an export service.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the mapping. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the mapping.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="OutputViewReference"/>   
                    <xsd:element ref="OutputFormatReference"/>
                    <xsd:element ref="OutputMappingEntry" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="EditableIndicator" minOccurs="0"/>
                    <xsd:element ref="Implementor" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="OutputMappingEntryType">
        <xsd:annotation>
            <xsd:documentation>An output mapping entry relates an output view column to an output format field for its parent output mapping.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="OutputViewColumnReference" minOccurs="0"/>
                    <xsd:element ref="OutputFormatFieldReference" minOccurs="0"/>
                    <xsd:element ref="DefaultValue" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="OutputViewType">
        <xsd:annotation>
            <xsd:documentation>Describes a view across schemas to be used with reporting output.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the output view. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the output view.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="OutputViewColumn" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="OutputViewCalculatedColumn" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="OutputViewJoin" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="EditableIndicator" minOccurs="0"/>
                    <xsd:element ref="Implementor" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="OutputViewJoinType">
        <xsd:annotation>
            <xsd:documentation>Defines join information for an output view.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Type"/>
                    <xsd:element ref="Sequence"/>
                    <xsd:element ref="BusinessReferenceReference"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="OutputViewColumnType">
        <xsd:annotation>
            <xsd:documentation>Defines a column for an output view of report data.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="SchemaColumnReference"/>
                    <xsd:element ref="DataCategorisationReference" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="DataCategorisationType">
        <xsd:annotation>
            <xsd:documentation>
                A data categorisation (breakout) enables definition of ranges of values. The data in each of the ranges or buckets will be of the same
                data type as the categorisation.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:annotation>
                        <xsd:documentation>The data type of the categorisation. All buckets will be considered to hold values of the type.</xsd:documentation>
                    </xsd:annotation>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the categorisation. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the categorisation.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="oa:Type" />
                    <xsd:element ref="DataCategorisationBucket"  maxOccurs="unbounded"/> 
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="DataCategorisationBucketType">
        <xsd:annotation>
            <xsd:documentation>Holds start and end range values for a data categorisation.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="oa:Name" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>The Name of the bucket. Not multilingual.</xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="RangeStart" />
            <xsd:element ref="RangeEnd" />
            <xsd:element ref="DefaultValue" minOccurs="0" />
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="OutputViewCalculatedColumnType">
        <xsd:annotation>
            <xsd:documentation>An output view column that is calculated using a bespoke SQL expression.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="OutputViewColumnType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the ouptut view column. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the output view column.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="CalculatedDataType"/>
                    <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="SqlExpression" minOccurs="0"/>
                    <xsd:element ref="CalculatedGroup" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="BusinessReferenceType">
        <xsd:annotation>
            <xsd:documentation>A business reference is a link that can be defined between tables whose criteria can be determined using a hierarchy</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the business reference. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the business reference.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="LastModification" minOccurs="0"/>
                    <xsd:element ref="Dimension" minOccurs="0">
                        <xsd:annotation>
                            <xsd:documentation>
                                The name of any dimension for the business reference. If the reference is linked to a dimension it should be possible to 
                                use hierarchies to find values.
                            </xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="SchemaDefinitionReference">
                        <xsd:annotation>
                            <xsd:documentation>
                                The reference to the destination schema for the business reference. The parent schema reference is implied from the elements parent.
                            </xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="BusinessKey" minOccurs="0" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="SchemaIndexType">
        <xsd:annotation>
            <xsd:documentation>Defines a index for a schema definition.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the index. Not necessarily multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the index.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="SchemaColumnReference" maxOccurs="unbounded"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="SchemaColumnType">
        <xsd:annotation>
            <xsd:documentation>Defines a column with a schema definition for BIS</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the schema column. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the schema column.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="PrimaryKeyIndicator"  minOccurs="0"/>
                    <xsd:element ref="AllowNullIndicator" minOccurs="0"/>
                    <xsd:element ref="WidthNumeric" minOccurs="0"/>
                    <xsd:element ref="oa:Type" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="SchemaDefinitionType">
        <xsd:annotation>
            <xsd:documentation>Defines a table in BIS and the associated columns.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Name of the schema definition</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the schema definition</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="SchemaColumn" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="SchemaIndex" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="ApplicationDrillback" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="BusinessReference" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="EditableIndicator" minOccurs="0"/>
                    <xsd:element ref="Implementor" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ApplicationDrillbackType">
        <xsd:annotation>
            <xsd:documentation>
                Application drillback is a mechanism whereby from a role-based homepage, a user can retrieve additional rows of data from a source system 
                from which some of the KPI data comes from.
            </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="ApplicationId"/>
            <xsd:element ref="ViewId"/>
            <xsd:element ref="SystemKeyColumn" minOccurs="0"/>
            <xsd:element ref="GroupingKeyColumn" minOccurs="0"/>
            <xsd:element ref="GuidKeyColumn" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="BusinessKeyType">
        <xsd:annotation>
            <xsd:documentation>Associates schema columns for a business reference.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the business key. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="SourceColumn"/>
                    <xsd:element ref="DestinationColumn"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="ServicesOrganizationType">
        <xsd:annotation>
            <xsd:documentation>A way of categorising import and export services. Can be arranged to create a hierarchy ot service organisations.</xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
            <xsd:extension base="BaseConfigurationType">
                <xsd:sequence>
                    <xsd:element ref="oa:Name" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The Name of the schema column. Not multilingual.</xsd:documentation>
                        </xsd:annotation>
                    </xsd:element>
                    <xsd:element ref="oa:Description" minOccurs="0" maxOccurs="unbounded">
                        <xsd:annotation>
                            <xsd:documentation>The multilingual Description of the schema column.</xsd:documentation>
                        </xsd:annotation>     
                    </xsd:element>
                    <xsd:element ref="CommonName" minOccurs="0" maxOccurs="unbounded"/>
                    <xsd:element ref="ParentServiceOrganisationID" minOccurs="0"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>
    
    <xsd:complexType name="LastModificationType">
        <xsd:annotation>
            <xsd:documentation>A type to describe last modification date and last modified by user details</xsd:documentation>
        </xsd:annotation>     
        <xsd:sequence>
            <xsd:element ref="oa:LastModificationDateTime" minOccurs="0"/>
            <xsd:element ref="LastModifiedBy" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="OutputFormatFieldReferenceType">
        <xsd:annotation>
            <xsd:documentation>A reference to an output format field.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="OutputFormatReference"/>    
            <xsd:element ref="oa:Name">
                <xsd:annotation>
                    <xsd:documentation>The unique name of  the output format field for the output format reference. Not multilingual.</xsd:documentation>
                </xsd:annotation>
            </xsd:element> 
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="OutputViewColumnReferenceType">
        <xsd:annotation>
            <xsd:documentation>A type to hold a reference to an output view column within an output view</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="OutputViewReference"/>    
            <xsd:element ref="oa:Name">
                <xsd:annotation>
                    <xsd:documentation>The unique name of  the output view column for the output view reference. Not multilingual.</xsd:documentation>
                </xsd:annotation>
            </xsd:element> 
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="BusinessReferenceReferenceType">
        <xsd:annotation>
            <xsd:documentation>A type to hold a reference to a business reference within a schema definition.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="SchemaDefinitionReference"/>    
            <xsd:element ref="oa:Name">
                <xsd:annotation>
                    <xsd:documentation>The unique name of  the business reference for the schema definition reference.</xsd:documentation>
                </xsd:annotation>
            </xsd:element> 
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="SchemaColumnReferenceType">
        <xsd:annotation>
            <xsd:documentation>A type to hold a reference to a schema column within a schema definition</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="SchemaDefinitionReference"/>    
            <xsd:element ref="oa:Name">
                <xsd:annotation>
                    <xsd:documentation>The unique name of  the schema column for the schema definition reference</xsd:documentation>
                </xsd:annotation>
            </xsd:element> 
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ConverterReferenceType">
        <xsd:annotation>
            <xsd:documentation>A type to hold a reference to a converter within a converter library</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="ConverterLibraryReference"/>    
            <xsd:element ref="oa:Name">
                <xsd:annotation>
                    <xsd:documentation>The unique name of  the converter within the converter library</xsd:documentation>
                </xsd:annotation>
            </xsd:element> 
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="NounValueReferenceType">
        <xsd:annotation>
            <xsd:documentation>A type to hold a reference to a noun value (BOD Column) within a Noun (BOD Registration)</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="NounReference"/>    
            <xsd:element ref="oa:Name">
                <xsd:annotation>
                    <xsd:documentation>The unique name of  the noun value for the Noun reference</xsd:documentation>
                </xsd:annotation>
            </xsd:element> 
        </xsd:sequence>
    </xsd:complexType>
    
    <xsd:complexType name="ShortcutConverterReferenceType">
        <xsd:annotation>
            <xsd:documentation>A type to hold a reference to a shortcut converter.</xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
            <xsd:element ref="ConverterReference"/>
            <xsd:element ref="Value" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>An extra values that are relevant to use ot the shortcut converter.</xsd:documentation>
                </xsd:annotation>    
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>
    
        <!-- 
        -
        - Element declaration
        -
        -->
    <xsd:element name="ConverterLibrary" type="ConverterLibraryType"/>
    <xsd:element name="IOConverter" type="IOConverterType"/>
    <xsd:element name="ConverterParameter" type="ConverterParameterType"/>
    <xsd:element name="ConverterParameterValue" type="ConverterParameterValueType"/>
    <xsd:element name="ShortcutConverter" type="ShortcutConverterType"/>
    <xsd:element name="RuntimeConverter" type="RuntimeConverterType"/>
    <xsd:element name="Shortcut" type="ShortcutType"/>
    <xsd:element name="LastModification" type="LastModificationType"/>
    <xsd:element name="ExportService" type="ExportServiceType"/>
    <xsd:element name="ExportServiceOption" type="ExportServiceOptionType"/>
    <xsd:element name="ExportServiceParameterValue" type="ExportServiceParameterValueType"/>
    <xsd:element name="UnboundExportServiceParameter" type="UnboundExportServiceParameterType"/>
    <xsd:element name="ColumnBoundExportServiceParameter" type="ColumnBoundExportServiceParameterType"/>
    <xsd:element name="BusinessReferenceExportServiceParameter" type="BusinessReferenceExportServiceParameterType"/>
    <xsd:element name="ImportMapping" type="ImportMappingType"/>
    <xsd:element name="ImportService" type="ImportServiceType"/>
    <xsd:element name="Noun" type="NounType"/>
    <xsd:element name="NounValue" type="NounValueType"/>
    <xsd:element name="OutputFormat" type="OutputFormatType"/>
    <xsd:element name="OutputFormatField" type="OutputFormatFieldType"/>
    <xsd:element name="OutputFieldType" type="OutputFieldType"/>
    <xsd:element name="OutputMapping" type="OutputMappingType"/>
    <xsd:element name="OutputMappingEntry" type="OutputMappingEntryType"/>
    <xsd:element name="OutputView" type="OutputViewType"/>
    <xsd:element name="OutputViewColumn" type="OutputViewColumnType"/>
    <xsd:element name="OutputViewJoin" type="OutputViewJoinType"/>
    <xsd:element name="OutputViewCalculatedColumn" type="OutputViewCalculatedColumnType"/>
    <xsd:element name="SchemaColumn" type="SchemaColumnType"/>
    <xsd:element name="SchemaIndex" type="SchemaIndexType"/>
    <xsd:element name="SchemaDefinition" type="SchemaDefinitionType"/>
    <xsd:element name="ServicesOrganization" type="ServicesOrganizationType"/>
    <xsd:element name="ApplicationDrillback" type="ApplicationDrillbackType"/>
    <xsd:element name="BusinessReference" type="BusinessReferenceType"/>
    <xsd:element name="BusinessKey" type="BusinessKeyType"/>
    <xsd:element name="DataCategorisation" type="DataCategorisationType"/>
    <xsd:element name="DataCategorisationBucket" type="DataCategorisationBucketType"/>
    
    <xsd:element name="DataCategorisationReference" type="oa:DocumentReferenceType">
        <xsd:annotation>
            <xsd:documentation>This reference refers to a BISConfig noun that has a RevisionID of 'DataCategorisation'.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="ServicesOrganizationReference" type="oa:DocumentReferenceType">
        <xsd:annotation>
            <xsd:documentation>This reference refers to a BISConfig noun that has a RevisionID of 'ServicesOrganization'.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="ConverterLibraryReference" type="oa:DocumentReferenceType">
        <xsd:annotation>
           <xsd:documentation>This reference refers to a BISConfig noun that has a RevisionID of 'ConverterLibrary'.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="OutputViewReference" type="oa:DocumentReferenceType">
        <xsd:annotation>
            <xsd:documentation>This reference refers to a BISConfig noun that has a RevisionID of 'OutputView'.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="OutputMappingReference" type="oa:DocumentReferenceType">
        <xsd:annotation>
            <xsd:documentation>This reference refers to a BISConfig noun that has a RevisionID of 'OutputMapping'.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="OutputFormatReference" type="oa:DocumentReferenceType">
        <xsd:annotation>
            <xsd:documentation>This reference refers to a BISConfig noun that has a RevisionID of 'OutputFormat'.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="NounReference" type="oa:DocumentReferenceType">
        <xsd:annotation>
            <xsd:documentation>This reference refers to a BISConfig noun that has a RevisionID of 'Noun'.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="SchemaDefinitionReference" type="oa:DocumentReferenceType">
        <xsd:annotation>
            <xsd:documentation>This reference refers to a BISConfig noun that has a RevisionID of 'SchemaDefinition'.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    <xsd:element name="SchemaColumnReference" type="SchemaColumnReferenceType"/>
    <xsd:element name="ConverterReference" type="ConverterReferenceType"/>
    <xsd:element name="BusinessReferenceReference" type="BusinessReferenceReferenceType"/>
    <xsd:element name="OutputViewColumnReference" type="OutputViewColumnReferenceType"/>
    <xsd:element name="OutputFormatFieldReference" type="OutputFormatFieldReferenceType"/>
    <xsd:element name="NounValueReference" type="NounValueReferenceType"/>
    <xsd:element name="ShortcutConverterReference" type="ShortcutConverterReferenceType"/>

    <xsd:element name="PrimaryKeyIndicator"  type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>Indicates that the value located through this XPath expression is the unique key for this object.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="SystemLibraryIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator for use with converter library to indicate whether it is a system library</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="InputConverterIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator for use with converters to signify that it can be used for input functions</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="OutputConverterIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator for use with converters to signify that it can be used for output functions</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="AllowNullIndicator" type="oa:IndicatorType"/>
    
    <xsd:element name="EnabledIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator for general use to indicate whether the owner is enabled for use.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="EditableIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator for general use to indicate whether the owner is editable.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="SupportGetIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator for use with BOD registrations to define whether the registration supports 'Get' messages.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="SupportSyncIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator for use with BOD registrations to define whether the registration supports 'Sync' messages.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="ToBeDeletedIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator for general use that holds a value indicating whether the element is to be deleted.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="ParentServiceOrganisationID" type="oa:IdentifierType">
        <xsd:annotation>
            <xsd:documentation> The Organization ID of the service organization that is the parent of the current service organization.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
     <xsd:element name="CommonName" type="oa:NameType"/>
    
    <xsd:element name="WidthNumeric" type="oa:PositiveIntegerNumericType"/>
    <xsd:element name="Sequence" type="oa:PositiveIntegerNumericType"/>
    
    <xsd:element name="XPath" type="oa:TokenType"/>
    
    <xsd:element name="Implementor" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>The implementor associated with the user for BIS reports.</xsd:documentation>
        </xsd:annotation>      
    </xsd:element>
    
    <xsd:element name="DefaultValue" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>Generic default value element.</xsd:documentation>
        </xsd:annotation>    
    </xsd:element>
    
    <xsd:element name="Value" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>Generic value element.</xsd:documentation>
        </xsd:annotation>    
    </xsd:element>
    
    <xsd:element name="RowLimit" type="oa:PositiveIntegerNumericType">
        <xsd:annotation>
            <xsd:documentation>The limit on the number of rows the export service is allowed to produce.</xsd:documentation>
        </xsd:annotation>    
    </xsd:element>
    
    <xsd:element name="Prompt" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>A value to be displayed to users as a form of help for how to configure the parameter.</xsd:documentation>
        </xsd:annotation>   
    </xsd:element>
    
    <xsd:element name="Condition" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>Describes the condition for the parameter. For example Equal, Between, GreaterThan</xsd:documentation>
        </xsd:annotation>   
    </xsd:element>
    
    <xsd:element name="RequiredIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator describing if the parameter is required.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="FixedIndicator" type="oa:IndicatorType">
        <xsd:annotation>
            <xsd:documentation>An indicator describing if the parameter is fixed meaning that a value cannot be provided at runtime.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="AggregationType" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>An aggregation type for an export service option.</xsd:documentation>
        </xsd:annotation>     
    </xsd:element>
    
    <xsd:element name="SortType" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>A sort type for an export service option.</xsd:documentation>
        </xsd:annotation> 
    </xsd:element>
    
    <xsd:element name="JavaClass"  type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>The name of a Java class to use for an output field type.</xsd:documentation>
        </xsd:annotation>      
    </xsd:element>
    
    <xsd:element name="RangeStart" type="oa:StringType"/>
    <xsd:element name="RangeEnd" type="oa:StringType"/>
    
    <xsd:element name="CalculatedDataType" type="oa:CodeType">
        <xsd:annotation>
            <xsd:documentation>The data type expected for the result of the calculation.</xsd:documentation>
        </xsd:annotation>     
    </xsd:element>
    
    <xsd:element name="SqlExpression" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>A SQL expression describing how this column is calculated.</xsd:documentation>
        </xsd:annotation>      
    </xsd:element>
    
    <xsd:element name="CalculatedGroup" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>The group for a calculated column.</xsd:documentation>
        </xsd:annotation>    
    </xsd:element>
    
    <xsd:element name="Dimension" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>
                The name of any dimension for the business reference. If the reference is linked to a dimension it should be possible to 
                use hierarchies to find values.
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>
    
    <xsd:element name="ApplicationId" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>The application Id.</xsd:documentation>
        </xsd:annotation>   
    </xsd:element>
    
    <xsd:element name="ViewId" type="oa:NameType">
        <xsd:annotation>
            <xsd:documentation>Multilingual view identifier.</xsd:documentation>
        </xsd:annotation>   
    </xsd:element>
    
    <xsd:element name="SystemKeyColumn" type="SchemaColumnReferenceType">
        <xsd:annotation>
            <xsd:documentation>Reference to a schema column within a schema definition to identify a system key for the drillback</xsd:documentation>
        </xsd:annotation>   
    </xsd:element>
    
    <xsd:element name="GroupingKeyColumn" type="SchemaColumnReferenceType">
        <xsd:annotation>
            <xsd:documentation>Reference to a schema column within a schema definition to identify a grouping key for the drillback</xsd:documentation>
        </xsd:annotation>   
    </xsd:element>
    
    <xsd:element name="GuidKeyColumn" type="SchemaColumnReferenceType">
        <xsd:annotation>
            <xsd:documentation>Reference to a schema column within a schema definition to identify a unique key for the drillback</xsd:documentation>
        </xsd:annotation>   
    </xsd:element>
    
    <xsd:element name="SourceColumn" type="SchemaColumnReferenceType"/>
    <xsd:element name="DestinationColumn" type="SchemaColumnReferenceType"/>
    
    <xsd:element name="LastModifiedBy" type="oa:StringType">
        <xsd:annotation>
            <xsd:documentation>An identifier to indicate the last user or similar to change the owner element. Will be a descriptive value rather than a link to a real user.</xsd:documentation>
        </xsd:annotation>
    </xsd:element>
</xsd:schema>

