/**
 * Auto-generated schema from XSD
 * 
 * DO NOT EDIT - Generated by ts-xsd codegen
 * Source: xsd/sap/domain.xsd
 */

import adtcore from './adtcore';

export default {
  $xmlns: {
    adtcore: 'http://www.sap.com/adt/core',
    ecore: 'http://www.eclipse.org/emf/2002/Ecore',
    xsd: 'http://www.w3.org/2001/XMLSchema',
    doma: 'http://www.sap.com/dictionary/domain',
  },
  $imports: [
    adtcore,
  ],
  targetNamespace: 'http://www.sap.com/dictionary/domain',
  attributeFormDefault: 'qualified',
  elementFormDefault: 'qualified',
  element: [
    {
      name: 'domain',
      type: 'doma:Domain',
    },
  ],
  complexType: [
    {
      name: 'Domain',
      complexContent: {
        extension: {
          base: 'adtcore:AdtMainObject',
          sequence: {
            element: [
              {
                name: 'content',
                type: 'doma:Content',
              },
            ],
          },
        },
      },
    },
    {
      name: 'Content',
      sequence: {
        element: [
          {
            name: 'typeInformation',
            type: 'doma:TypeInformation',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'outputInformation',
            type: 'doma:OutputInformation',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'valueInformation',
            type: 'doma:ValueInformation',
          },
          {
            name: 'appendInformation',
            type: 'doma:AppendInformation',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
    },
    {
      name: 'TypeInformation',
      sequence: {
        element: [
          {
            name: 'datatype',
            type: 'xsd:string',
          },
          {
            name: 'length',
            type: 'xsd:int',
          },
          {
            name: 'decimals',
            type: 'xsd:int',
          },
        ],
      },
    },
    {
      name: 'OutputInformation',
      sequence: {
        element: [
          {
            name: 'length',
            type: 'xsd:int',
          },
          {
            name: 'style',
            type: 'xsd:string',
          },
          {
            name: 'conversionExit',
            type: 'xsd:string',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'signExists',
            type: 'xsd:boolean',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'lowercase',
            type: 'xsd:boolean',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'ampmFormat',
            type: 'xsd:boolean',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
    },
    {
      name: 'ValueInformation',
      sequence: {
        element: [
          {
            name: 'valueTableRef',
            type: 'adtcore:AdtObjectReference',
          },
          {
            name: 'appendExists',
            type: 'xsd:boolean',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'fixValues',
            type: 'doma:FixValues',
          },
        ],
      },
    },
    {
      name: 'FixValues',
      sequence: {
        element: [
          {
            name: 'fixValue',
            type: 'doma:FixValue',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'FixValue',
      sequence: {
        element: [
          {
            name: 'position',
            type: 'xsd:int',
          },
          {
            name: 'low',
            type: 'xsd:string',
          },
          {
            name: 'high',
            type: 'xsd:string',
          },
          {
            name: 'text',
            type: 'xsd:string',
          },
          {
            name: 'contributingAppendRef',
            type: 'adtcore:AdtObjectReference',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'switchRef',
            type: 'adtcore:AdtSwitchReference',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
    },
    {
      name: 'AppendInformation',
      sequence: {
        element: [
          {
            name: 'appendedDomainRef',
            type: 'adtcore:AdtObjectReference',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'switchRef',
            type: 'adtcore:AdtSwitchReference',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
    },
  ],
} as const;
