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

export default {
  $xmlns: {
    ecore: 'http://www.eclipse.org/emf/2002/Ecore',
    xsd: 'http://www.w3.org/2001/XMLSchema',
    exc: 'http://www.sap.com/abapxml/types/communicationframework',
  },
  targetNamespace: 'http://www.sap.com/abapxml/types/communicationframework',
  attributeFormDefault: 'unqualified',
  elementFormDefault: 'unqualified',
  element: [
    {
      name: 'exception',
      type: 'exc:Exception',
    },
  ],
  complexType: [
    {
      name: 'Exception',
      sequence: {
        element: [
          {
            name: 'namespace',
            type: 'exc:Namespace',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'type',
            type: 'exc:Type',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'message',
            type: 'exc:Message',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'localizedMessage',
            type: 'exc:Message',
            minOccurs: '0',
            maxOccurs: '1',
          },
          {
            name: 'properties',
            type: 'exc:Properties',
            minOccurs: '0',
            maxOccurs: '1',
          },
        ],
      },
    },
    {
      name: 'Namespace',
      attribute: [
        {
          name: 'id',
          type: 'xsd:string',
        },
      ],
    },
    {
      name: 'Type',
      attribute: [
        {
          name: 'id',
          type: 'xsd:string',
        },
      ],
    },
    {
      name: 'Message',
      simpleContent: {
        extension: {
          base: 'xsd:string',
          attribute: [
            {
              name: 'lang',
              type: 'xsd:string',
            },
          ],
        },
      },
    },
    {
      name: 'Properties',
      sequence: {
        element: [
          {
            name: 'entry',
            type: 'exc:Entry',
            minOccurs: '0',
            maxOccurs: 'unbounded',
          },
        ],
      },
    },
    {
      name: 'Entry',
      simpleContent: {
        extension: {
          base: 'xsd:string',
          attribute: [
            {
              name: 'key',
              type: 'xsd:string',
            },
          ],
        },
      },
    },
  ],
} as const;
