<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="ApplicationDefinitionWidgetInfoSet">
    <xs:annotation>
      <xs:documentation>Application definition widget info set</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="WidgetInfo" type="ApplicationDefinitionWidgetInfoType" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ApplicationDefinitionWidgetInfoType">
    <xs:sequence>
      <xs:element name="Type" type="xs:string"/>
      <xs:element name="LocalizedType" type="xs:string" minOccurs="0"/>
      <xs:element name="Description" type="xs:string" minOccurs="0"/>
      <xs:element name="Location" type="xs:string" minOccurs="0"/>
      <xs:element name="Label" type="xs:string" minOccurs="0"/>
      <xs:element name="Tooltip" type="xs:string" minOccurs="0"/>
      <xs:element name="StatusText" type="xs:string" minOccurs="0"/>
      <xs:element name="ImageUrl" type="xs:string" minOccurs="0"/>
      <xs:element name="ImageClass" type="xs:string" minOccurs="0"/>
      <xs:element name="StandardUi" type="xs:boolean" minOccurs="0"/>
      <xs:element name="ContainableBy" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="Parameter" type="ApplicationDefinitionWidgetParameterType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationDefinitionWidgetParameterType">
    <xs:sequence>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="Description" type="xs:string" minOccurs="0"/>
      <xs:element name="Type" type="xs:string" minOccurs="0"/>
      <xs:element name="Label" type="xs:string" minOccurs="0"/>
      <xs:element name="Min" type="xs:string" minOccurs="0"/>
      <xs:element name="Max" type="xs:string" minOccurs="0"/>
      <xs:element name="AllowedValue" type="AllowedValueType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="DefaultValue" type="xs:string" minOccurs="0"/>
      <xs:element name="IsMandatory" type="xs:boolean" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="AllowedValueType">
    <xs:sequence>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="Label" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ApplicationDefinitionContainerInfoSet">
    <xs:annotation>
      <xs:documentation>Application definition container info set</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ContainerInfo" type="ApplicationDefinitionContainerInfoType" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ApplicationDefinitionContainerInfoType">
    <xs:sequence>
      <xs:element name="Type" type="xs:string"/>
      <xs:element name="LocalizedType" type="xs:string" minOccurs="0"/>
      <xs:element name="Description" type="xs:string" minOccurs="0"/>
      <xs:element name="PreviewImageUrl" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ApplicationDefinitionTemplateInfoSet">
    <xs:annotation>
      <xs:documentation>Application definition template info set</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="TemplateInfo" type="ApplicationDefinitionTemplateInfoType" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ApplicationDefinitionTemplateInfoType">
    <xs:sequence>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="LocationUrl" type="xs:string"/>
      <xs:element name="Description" type="xs:string" minOccurs="0"/>
      <xs:element name="PreviewImageUrl" type="xs:string" minOccurs="0"/>
      <xs:element name="Panel" type="ApplicationDefinitionPanelType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ApplicationDefinitionPanelType">
    <xs:sequence>
      <xs:element name="Name" type="xs:string"/>
      <xs:element name="Label" type="xs:string" minOccurs="0"/>
      <xs:element name="Description" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>