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

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

export default {
  $xmlns: {
    xs: 'http://www.w3.org/2001/XMLSchema',
    tm: 'http://www.sap.com/cts/adt/tm',
    atom: 'http://www.w3.org/2005/Atom',
    adtcore: 'http://www.sap.com/adt/core',
  },
  $imports: [
    atom,
    adtcore,
  ],
  targetNamespace: 'http://www.sap.com/cts/adt/tm',
  attributeFormDefault: 'qualified',
  elementFormDefault: 'qualified',
  element: [
    {
      name: 'root',
      type: 'tm:Root',
    },
  ],
  complexType: [
    {
      name: 'Root',
      complexContent: {
        extension: {
          base: 'adtcore:AdtObject',
          sequence: {
            element: [
              {
                name: 'request',
                type: 'tm:Request',
                minOccurs: '0',
                maxOccurs: '1',
              },
              {
                name: 'task',
                type: 'tm:Task',
                minOccurs: '0',
                maxOccurs: 'unbounded',
              },
            ],
          },
          attribute: [
            {
              name: 'object_type',
              type: 'xs:string',
            },
          ],
        },
      },
    },
    {
      name: 'Request',
      sequence: {
        element: [
          {
            name: 'long_desc',
            type: 'xs:string',
            minOccurs: '0',
          },
          {
            ref: 'atom:link',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
          {
            name: 'attributes',
            type: 'tm:Attributes',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
          {
            name: 'abap_object',
            type: 'tm:AbapObject',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
          {
            name: 'all_objects',
            type: 'tm:AllObjects',
            minOccurs: '0',
          },
          {
            name: 'task',
            type: 'tm:Task',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
          {
            name: 'review',
            type: 'tm:Review',
            minOccurs: '0',
          },
          {
            name: 'dynamic_attributes',
            type: 'tm:DynamicAttributes',
            minOccurs: '0',
          },
        ],
      },
      attribute: [
        {
          name: 'number',
          type: 'xs:string',
        },
        {
          name: 'owner',
          type: 'xs:string',
        },
        {
          name: 'desc',
          type: 'xs:string',
        },
        {
          name: 'status',
          type: 'xs:string',
        },
        {
          name: 'uri',
          type: 'xs:string',
        },
        {
          name: 'type',
          type: 'xs:string',
        },
        {
          name: 'status_text',
          type: 'xs:string',
        },
        {
          name: 'target',
          type: 'xs:string',
        },
        {
          name: 'target_desc',
          type: 'xs:string',
        },
        {
          name: 'source_client',
          type: 'xs:string',
        },
        {
          name: 'parent',
          type: 'xs:string',
        },
        {
          name: 'cts_project',
          type: 'xs:string',
        },
        {
          name: 'cts_project_desc',
          type: 'xs:string',
        },
        {
          name: 'lastchanged_timestamp',
          type: 'xs:string',
        },
        {
          name: 'docu',
          type: 'xs:string',
        },
      ],
    },
    {
      name: 'Task',
      sequence: {
        element: [
          {
            name: 'long_desc',
            type: 'xs:string',
            minOccurs: '0',
          },
          {
            ref: 'atom:link',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
          {
            name: 'abap_object',
            type: 'tm:AbapObject',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
      attribute: [
        {
          name: 'number',
          type: 'xs:string',
        },
        {
          name: 'owner',
          type: 'xs:string',
        },
        {
          name: 'desc',
          type: 'xs:string',
        },
        {
          name: 'status',
          type: 'xs:string',
        },
        {
          name: 'uri',
          type: 'xs:string',
        },
        {
          name: 'type',
          type: 'xs:string',
        },
        {
          name: 'status_text',
          type: 'xs:string',
        },
        {
          name: 'target',
          type: 'xs:string',
        },
        {
          name: 'target_desc',
          type: 'xs:string',
        },
        {
          name: 'source_client',
          type: 'xs:string',
        },
        {
          name: 'parent',
          type: 'xs:string',
        },
        {
          name: 'cts_project',
          type: 'xs:string',
        },
        {
          name: 'cts_project_desc',
          type: 'xs:string',
        },
        {
          name: 'lastchanged_timestamp',
          type: 'xs:string',
        },
        {
          name: 'docu',
          type: 'xs:string',
        },
      ],
    },
    {
      name: 'AbapObject',
      sequence: {
        element: [
          {
            ref: 'atom:link',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
      attribute: [
        {
          name: 'pgmid',
          type: 'xs:string',
        },
        {
          name: 'type',
          type: 'xs:string',
        },
        {
          name: 'name',
          type: 'xs:string',
        },
        {
          name: 'wbtype',
          type: 'xs:string',
        },
        {
          name: 'uri',
          type: 'xs:string',
        },
        {
          name: 'dummy_uri',
          type: 'xs:string',
        },
        {
          name: 'obj_info',
          type: 'xs:string',
        },
        {
          name: 'obj_desc',
          type: 'xs:string',
        },
        {
          name: 'lock_status',
          type: 'xs:string',
        },
        {
          name: 'position',
          type: 'xs:string',
        },
        {
          name: 'img_activity',
          type: 'xs:string',
        },
        {
          name: 'obj_func',
          type: 'xs:string',
        },
      ],
    },
    {
      name: 'AllObjects',
      sequence: {
        element: [
          {
            name: 'abap_object',
            type: 'tm:AbapObject',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'Attributes',
      attribute: [
        {
          name: 'attribute',
          type: 'xs:string',
        },
        {
          name: 'description',
          type: 'xs:string',
        },
        {
          name: 'value',
          type: 'xs:string',
        },
        {
          name: 'position',
          type: 'xs:string',
        },
      ],
    },
    {
      name: 'Review',
      attribute: [
        {
          name: 'repository_id',
          type: 'xs:string',
        },
        {
          name: 'repository_url',
          type: 'xs:string',
        },
        {
          name: 'repository_branch',
          type: 'xs:string',
        },
        {
          name: 'pull_request_url',
          type: 'xs:string',
        },
      ],
    },
    {
      name: 'DynamicAttributes',
      sequence: {
        element: [
          {
            name: 'dynamic_attribute',
            type: 'tm:DynamicAttribute',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'DynamicAttribute',
      sequence: {
        element: [
          {
            name: 'properties',
            type: 'tm:AttributeProperties',
            minOccurs: '0',
          },
        ],
      },
      attribute: [
        {
          name: 'attribute',
          type: 'xs:string',
        },
        {
          name: 'value',
          type: 'xs:string',
        },
        {
          name: 'description',
          type: 'xs:string',
        },
        {
          name: 'domain_name',
          type: 'xs:string',
        },
      ],
    },
    {
      name: 'AttributeProperties',
      sequence: {
        element: [
          {
            name: 'property',
            type: 'tm:AttributeProperty',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'AttributeProperty',
      attribute: [
        {
          name: 'key',
          type: 'xs:string',
        },
        {
          name: 'value',
          type: 'xs:string',
        },
      ],
    },
  ],
} as const;
