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

import adtcore from './adtcore';
import atom from './atom';

export default {
  $xmlns: {
    quickfixes: 'http://www.sap.com/adt/quickfixes',
    adtcore: 'http://www.sap.com/adt/core',
    atom: 'http://www.w3.org/2005/Atom',
    xsd: 'http://www.w3.org/2001/XMLSchema',
    ecore: 'http://www.eclipse.org/emf/2002/Ecore',
  },
  $imports: [
    adtcore,
    atom,
  ],
  targetNamespace: 'http://www.sap.com/adt/quickfixes',
  attributeFormDefault: 'unqualified',
  elementFormDefault: 'unqualified',
  element: [
    {
      name: 'evaluationRequest',
      type: 'quickfixes:EvaluationRequest',
    },
    {
      name: 'evaluationResults',
      type: 'quickfixes:EvaluationResults',
    },
    {
      name: 'proposalRequest',
      type: 'quickfixes:ProposalRequest',
    },
    {
      name: 'proposalResult',
      type: 'quickfixes:ProposalResult',
    },
  ],
  complexType: [
    {
      name: 'EvaluationRequest',
      sequence: {
        element: [
          {
            name: 'affectedObjects',
            type: 'quickfixes:AffectedObjectsWithSource',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
    },
    {
      name: 'EvaluationResults',
      sequence: {
        element: [
          {
            name: 'evaluationResult',
            type: 'quickfixes:EvaluationResult',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'EvaluationResult',
      sequence: {
        element: [
          {
            ref: 'adtcore:objectReference',
            minOccurs: '1',
            maxOccurs: '1',
          },
          {
            name: 'userContent',
            type: 'xsd:string',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'affectedObjects',
            type: 'quickfixes:AffectedObjectsWithoutSource',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
    },
    {
      name: 'AffectedObjectsWithoutSource',
      sequence: {
        element: [
          {
            ref: 'adtcore:objectReference',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'ProposalRequest',
      sequence: {
        element: [
          {
            name: 'input',
            type: 'quickfixes:Unit',
            minOccurs: '1',
            maxOccurs: '1',
          },
          {
            name: 'affectedObjects',
            type: 'quickfixes:AffectedObjectsWithSource',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'userContent',
            type: 'xsd:string',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
    },
    {
      name: 'AffectedObjectsWithSource',
      sequence: {
        element: [
          {
            name: 'unit',
            type: 'quickfixes:Unit',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'ProposalResult',
      sequence: {
        element: [
          {
            name: 'deltas',
            type: 'quickfixes:Deltas',
            minOccurs: '1',
            maxOccurs: '1',
          },
          {
            name: 'selection',
            type: 'adtcore:AdtObjectReference',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'variableSourceStates',
            type: 'quickfixes:VariableSourceStates',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'statusMessages',
            type: 'quickfixes:StatusMessages',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
    },
    {
      name: 'Deltas',
      sequence: {
        element: [
          {
            name: 'unit',
            type: 'quickfixes:Unit',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'Unit',
      sequence: {
        element: [
          {
            name: 'content',
            type: 'xsd:string',
            minOccurs: '1',
            maxOccurs: '1',
          },
          {
            ref: 'adtcore:objectReference',
            minOccurs: '1',
            maxOccurs: '1',
          },
          {
            ref: 'atom:link',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'VariableSourceStates',
      sequence: {
        element: [
          {
            ref: 'adtcore:objectReferences',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
      attribute: [
        {
          name: 'keepCursor',
          type: 'xsd:boolean',
          use: 'optional',
        },
      ],
    },
    {
      name: 'StatusMessages',
      sequence: {
        element: [
          {
            name: 'statusMessage',
            type: 'quickfixes:StatusMessage',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'StatusMessage',
      attribute: [
        {
          name: 'severity',
          type: 'quickfixes:StatusSeverity',
          use: 'required',
        },
        {
          name: 'message',
          type: 'xsd:string',
          use: 'required',
        },
        {
          name: 'id',
          type: 'xsd:string',
          use: 'optional',
        },
      ],
    },
  ],
  simpleType: [
    {
      name: 'StatusSeverity',
      restriction: {
        base: 'xsd:string',
        enumeration: [
          {
            value: 'info',
          },
          {
            value: 'warning',
          },
        ],
      },
    },
  ],
} as const;
