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

import atom from './atom';

export default {
  $xmlns: {
    chkl: 'http://www.sap.com/abapxml/checklist',
    xsd: 'http://www.w3.org/2001/XMLSchema',
    ecore: 'http://www.eclipse.org/emf/2002/Ecore',
    atom: 'http://www.w3.org/2005/Atom',
  },
  $imports: [
    atom,
  ],
  targetNamespace: 'http://www.sap.com/abapxml/checklist',
  elementFormDefault: 'unqualified',
  element: [
    {
      name: 'messages',
      type: 'chkl:MessageList',
    },
  ],
  complexType: [
    {
      name: 'MessageList',
      sequence: {
        element: [
          {
            name: 'msg',
            type: 'chkl:Message',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
          {
            name: 'properties',
            type: 'chkl:Properties',
          },
        ],
      },
      attribute: [
        {
          name: 'forceSupported',
          type: 'xsd:boolean',
          use: 'optional',
        },
      ],
    },
    {
      name: 'Properties',
      attribute: [
        {
          name: 'checkExecuted',
          type: 'xsd:boolean',
          use: 'optional',
        },
        {
          name: 'activationExecuted',
          type: 'xsd:boolean',
          use: 'optional',
        },
        {
          name: 'generationExecuted',
          type: 'xsd:boolean',
          use: 'optional',
        },
      ],
    },
    {
      name: 'Message',
      sequence: {
        element: [
          {
            name: 'shortText',
            type: 'chkl:TextList',
          },
          {
            name: 'longText',
            type: 'chkl:TextList',
            minOccurs: '0',
          },
          {
            name: 't100Key',
            type: 'chkl:T100Message',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'correctionHint',
            type: 'chkl:CorrectionHint',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
          {
            ref: 'atom:link',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
      attribute: [
        {
          name: 'objDescr',
          type: 'xsd:string',
          use: 'required',
        },
        {
          name: 'type',
          type: 'chkl:MessageType',
          use: 'required',
        },
        {
          name: 'line',
          type: 'xsd:int',
          use: 'optional',
        },
        {
          name: 'offset',
          type: 'xsd:int',
          use: 'optional',
        },
        {
          name: 'href',
          type: 'xsd:anyURI',
          use: 'optional',
        },
        {
          name: 'forceSupported',
          type: 'xsd:boolean',
          use: 'optional',
        },
        {
          name: 'code',
          type: 'xsd:string',
          use: 'optional',
        },
      ],
    },
    {
      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: 'TextList',
      sequence: {
        element: [
          {
            name: 'txt',
            type: 'xsd:string',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
  ],
  simpleType: [
    {
      name: 'MessageType',
      restriction: {
        base: 'xsd:string',
        maxLength: [
          {
            value: '1',
          },
        ],
      },
    },
  ],
} as const;
