<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="org.eclipse.wst.service.policy.ui" xmlns="http://www.w3.org/2001/XMLSchema">
<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">
      <annotation>
         <appinfo>
            <meta.element />
         </appinfo>
      </annotation>
      <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>
         <attribute name="defaultdata" type="boolean" use="default" value="true">
            <annotation>
               <documentation>
                  
               </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="defaultItem" type="string">
            <annotation>
               <documentation>
                  Overrides the default set by the enumeration.
               </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="defaultItem" type="string">
            <annotation>
               <documentation>
                  Sets the default for this boolean selection the values can be either org.eclipse.wst.true or org.eclipse.wst.false.
               </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>


</schema>
