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

import atcinfo from './atcinfo';
import atcobject from './atcobject';
import atctagdescription from './atctagdescription';
import atc from './atc';

export default {
  $xmlns: {
    xsd: 'http://www.w3.org/2001/XMLSchema',
    ecore: 'http://www.eclipse.org/emf/2002/Ecore',
    atcinfo: 'http://www.sap.com/adt/atc/info',
    atcobject: 'http://www.sap.com/adt/atc/object',
    atctd: 'http://www.sap.com/adt/atc/tagdescription',
    atcworklist: 'http://www.sap.com/adt/atc/worklist',
    atc: 'http://www.sap.com/adt/atc',
  },
  $imports: [
    atcinfo,
    atcobject,
    atctagdescription,
    atc,
  ],
  targetNamespace: 'http://www.sap.com/adt/atc/worklist',
  attributeFormDefault: 'qualified',
  elementFormDefault: 'qualified',
  complexType: [
    {
      name: 'AtcWorklist',
      sequence: {
        element: [
          {
            name: 'objectSets',
            type: 'atcworklist:AtcObjectSetList',
          },
          {
            name: 'objects',
            type: 'atcobject:AtcObjectList',
          },
          {
            name: 'scaAttributes',
            type: 'atc:ScaAttributes',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            ref: 'atctd:descriptionTags',
          },
          {
            name: 'infos',
            type: 'atcinfo:AtcInfoList',
          },
        ],
      },
      attribute: [
        {
          name: 'id',
          type: 'xsd:string',
          use: 'required',
        },
        {
          name: 'timestamp',
          type: 'xsd:dateTime',
          use: 'required',
        },
        {
          name: 'usedObjectSet',
          type: 'xsd:string',
          use: 'optional',
        },
        {
          name: 'objectSetIsComplete',
          type: 'xsd:boolean',
          use: 'optional',
        },
      ],
    },
    {
      name: 'AtcWorklistRun',
      sequence: {
        element: [
          {
            name: 'worklistId',
            type: 'xsd:string',
          },
          {
            name: 'worklistTimestamp',
            type: 'xsd:dateTime',
          },
          {
            name: 'infos',
            type: 'atcinfo:AtcInfoList',
          },
        ],
      },
    },
    {
      name: 'AtcObjectSet',
      attribute: [
        {
          name: 'name',
          type: 'xsd:string',
        },
        {
          name: 'title',
          type: 'xsd:string',
        },
        {
          name: 'kind',
          type: 'xsd:string',
        },
      ],
    },
    {
      name: 'AtcObjectSetList',
      sequence: {
        element: [
          {
            name: 'objectSet',
            type: 'atcworklist:AtcObjectSet',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
  ],
  element: [
    {
      name: 'worklist',
      type: 'atcworklist:AtcWorklist',
    },
    {
      name: 'worklistRun',
      type: 'atcworklist:AtcWorklistRun',
    },
  ],
} as const;
