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

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

export default {
  $xmlns: {
    xsd: 'http://www.w3.org/2001/XMLSchema',
    ecore: 'http://www.eclipse.org/emf/2002/Ecore',
    adtcore: 'http://www.sap.com/adt/core',
    atom: 'http://www.w3.org/2005/Atom',
    atcfinding: 'http://www.sap.com/adt/atc/finding',
  },
  $imports: [
    adtcore,
    atom,
  ],
  targetNamespace: 'http://www.sap.com/adt/atc/finding',
  attributeFormDefault: 'qualified',
  elementFormDefault: 'qualified',
  attribute: [
    {
      name: 'checkId',
      type: 'xsd:string',
    },
    {
      name: 'checkClass',
      type: 'xsd:string',
    },
    {
      name: 'messageId',
      type: 'xsd:string',
    },
    {
      name: 'checkTitle',
      type: 'xsd:string',
    },
    {
      name: 'checkMessage',
      type: 'xsd:string',
    },
    {
      name: 'messageTitle',
      type: 'xsd:string',
    },
    {
      name: 'location',
      type: 'xsd:anyURI',
    },
    {
      name: 'effectOnTransports',
      type: 'xsd:string',
    },
    {
      name: 'priority',
      type: 'xsd:int',
    },
    {
      name: 'exemptionApproval',
      type: 'xsd:string',
    },
    {
      name: 'exemptionKind',
      type: 'xsd:string',
    },
    {
      name: 'noExemption',
      type: 'xsd:boolean',
    },
    {
      name: 'remarkText',
      type: 'xsd:string',
    },
    {
      name: 'remarkLink',
      type: 'xsd:string',
    },
  ],
  complexType: [
    {
      name: 'AtcQuickfixes',
      attribute: [
        {
          name: 'manual',
          type: 'xsd:boolean',
          use: 'optional',
        },
        {
          name: 'automatic',
          type: 'xsd:boolean',
          use: 'optional',
        },
        {
          name: 'pseudo',
          type: 'xsd:boolean',
          use: 'optional',
        },
        {
          name: 'ai_enabled',
          type: 'xsd:boolean',
          use: 'optional',
        },
        {
          name: 'aiBasedQF',
          type: 'xsd:boolean',
          use: 'optional',
        },
      ],
    },
    {
      name: 'AtcTag',
      attribute: [
        {
          name: 'name',
          type: 'xsd:string',
        },
        {
          name: 'value',
          type: 'xsd:string',
        },
      ],
    },
    {
      name: 'AtcTags',
      sequence: {
        element: [
          {
            name: 'tag',
            type: 'atcfinding:AtcTag',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'AtcFinding',
      complexContent: {
        extension: {
          base: 'adtcore:AdtObjectReference',
          sequence: {
            element: [
              {
                ref: 'atom:link',
                minOccurs: '0',
                maxOccurs: 'unbounded',
              },
              {
                name: 'quickfixes',
                type: 'atcfinding:AtcQuickfixes',
              },
              {
                name: 'tags',
                type: 'atcfinding:AtcTags',
                minOccurs: '0',
                maxOccurs: '1',
              },
            ],
          },
          attribute: [
            {
              ref: 'atcfinding:location',
            },
            {
              ref: 'atcfinding:effectOnTransports',
              use: 'optional',
            },
            {
              ref: 'atcfinding:priority',
            },
            {
              ref: 'atcfinding:checkTitle',
            },
            {
              ref: 'atcfinding:checkId',
              use: 'optional',
            },
            {
              ref: 'atcfinding:messageTitle',
            },
            {
              ref: 'atcfinding:messageId',
              use: 'optional',
            },
            {
              ref: 'atcfinding:exemptionKind',
            },
            {
              ref: 'atcfinding:exemptionApproval',
            },
            {
              ref: 'atcfinding:noExemption',
            },
            {
              name: 'quickfixInfo',
              type: 'xsd:string',
              use: 'optional',
            },
            {
              name: 'contactPerson',
              type: 'xsd:string',
              use: 'optional',
            },
            {
              name: 'lastChangedBy',
              type: 'xsd:string',
              use: 'optional',
            },
            {
              name: 'processor',
              type: 'xsd:string',
              use: 'optional',
            },
            {
              name: 'checksum',
              type: 'xsd:int',
              use: 'optional',
            },
            {
              ref: 'atcfinding:remarkText',
              use: 'optional',
            },
            {
              ref: 'atcfinding:remarkLink',
              use: 'optional',
            },
          ],
        },
      },
    },
    {
      name: 'AtcFindingList',
      sequence: {
        element: [
          {
            name: 'finding',
            type: 'atcfinding:AtcFinding',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'AtcFindingReferences',
      sequence: {
        element: [
          {
            name: 'findingReference',
            type: 'atcfinding:AtcFindingReference',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'AtcFindingReference',
      complexContent: {
        extension: {
          base: 'adtcore:AdtObjectReference',
        },
      },
    },
    {
      name: 'AtcItems',
      sequence: {
        element: [
          {
            name: 'item',
            type: 'atcfinding:AtcItem',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'AtcItem',
      complexContent: {
        extension: {
          base: 'adtcore:AdtObjectReference',
          attribute: [
            {
              name: 'processor',
              type: 'xsd:string',
              use: 'optional',
            },
            {
              name: 'status',
              type: 'xsd:int',
              use: 'optional',
            },
            {
              name: 'remarkText',
              type: 'xsd:string',
              use: 'optional',
            },
            {
              name: 'remarkLink',
              type: 'xsd:string',
              use: 'optional',
            },
          ],
        },
      },
    },
    {
      name: 'AtcRemarks',
      sequence: {
        element: [
          {
            name: 'remark',
            type: 'atcfinding:AtcRemark',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'AtcRemark',
      complexContent: {
        extension: {
          base: 'adtcore:AdtObjectReference',
          attribute: [
            {
              name: 'remarkText',
              type: 'xsd:string',
              use: 'optional',
            },
            {
              name: 'remarkLink',
              type: 'xsd:string',
              use: 'optional',
            },
          ],
        },
      },
    },
  ],
  element: [
    {
      name: 'finding',
      type: 'atcfinding:AtcFinding',
    },
    {
      name: 'findingReferences',
      type: 'atcfinding:AtcFindingReferences',
    },
    {
      name: 'items',
      type: 'atcfinding:AtcItems',
    },
    {
      name: 'remarks',
      type: 'atcfinding:AtcRemarks',
    },
  ],
} as const;
