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

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

export default {
  $xmlns: {
    ecore: 'http://www.eclipse.org/emf/2002/Ecore',
    xsd: 'http://www.w3.org/2001/XMLSchema',
    atom: 'http://www.w3.org/2005/Atom',
    adtcore: 'http://www.sap.com/adt/core',
    chkrun: 'http://www.sap.com/adt/checkrun',
  },
  $imports: [
    atom,
    adtcore,
  ],
  targetNamespace: 'http://www.sap.com/adt/checkrun',
  attributeFormDefault: 'qualified',
  elementFormDefault: 'qualified',
  element: [
    {
      name: 'checkObjectList',
      type: 'chkrun:CheckObjectList',
    },
    {
      name: 'checkRunReports',
      type: 'chkrun:CheckReportList',
    },
    {
      name: 'checkReporters',
      type: 'chkrun:CheckReporterList',
    },
  ],
  complexType: [
    {
      name: 'CheckObjectList',
      sequence: {
        element: [
          {
            name: 'checkObject',
            type: 'chkrun:CheckObject',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'CheckObject',
      complexContent: {
        extension: {
          base: 'adtcore:AdtObjectReference',
          sequence: {
            element: [
              {
                name: 'artifacts',
                type: 'chkrun:CheckObjectArtifactList',
                minOccurs: '0',
                maxOccurs: 'unbounded',
              },
            ],
          },
          attribute: [
            {
              name: 'version',
              type: 'adtcore:AdtVersionEnum',
            },
          ],
        },
      },
    },
    {
      name: 'CheckObjectArtifactList',
      sequence: {
        element: [
          {
            name: 'artifact',
            type: 'chkrun:CheckObjectArtifact',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'CheckObjectArtifact',
      sequence: {
        element: [
          {
            name: 'content',
            type: 'xsd:base64Binary',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
      attribute: [
        {
          name: 'uri',
          type: 'xsd:string',
        },
        {
          name: 'contentType',
          type: 'xsd:string',
        },
      ],
    },
    {
      name: 'CheckReportList',
      sequence: {
        element: [
          {
            name: 'checkReport',
            type: 'chkrun:CheckReport',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'CheckReport',
      sequence: {
        element: [
          {
            name: 'checkMessageList',
            type: 'chkrun:CheckMessageList',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
      attribute: [
        {
          name: 'reporter',
          type: 'xsd:string',
        },
        {
          name: 'triggeringUri',
          type: 'xsd:anyURI',
        },
        {
          name: 'status',
          type: 'chkrun:StatusType',
        },
        {
          name: 'statusText',
          type: 'xsd:string',
        },
      ],
    },
    {
      name: 'CheckMessageList',
      sequence: {
        element: [
          {
            name: 'checkMessage',
            type: 'chkrun:CheckMessage',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'CheckMessage',
      sequence: {
        element: [
          {
            name: 't100Key',
            type: 'chkrun:T100Message',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'correctionHint',
            type: 'chkrun:CorrectionHint',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
          {
            ref: 'atom:link',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
      attribute: [
        {
          name: 'uri',
          type: 'xsd:anyURI',
        },
        {
          name: 'type',
          type: 'chkrun:CheckMessageType',
        },
        {
          name: 'shortText',
          type: 'xsd:string',
        },
        {
          name: 'category',
          type: 'xsd:string',
        },
        {
          name: 'code',
          type: 'xsd:string',
        },
      ],
    },
    {
      name: 'T100Message',
      attribute: [
        {
          name: 'msgno',
          type: 'xsd:integer',
        },
        {
          name: 'msgid',
          type: 'xsd:string',
        },
        {
          name: 'msgv1',
          type: 'xsd:string',
        },
        {
          name: 'msgv2',
          type: 'xsd:string',
        },
        {
          name: 'msgv3',
          type: 'xsd:string',
        },
        {
          name: 'msgv4',
          type: 'xsd:string',
        },
      ],
    },
    {
      name: 'CorrectionHint',
      attribute: [
        {
          name: 'number',
          type: 'xsd:integer',
        },
        {
          name: 'kind',
          type: 'xsd:string',
        },
        {
          name: 'line',
          type: 'xsd:integer',
        },
        {
          name: 'column',
          type: 'xsd:integer',
        },
        {
          name: 'word',
          type: 'xsd:string',
        },
      ],
    },
    {
      name: 'CheckReporterList',
      sequence: {
        element: [
          {
            name: 'reporter',
            type: 'chkrun:CheckReporter',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'CheckReporter',
      sequence: {
        element: [
          {
            name: 'supportedType',
            type: 'xsd:string',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
      attribute: [
        {
          name: 'name',
          type: 'xsd:string',
        },
      ],
    },
  ],
  simpleType: [
    {
      name: 'StatusType',
      restriction: {
        base: 'xsd:string',
        maxLength: [
          {
            value: '15',
          },
        ],
      },
    },
    {
      name: 'CheckMessageType',
      restriction: {
        base: 'xsd:string',
        maxLength: [
          {
            value: '1',
          },
        ],
        enumeration: [
          {
            value: 'S',
          },
          {
            value: 'I',
          },
          {
            value: 'W',
          },
          {
            value: 'B',
          },
          {
            value: 'E',
          },
          {
            value: 'C',
          },
          {
            value: '-',
          },
          {
            value: ' ',
          },
        ],
      },
    },
  ],
} as const;
