<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wst.service.policy.ui">
<annotation>
      <appInfo>
         <meta.schema plugin="org.eclipse.wst.service.policy.ui" id="servicePolicyUI" name="Service policy UI"/>
      </appInfo>
      <documentation>
         This extension allows extenders to add service policy UI operations for the
         service policies that they have added.
      </documentation>
   </annotation>

   <element name="extension">
      <complexType>
         <sequence>
            <element ref="servicePolicyUI" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="point" type="string" use="required">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="id" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
            </annotation>
         </attribute>
         <attribute name="name" type="string">
            <annotation>
               <documentation>
                  
               </documentation>
               <appInfo>
                  <meta.attribute translatable="true"/>
               </appInfo>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="servicePolicyUI">
      <annotation>
         <documentation>
            This extension is intended for extenders who want to add UI operations to the Service policies that they have defined.
         </documentation>
      </annotation>
      <complexType>
         <choice>
            <element ref="operation" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="quickFix" minOccurs="0" maxOccurs="unbounded"/>
         </choice>
      </complexType>
   </element>

   <element name="descriptor">
      <annotation>
         <documentation>
            A descriptor for this Service policy operation or action.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="description" type="string">
            <annotation>
               <documentation>
                  A description of this service operation.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="shortName" type="string">
            <annotation>
               <documentation>
                  The short name of this service operation.  Note: if a short name is not specified it is defaulted to the value of the long name.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="longName" type="string">
            <annotation>
               <documentation>
                  The long name of this service operation.  Note: if a long name attribute is not specified it is defaulted to the shortName value.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="contextHelpId" type="string">
            <annotation>
               <documentation>
                  The context help id for this service operation if it is required.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="iconpath" type="string">
            <annotation>
               <documentation>
                  A plugin relative path to some icon file for this service operation.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="operation">
      <annotation>
         <documentation>
            Defines a Service policy operation.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="descriptor"/>
            <element ref="enabled" minOccurs="0" maxOccurs="1"/>
            <choice>
               <element ref="enumeration"/>
               <element ref="selection"/>
               <element ref="complex"/>
            </choice>
         </sequence>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  This unique id of this service operation.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="policyPattern" type="string" use="required">
            <annotation>
               <documentation>
                  The attribute specifies which service polices this operation is associated with.  Any Java regular expression may be specified.  This expression will be used to match the ids of all known service policy ids.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="workspaceOnly" type="boolean">
            <annotation>
               <documentation>
                  This attribute indicates if this operation is only to be used in the workspace preference page.  If this attribute is not specified it is defaulted to false.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="enumeration">
      <annotation>
         <documentation>
            This element defines the enumeration that this operation is associated with.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="id" type="string" use="required">
            <annotation>
               <documentation>
                  The id of this enumeration.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="defaultData" type="boolean" use="default" value="true">
            <annotation>
               <documentation>
                  Indicates if this enumeration operation should store it&apos;s persistent data as the default for the service policy.  A service policy can only have one default state data.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="selection">
      <annotation>
         <documentation>
            This element indicates that the service policy operation is associated with a some kind of UI boolean selection.  All service policies that are associated with this operation should use the org.eclipse.wst.service.policy.booleanEnum enumeration.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="icon" type="boolean">
            <annotation>
               <documentation>
                  This boolean attribute indicates that the boolean selection should be rendered via an icon.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="defaultData" type="boolean" use="default" value="true">
            <annotation>
               <documentation>
                  Indicates if this selection operation should store it&apos;s persistent data as the default for the service policy.  A service policy can only have one default state data.  This attribute is ignored if the icon attribute is set to true, since all icon attribute operation must store their data as default service policy data.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="complex">
      <annotation>
         <documentation>
            This element indicates that this operation is complex to render and persist.  The launchClass attribute can be used to launch a dialog to set more complex data.  The extender will need to call the service policy platform API to persist data on each policy as required.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="launchClass" type="string" use="required">
            <annotation>
               <documentation>
                  A class that can be used to launch a dialog.  The class specified must implement the ILaunchOperation interface.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="enabled">
      <annotation>
         <documentation>
            Indicates if this operation is enabled/grayed out or not in the UI.
         </documentation>
      </annotation>
      <complexType>
         <attribute name="enabledClass" type="string">
            <annotation>
               <documentation>
                  The class specified in the attribute much implement the IEnableOperation interface.  This class allows extenders to provide a more complex logic for when the operation should be enabled or not.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="multiselect" type="string">
            <annotation>
               <documentation>
                  Indicates if this operation allows multiple selection of policy objects or not.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="quickFix">
      <annotation>
         <documentation>
            This element allows extenders to add quick fixes to the Service policy UI frameworks.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="action" minOccurs="1" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="pluginId" type="string" use="required">
            <annotation>
               <documentation>
                  The plugin id that the enclosed quick fix actions apply to.  This is the id that will match the plugin id from the IStatus of a ServicePolicy object.
               </documentation>
            </annotation>
         </attribute>
         <attribute name="code" type="string" use="required">
            <annotation>
               <documentation>
                  The code that the enclosed quick fix actions apply to.  This is the code that will match the code from the IStatus of a ServicePolicy object.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <element name="action">
      <annotation>
         <documentation>
            The element is used to add a quick fix action.
         </documentation>
      </annotation>
      <complexType>
         <sequence>
            <element ref="descriptor"/>
         </sequence>
         <attribute name="class" type="string" use="required">
            <annotation>
               <documentation>
                  The class that the framework will call for a particular quick fix action.  This class must implement the IQuickFixAction interface.
               </documentation>
            </annotation>
         </attribute>
      </complexType>
   </element>

   <annotation>
      <appInfo>
         <meta.section type="since"/>
      </appInfo>
      <documentation>
         1.0
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="examples"/>
      </appInfo>
      <documentation>
         [Enter extension point usage example here.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="apiInfo"/>
      </appInfo>
      <documentation>
         [Enter API information here.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="implementation"/>
      </appInfo>
      <documentation>
         [Enter information about supplied implementation of this extension point.]
      </documentation>
   </annotation>

   <annotation>
      <appInfo>
         <meta.section type="copyright"/>
      </appInfo>
      <documentation>
         
      </documentation>
   </annotation>

</schema>
